X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=data%2Frbot%2Fplugins%2Fsearch.rb;h=dc0c2ca9bb58419912ef91ac8bf6d327a232df7c;hb=22e6cefa54de681b131ecb97fc9383ff5e990dfe;hp=b2e950ecd544b81247e2f380dab041dfbaf125e8;hpb=787d368e9fb6bc0ed972d5825769d598d45d1ca4;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/search.rb b/data/rbot/plugins/search.rb index b2e950ec..dc0c2ca9 100644 --- a/data/rbot/plugins/search.rb +++ b/data/rbot/plugins/search.rb @@ -18,7 +18,8 @@ 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_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 @@ -191,11 +222,12 @@ end plugin = SearchPlugin.new -plugin.map "search *words", :action => 'google' -plugin.map "google *words", :action => 'google' -plugin.map "gcalc *words", :action => 'gcalc' -plugin.map "gdef *words", :action => 'gdef' -plugin.map "wp :lang *words", :action => 'wikipedia', :requirements => { :lang => /^\w\w\w?$/ } -plugin.map "wp *words", :action => 'wikipedia' -plugin.map "unpedia *words", :action => 'unpedia' +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 +plugin.map "wp *words", :action => 'wikipedia', :threaded => true +plugin.map "unpedia *words", :action => 'unpedia', :threaded => true