From c5405bf797fb5081fe4ddcb65945e6f12c6337f4 Mon Sep 17 00:00:00 2001 From: Casey Link Date: Tue, 1 Jul 2008 00:05:22 -0400 Subject: search plugin: added a gcount function to return the number of results in a google query --- data/rbot/plugins/search.rb | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'data/rbot/plugins/search.rb') 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 -- cgit v1.2.3