summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/rbot/plugins/dict.rb15
1 files changed, 10 insertions, 5 deletions
diff --git a/data/rbot/plugins/dict.rb b/data/rbot/plugins/dict.rb
index c9bfabaf..13c15b71 100644
--- a/data/rbot/plugins/dict.rb
+++ b/data/rbot/plugins/dict.rb
@@ -141,15 +141,20 @@ class DictPlugin < Plugin
url << "?view=uk"
end
h = @bot.httputil.get(url, :max_redir => 5)
- if h and h.match(/<h2>#{word}<\/h2>(.*)Perform/m)
- m.reply("#{word} : #{url}") unless justcheck
- defn = $1
+ if h
+ defs = h.split("<span class=\"definition\">")
+ defs = defs[1..-1].map {|d| d.split("</span>")[0]}
+ if defs.size == 0
+ return false if justcheck
+ m.reply "#{word} not found"
+ return false
+ end
+ m.reply("#{word}: #{url}") unless justcheck
+ defn = defs[0]
m.reply("#{Bold}%s#{Bold}: %s" % [word, defn.ircify_html(:nbsp => :space)], :overlong => :truncate)
return true
end
}
- return false if justcheck
- m.reply "#{word} not found"
end
def is_british?(word)