X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=data%2Frbot%2Fplugins%2Furl.rb;h=e1c9b47396e3bd2a782f47197c4fa64d38af54a9;hb=24bb60775741d3731400f1e430ef6bf3a2e1b933;hp=9cd73736c06166b13eb838729d59cb3f22cfd3ad;hpb=30a021e7af0d9abf50df40acc0ab021880b872e9;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/url.rb b/data/rbot/plugins/url.rb index 9cd73736..e1c9b473 100644 --- a/data/rbot/plugins/url.rb +++ b/data/rbot/plugins/url.rb @@ -57,8 +57,19 @@ class UrlPlugin < Plugin url = uri_str.kind_of?(URI) ? uri_str : URI.parse(uri_str) return if url.scheme !~ /https?/ - if url.host =~ @no_info_hosts - return "Sorry, info retrieval for #{url.host} is disabled" + # also check the ip, the canonical name and the aliases + begin + checks = TCPSocket.gethostbyname(url.host) + checks.delete_at(-2) + rescue => e + return "Unable to retrieve info for #{url.host}: #{e.message}" + end + + checks << url.host + checks.flatten! + + unless checks.grep(@no_info_hosts).empty? + return "Sorry, info retrieval for #{url.host} (#{checks.first}) is disabled" end logopts = opts.dup @@ -129,12 +140,17 @@ class UrlPlugin < Plugin debug "Title #{title ? '' : 'not '} found" reply = "#{LINK_INFO} #{title}" if title rescue => e + if e.message =~ /\(404 - Not Found\)/i + # see if we failed to find the thing because of trailing punctuation + # but check that we still have 'something' in the URL + retry if urlstr.chop! and urlstr =~ /^https?:\/\/./ + end reply = "Error #{e.message}" end if display_info > urls_displayed if reply - m.reply(reply, :overlong => :truncate) + m.plainreply(reply, :overlong => :truncate) urls_displayed += 1 end end