class Moneypenny::Responders::Wikipedia
Public Class Methods
help()
click to toggle source
# File lib/moneypenny/responders/wikipedia.rb, line 8 def self.help [ 'what is Soap?', 'returns Wikipedia description for Soap' ] end
respond(message)
click to toggle source
# File lib/moneypenny/responders/wikipedia.rb, line 12 def self.respond(message) if (query = message.match(/\Awhat\ is\ (.+)(\?|)\z/i)) query = query[1] agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1' response = open("http://en.wikipedia.org/w/api.php?action=opensearch&search=#{CGI::escape query}&format=xml&limit=1", 'User-Agent' => agent).read description = response.match(/\<Description\ xml\:space\=\"preserve\"\>(.+)\<\/Description\>/m)[1] rescue nil url = response.match(/\<Url\ xml\:space\=\"preserve\"\>(.+)\<\/Url\>/m)[1] rescue nil if description description + " (#{url})" else "I couldn't find any information on #{query}." end else false end end