Results 1<\/b> - 10<\/b> of about (.*)<\/b> for}
GOOGLE_DEF_RESULT = %r{ (Web definitions for .*?)
(.*?)
(.*?)\s-\s+ => use the google calculator to find the answer to "
when "gdef"
"gdef => use the google define mechanism to find a definition of "
+ when "gtime"
+ "gtime => use the google clock to find the current time at "
when "wp"
"wp [] => search for on Wikipedia. You can select a national to only search the national Wikipedia"
when "unpedia"
@@ -70,10 +73,11 @@ class SearchPlugin < Plugin
url = GOOGLE_WAP_SEARCH + site + searchfor
hits = params[:hits] || @bot.config['google.hits']
+ hits = 1 if params[:lucky]
first_pars = params[:firstpar] || @bot.config['google.first_par']
- single = (hits == 1 and first_pars == 1)
+ single = params[:lucky] || (hits == 1 and first_pars == 1)
begin
wml = @bot.httputil.get(url)
@@ -89,16 +93,21 @@ class SearchPlugin < Plugin
end
single ||= (results.length==1)
urls = Array.new
+ n = 0
results = results[0...hits].map { |res|
- n = res[0]
+ n += 1
t = Utils.decode_html_entities res[2].gsub(filter, '').strip
- u = URI.unescape res[1]
+ u = URI.unescape(res[0] || res[1])
urls.push(u)
- single ? u : "#{n}. #{Bold}#{t}#{Bold}: #{u}"
+ "%{n}%{b}%{t}%{b}%{sep}%{u}" % {
+ :n => (single ? "" : "#{n}. "),
+ :sep => (single ? " -- " : ": "),
+ :b => Bold, :t => t, :u => u
+ }
}.join(" | ")
if params[:lucky]
- m.reply urls.first
+ m.reply results.first
return
end
@@ -230,7 +239,7 @@ class SearchPlugin < Plugin
return google(m, params)
end
- def time(m, params)
+ def gtime(m, params)
where = params[:words].to_s
where.sub!(/^\s*in\s*/, '')
searchfor = CGI.escape("time in " + where)
@@ -265,8 +274,8 @@ 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 "gtime *words", :action => 'gtime', :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
-plugin.map "time *words", :action => 'time', :threaded => true