43 lines
1.3 KiB
Lua
43 lines
1.3 KiB
Lua
do
|
|
|
|
function where_is_ip(msg, domain)
|
|
local receiver = get_receiver(msg)
|
|
ip = domain
|
|
local res,code = http.request("http://freegeoip.net/json/" .. ip)
|
|
if code ~= 200 then return "HTTP ERROR" end
|
|
local data = json:decode(res)
|
|
local location = data.country_code .. ":" .. data.country_name .. " - " .. data.city
|
|
if data.region_name ~= "" then
|
|
location = location .. " (" .. data.region_name .. ")"
|
|
end
|
|
message = data.ip .. " -> " .. location
|
|
return send_msg(receiver, message, ok_cb, false)
|
|
end
|
|
end
|
|
|
|
function run(msg,matches)
|
|
local receiver = get_receiver(msg)
|
|
if matches[1] == "/whereisip" or matches[1] == "/ip" then
|
|
message = "How to use:\n" .. matches[1] .. " nasa.gov\n"
|
|
send_msg(receiver, message, ok_cb, false)
|
|
return false
|
|
else --~ matches[1] should be IP or domain
|
|
vardump(matches)
|
|
print (where_is_ip(msg,matches[1]))
|
|
end
|
|
end
|
|
|
|
return {
|
|
description = "Send the origin of an IP or domain",
|
|
usage = {"/ip (ip): Send the origin of an IP.",
|
|
"/ip (domain.com) Looks for his IP origin.",
|
|
"You can find your ip in: http://lorenzomoreno.es/myip Credits: @rutrus"
|
|
},
|
|
patterns = {
|
|
"^/whereisip$",
|
|
"^/ip$",
|
|
"^/whereisip ([%w.:]*)",
|
|
"^!/ip ([%w.:]*)$"
|
|
},
|
|
run = run
|
|
} |