class Robut::Plugin::Wikipedia
Constants
- WIKI_REGEX
Public Instance Methods
handle(time, sender_nick, message)
click to toggle source
# File lib/robut-wikipedia.rb, line 15 def handle(time, sender_nick, message) return unless sent_to_me?(message) request = words(message).join(" ") if match = request.match(WIKI_REGEX) process_response_for(match[1]) end end
process_response_for(query)
click to toggle source
# File lib/robut-wikipedia.rb, line 25 def process_response_for(query) page_slug = query.strip.gsub(/\s/, "_") page = ::Wikipedia.find(page_slug) content = page.content if content.nil? reply("Couldn't find a page for: '#{page_slug}'") return end doc = Nokogiri::HTML(page.sanitized_content) reply("Wikipedia result for '#{page.title}'") reply(doc.search('p:first-child').text) if image = page.image_urls.first reply(image) end end
usage()
click to toggle source
# File lib/robut-wikipedia.rb, line 9 def usage [ "#{at_nick} wiki [page-slug]" ] end