X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=data%2Frbot%2Fplugins%2Fsearch.rb;h=542f7cba2ec2306494eb1a24725b32dfcd9f8611;hb=16336b4a240a4265d1f2df1e30d7b68d3a924287;hp=dc0c2ca9bb58419912ef91ac8bf6d327a232df7c;hpb=c5405bf797fb5081fe4ddcb65945e6f12c6337f4;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/search.rb b/data/rbot/plugins/search.rb index dc0c2ca9..542f7cba 100644 --- a/data/rbot/plugins/search.rb +++ b/data/rbot/plugins/search.rb @@ -96,6 +96,11 @@ class SearchPlugin < Plugin single ? u : "#{n}. #{Bold}#{t}#{Bold}: #{u}" }.join(" | ") + if params[:lucky] + m.reply urls.first + return + end + # If we return a single, full result, change the output to a more compact representation if single m.reply "Result for %s: %s -- %s" % [what, results, Utils.get_first_pars(urls, first_pars)], :overlong => :truncate @@ -110,10 +115,15 @@ class SearchPlugin < Plugin end + def lucky(m, params) + params.merge!(:lucky => true) + google(m, params) + end + def gcalc(m, params) what = params[:words].to_s searchfor = CGI.escape(what) - + debug "Getting gcalc thing: #{searchfor.inspect}" url = GOOGLE_SEARCH + searchfor @@ -125,24 +135,24 @@ class SearchPlugin < Plugin end debug "#{html.size} bytes of html recieved" - + results = html.scan(GOOGLE_CALC_RESULT) debug "results: #{results.inspect}" - + if results.length != 1 m.reply "couldn't calculate #{what}" return end - + result = results[0][0].ircify_html debug "replying with: #{result.inspect}" m.reply "#{result}" end - + def gcount(m, params) what = params[:words].to_s searchfor = CGI.escape(what) - + debug "Getting gcount thing: #{searchfor.inspect}" url = GOOGLE_SEARCH + searchfor @@ -154,15 +164,15 @@ class SearchPlugin < Plugin 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}" @@ -172,7 +182,7 @@ class SearchPlugin < Plugin def gdef(m, params) what = params[:words].to_s searchfor = CGI.escape("define " + what) - + debug "Getting gdef thing: #{searchfor.inspect}" url = GOOGLE_WAP_SEARCH + searchfor @@ -186,12 +196,12 @@ class SearchPlugin < Plugin debug html results = html.scan(GOOGLE_DEF_RESULT) debug "results: #{results.inspect}" - + if results.length != 1 m.reply "couldn't find a definition for #{what} on Google" return end - + head = results[0][0].ircify_html text = results[0][1].ircify_html link = results[0][2] @@ -224,7 +234,8 @@ 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 "lucky *words", :action => 'lucky', :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