class Ruboty::Handlers::Bokete
Constants
- AVAILABLE_MODES
- CACHE_EXPIRE
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/ruboty/handlers/bokete.rb, line 13 def initialize(*args) super(*args) @client = Ruboty::Bokete::Client.new end
Public Instance Methods
bokete(message)
click to toggle source
# File lib/ruboty/handlers/bokete.rb, line 19 def bokete(message) mode = message[:mode] unless AVAILABLE_MODES.include?(mode) message.reply("Usage: [#{AVAILABLE_MODES.join('|')}]") return end cache_updated = brain['cache_updated'].to_i if !brain[mode] || cache_updated + CACHE_EXPIRE < Time.now.to_i results = @client.get(mode) brain[mode] = results.to_json brain['cache_updated'] = Time.now.to_i end result = JSON.parse(brain[mode]).sample message.reply((result['url'].start_with?('//') ? 'http:' + result['url'] : result['url']) + "\n" + result['boke']) end
brain()
click to toggle source
# File lib/ruboty/handlers/bokete.rb, line 39 def brain robot.brain.data[Ruboty::Bokete::NAMESPACE] ||= {} end