Sha256: b39bd2e2da0a731dacc77b3834681138036d4c80df81dd2c22325293677b763f
Contents?: true
Size: 860 Bytes
Versions: 2
Compression:
Stored size: 860 Bytes
Contents
require 'open-uri' require 'nokogiri' require 'cgi' module Cinch module Plugins class Google include Cinch::Plugin match /g (.+)/ set :plugin_name, 'google' set :help, <<EOT Google returns the first google match on a search .g <keywords> : searches on those keywords EOT def new(bot) @bot = bot end def search(query) url = "http://www.google.com/search?q=#{CGI.escape(query)}" res = Nokogiri::HTML(open(url)).at("h3.r") title = res.text link = res.at('a')[:href] link.gsub!(/^.*q=(.*)&sa.*$/) { $1 } desc = res.at("./following::div").children.first.text CGI.unescape_html "#{title} - #{desc} (#{link})" rescue "No results found" end def execute(m, query) m.reply(search(query)) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cogbot-0.0.3 | plugins/google.rb |
cogbot-0.0.2 | plugins/google.rb |