X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=data%2Frbot%2Fplugins%2Fsearch.rb;h=dc0c2ca9bb58419912ef91ac8bf6d327a232df7c;hb=449b8416775bd44f1d13c7e8414932fa8b18eecb;hp=b0decd518cfafd9cc931dc361401eb627deedd4f;hpb=62f5460b315213fe6e1d738a3dbc5ffbb7d6ce87;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/search.rb b/data/rbot/plugins/search.rb index b0decd51..dc0c2ca9 100644 --- a/data/rbot/plugins/search.rb +++ b/data/rbot/plugins/search.rb @@ -19,6 +19,7 @@ GOOGLE_SEARCH = "http://www.google.com/search?oe=UTF-8&q=" GOOGLE_WAP_SEARCH = "http://www.google.com/wml/search?hl=en&q=" GOOGLE_WAP_LINK = /(.*?)<\/a>/im GOOGLE_CALC_RESULT = %r{ (?:

)?(.+)(?:

)?} +GOOGLE_COUNT_RESULT = %r{Results 1<\/b> - 10<\/b> of about (.*)<\/b> for} GOOGLE_DEF_RESULT = %r{

(Web definitions for .*?)
(.*?)
(.*?)\s-\s+
e + m.reply "error googlecounting #{what}" + return + end + + debug "#{html.size} bytes of html recieved" + + results = html.scan(GOOGLE_COUNT_RESULT) + debug "results: #{results.inspect}" + + if results.length != 1 + m.reply "couldn't count #{what}" + return + end + + result = results[0][0].ircify_html + debug "replying with: #{result.inspect}" + m.reply "total results: #{result}" + + end def gdef(m, params) what = params[:words].to_s @@ -193,6 +224,7 @@ plugin = SearchPlugin.new plugin.map "search *words", :action => 'google', :threaded => true plugin.map "google *words", :action => 'google', :threaded => true +plugin.map "gcount *words", :action => 'gcount', :threaded => true plugin.map "gcalc *words", :action => 'gcalc', :threaded => true plugin.map "gdef *words", :action => 'gdef', :threaded => true plugin.map "wp :lang *words", :action => 'wikipedia', :requirements => { :lang => /^\w\w\w?$/ }, :threaded => true