Botsy is a Campfire chat bot similar to evilbot but a bit more generic and written in Ruby. I love the idea, so I made my own to report coffee times in our chat room.
# respond to simple things
Botsy::Bot.new(subdomain, token, room_id) do
hear(/john/) do
say 'who said my name?'
end
end
# always have someone to have your back
Botsy::Bot.new(subdomain, token, room_id) do
hear(/^i love/i) do |data|
say "#{data[:body]} too!"
end
end
# have somone to share with
Botsy::Bot.new(subdomain, token, room_id) do
hear(/^botsy you are so (.+)/) do |data, mdata|
say "i think you are #{mdata[1]} too"
end
end
data[:room_id] # the room the message is from
data[:created_at] # a string representation of the date the message was sent
data[:body] # the body of the message that matched
data[:id] # a unique id for this message
data[:user_id] # the user id of the person who sent the message
data[:type] # the type of message: TextMessage, SoundMessage, PasteMessage, etc
That's all there is to it!