require 'rubygems' require 'hpricot' require 'open-uri' class QdbPlugin < Plugin def help(plugin, topic="") "qdb => fetch qdb quote by id" end def retrieve(m) request = m.params url = "http://www.qdb.us/#{request}" begin doc = Hpricot(open(url)) quote = (doc/"table[@class='quote']/tr[2]/td[1]/p").text.split("\n") if quote.size <= 5 quote.each {|line| m.reply line } else m.reply "quote too long (%s lines), see for yerself: %s" % [quote.size, url] end rescue => e m.reply "Fail" end end def privmsg(m) retrieve(m) end end plugin = QdbPlugin.new plugin.map "qdb *request", :action => 'retrieve'