summaryrefslogtreecommitdiff
path: root/data/rbot/plugins/geoip.rb
diff options
context:
space:
mode:
Diffstat (limited to 'data/rbot/plugins/geoip.rb')
-rw-r--r--data/rbot/plugins/geoip.rb20
1 files changed, 10 insertions, 10 deletions
diff --git a/data/rbot/plugins/geoip.rb b/data/rbot/plugins/geoip.rb
index 8c5e44a4..48391a10 100644
--- a/data/rbot/plugins/geoip.rb
+++ b/data/rbot/plugins/geoip.rb
@@ -20,7 +20,7 @@ module ::GeoIP
hostname =~ Resolv::IPv4::Regex && (hostname.split(".").map { |e| e.to_i }.max <= 255)
end
- def self.geoiptool(ip)
+ def self.geoiptool(bot, ip)
url = "http://www.geoiptool.com/en/?IP="
regexes = {
:country => %r{Country:.*?<a href=".*?" target="_blank"> (.*?)</a>}m,
@@ -30,7 +30,7 @@ module ::GeoIP
:lon => %r{Longitude:.*?<td align="left" class="arial_bold">(.*?)</td>}m
}
res = {}
- raw = Irc::Utils.bot.httputil.get_response(url+ip)
+ raw = bot.httputil.get_response(url+ip)
raw = raw.decompress_body(raw.raw_body)
regexes.each { |key, regex| res[key] = raw.scan(regex).join('') }
@@ -40,8 +40,8 @@ module ::GeoIP
IPINFODB_URL = "http://api.ipinfodb.com/v2/ip_query.php?key=%{key}&ip=%{ip}"
- def self.ipinfodb(ip)
- key = Irc::Utils.bot.config['geoip.ipinfodb_key']
+ def self.ipinfodb(bot, ip)
+ key = bot.config['geoip.ipinfodb_key']
return if not key or key.empty?
url = IPINFODB_URL % {
:ip => ip,
@@ -49,7 +49,7 @@ module ::GeoIP
}
debug "Requesting #{url}"
- xml = Irc::Utils.bot.httputil.get(url)
+ xml = bot.httputil.get(url)
if xml
obj = REXML::Document.new(xml)
@@ -67,11 +67,11 @@ module ::GeoIP
end
JUMP_TABLE = {
- "ipinfodb" => Proc.new { |ip| ipinfodb(ip) },
- "geoiptool" => Proc.new { |ip| geoiptool(ip) },
+ "ipinfodb" => Proc.new { |bot, ip| ipinfodb(bot, ip) },
+ "geoiptool" => Proc.new { |bot, ip| geoiptool(bot, ip) },
}
- def self.resolve(hostname, api)
+ def self.resolve(bot, hostname, api)
raise InvalidHostError unless valid_host?(hostname)
begin
@@ -82,7 +82,7 @@ module ::GeoIP
raise BadAPIError unless JUMP_TABLE.key?(api)
- return JUMP_TABLE[api].call(ip)
+ return JUMP_TABLE[api].call(bot, ip)
end
end
@@ -179,7 +179,7 @@ class GeoIpPlugin < Plugin
begin
apis = @bot.config['geoip.sources']
apis.compact.each { |api|
- geo = GeoIP::resolve(host, api)
+ geo = GeoIP::resolve(@bot, host, api)
if geo and geo[:country] != ""
break
end