From f943d63098a50746f4e470e403a991a4d9713030 Mon Sep 17 00:00:00 2001 From: jesopo Date: Tue, 29 Mar 2016 12:56:58 +0100 Subject: first commit. --- modules/geoip.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 modules/geoip.py (limited to 'modules/geoip.py') diff --git a/modules/geoip.py b/modules/geoip.py new file mode 100644 index 00000000..a3c5db2d --- /dev/null +++ b/modules/geoip.py @@ -0,0 +1,30 @@ +import Utils + +URL_GEOIP = "http://ip-api.com/json/%s" + +class Module(object): + _name = "GeoIP" + def __init__(self, bot): + bot.events.on("received").on("command").on("geoip").hook( + self.geoip, min_args=1, + help="Get geoip data on a given IPv4/IPv6 address") + + def geoip(self, event): + page = Utils.get_url(URL_GEOIP % event["args_split"][0], + json=True) + if page: + if page["status"] == "success": + data = page["query"] + data += " | Organisation: %s" % page["org"] + data += " | City: %s" % page["city"] + data += " | Region: %s (%s)" % (page["regionName"], + page["countryCode"]) + data += " | ISP: %s" % page["isp"] + data += " | Lon/Lat: %s/%s" % (page["lon"], + page["lat"]) + data += " | Timezone: %s" % page["timezone"] + event["stdout"].write(data) + else: + event["stderr"].write("No geoip data found") + else: + event["stderr"].write("Failed to load results") -- cgit v1.3.1-10-gc9f91