Easily create simple regex powered Jabber Multi Users Chat bots.
This bot has been forked from Brett Stimmerman’s Jabber::Bot. The purpose is to create an even simpler MUC bot. It will be able to join a room and execute public command.
Jabber::MUCBot makes it simple to create and command your own Jabber MUC bot. Bots are created by defining commands powered by regular expressions and Ruby.
- Author
-
Brett Stimmerman (brettstimmerman@gmail.com)
- Author
-
Vivien Didelot (vivien.didelot@gmail.com)
- Version
-
0.0.1
- Copyright
-
Copyright © 2009 Brett Stimmerman. All rights reserved.
- License
-
New BSD License (opensource.org/licenses/bsd-license.php)
- Website
-
rubygems
-
xmpp4r
require 'rubygems' require 'jabber/mucbot' # Create a public Jabber::MUCBot config = { :nick => 'bot', :password => 'secret', :server => 'example.org', :room => 'room', :roompasswd => '' } bot = Jabber::MUCBot.new(config) # Give your bot a command, 'rand' bot.add_command(/^rand$/) { rand(10).to_s } # Give your bot a command, 'puts <string>' bot.add_command(/^puts\s+.+$/) do |sender, message| puts "#{sender} says '#{message}'" "'#{message}' written to $stdout" end # Add a custome welcome message bot.welcome { |guy| "Hello #{guy}!" } # Bring your new bot to life bot.join
All that can be done faster with the class method start
.
Jabber::MUCBot.start config do |bot| bot.on(/^rand$/) { rand(10).to_s } bot.on(/^puts\s+.+$/) do |sender, message| puts "#{sender} says '#{message}'" "'#{message}' written to $stdout" end bot.welcome { |guy| "Hello #{guy}!" } end