From 4911de2a2b6bc373ef7d5e73f34a14133c07b5e5 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Sat, 14 Oct 2006 14:00:06 +0000 Subject: Add Wikipedia searching to the search plugin --- data/rbot/plugins/search.rb | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'data') diff --git a/data/rbot/plugins/search.rb b/data/rbot/plugins/search.rb index 8118b263..c44100b1 100644 --- a/data/rbot/plugins/search.rb +++ b/data/rbot/plugins/search.rb @@ -6,14 +6,28 @@ GOOGLE_WAP_LINK = /(.*?)<\/a>/im class SearchPlugin < Plugin def help(plugin, topic="") + case topic + when "search" + "search => search google for " + when "google" "google => search google for " + when "wp" + "wp [] => search for on Wikipedia. You can select a national to only search the national Wikipedia" + else + "search (or: google ) => search google for | wp => search for on Wikipedia" + end end def google(m, params) what = params[:words].to_s searchfor = URI.escape what + if params[:site] + site = "site:#{params[:site]}+" + else + site = "" + end - url = "http://www.google.com/wml/search?q=#{searchfor}" + url = "http://www.google.com/wml/search?q=#{site}#{searchfor}" begin @@ -33,10 +47,19 @@ class SearchPlugin < Plugin m.reply "Results for #{what}: #{results}" end + + def wikipedia(m, params) + lang = params[:lang] + site = "#{lang.nil? ? '' : lang + '.'}wikipedia.org" + params[:site] = site + return google(m, params) + end end plugin = SearchPlugin.new plugin.map "search *words", :action => 'google' plugin.map "google *words", :action => 'google' +plugin.map "wp :lang *words", :action => 'wikipedia', :requirements => { :lang => /^\w\w\w?$/ } +plugin.map "wp *words", :action => 'wikipedia' -- cgit v1.2.3