The calendar is gone.
Click here to view posts


Becker says with xmpp4r
becker = BeckerSpeaks.new
becker.speaks_with("rubytalk@gmail.com",__RUBYTALKPASS__)
becker.accepts_all_listeners!
becker.says("sbeckeriv@gmail.com","on")
I saw the gem xmpp4r-simple some where recently and thought back to the days of raimbo. I made a ruby script that was a google bot and did some other cute little functions. Thankfully that code is lost to the ages. The good news is that XMPP is the new hotness. Thats really good cause the raimbo lib does not work any more.

There is a nice library called xmpp4r-simple. I found lots of create examples of using this and using this with googletalk. For some reason I could not get it to connect to gmail. So I looked in to the underlying lib xmpp4r. After getting it to work with googletalk I started making BeckerSpeaks. The key to getting xmpp4r to work with gmail/googletalk was passing in "talk.google.com" when calling connect on the jabber client. This is also in the comments of another website. I did not find the site in time.

I have a few ideas for bots. 1) create a bot that informs me when a new url is tagged with ruby in delicious.com . 2) A bot that lets me know when a new thread is started on ruby talk 2) a library that sends me stacktraces from rails 2) A bot that does tasks 2) One that sends me an IM when I break a build 2) woot off bot 2) some kind of annoying bot to nag me about things. Lots of bots that kinda all do the same things. Just different conditions.

Xmpp4r jabber bots
I have started work on a jabber bot using xmpp4r and eventmachine. Its not much of a bot yet. Its more of a queuing system. People can subscribe to different queues ran off the same bot. For example rubytalk@gmail.com us currently sending out the new links in delicious tagged with ruby or rails. Invite rubytalk@gmail.com to chat and type show queues. Then type join:#{queue name} EX join:ruby rss. You get a little welcome message letting you know everything is ok. To leave the queue type leave:#{name}.

There is lots of work to do. I have the message manager creating and sending messages pretty well. I am unsure how I to flexibly handle user input. I think there is a way to centralize some of the standard logic and still allow users to easily add in new functionality. My main running script is about 100 lines and 50 of which are for parsing input.

Things to add: A member object and logic around members, input to the queues, more types of queues, help menu system, configuration, queue member persistence. I hope to put my code some where soon. Until then if rubytalk@gmail.com is on-line send them a message.

Update: You can now translate words, latin:forever or italian:hello. I support Latin, Italian, Spanish, French, German and Portuguese. The dictionaries are kinda limited but the price was right. The Internet Dictionary Project is where I got the files.