Erin's been working on a Campfire bot for us; one of our major problems is getting everyone on the team to use Campfire consistently, so her bot notices when people are absent and then tracks them down on AIM and yells at them with a link. The AIM part was pretty trivial; she's using the (horrible) TOC libraries that come with Ruby.
Also, Rails interfaces best by way of the database. You can write Rails apps without ActiveRecord, but you lose a lot of the integration that makes Rails nice to use. Scaling database writes from an IM bot can get tricky. On a dare a few weeks ago, I wrote an async MySQL driver for EventMachine --- you can drive an arbitrary number of queries to an arbitrary number of MySQL servers from a single thread. EventMachine + Async MySQL + Async AIM/TOC = arbitrarily scalable IM driven Rails app.
Two things:
Erin's been working on a Campfire bot for us; one of our major problems is getting everyone on the team to use Campfire consistently, so her bot notices when people are absent and then tracks them down on AIM and yells at them with a link. The AIM part was pretty trivial; she's using the (horrible) TOC libraries that come with Ruby.
Also, Rails interfaces best by way of the database. You can write Rails apps without ActiveRecord, but you lose a lot of the integration that makes Rails nice to use. Scaling database writes from an IM bot can get tricky. On a dare a few weeks ago, I wrote an async MySQL driver for EventMachine --- you can drive an arbitrary number of queries to an arbitrary number of MySQL servers from a single thread. EventMachine + Async MySQL + Async AIM/TOC = arbitrarily scalable IM driven Rails app.
http://github.com/tqbf/asymy/tree/master
It needs some love.