Skip to content

Instantly share code, notes, and snippets.

@robyurkowski
Created October 5, 2011 00:21
Show Gist options
  • Save robyurkowski/1263243 to your computer and use it in GitHub Desktop.
Save robyurkowski/1263243 to your computer and use it in GitHub Desktop.
class OfflineMessages < IRCClient
def initialize
add_hook(:join) { |m| send_message( m[:user] ) }
add_hook(:command) { |m| route m[:target], m[:user], m[:command] }
end
def route(target, user, command)
if /\Atell/i.match user command
save_message(user, command)
end
end
def send_message(username)
@messages = ::Message.where(username: username)
if @messages
@messages.each do |message|
say username, "#{message.username} asked me to tell you: #{message.body} - at #{message.created_at}"
end
end
end
def save_message(username, message)
@message = ::Message.create(username: username, body: message)
end
end
plugin = OfflineMessages.new
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment