-
Chad Granum
OpenSourcery Alumnus
Recently I started work on a new chat/im application in my spare time. I recently decided to work on it as my bench project here at OpenSourcery. I know there are a lot of IM and IRC clients out there, and many are quite good. However, I find that none meet my needs exactly.
Desired features of my ideal chat/im application
I decided that to have all these features I would need to write my own. At first I did not expect I would get very far. Obviously this program is not a small undertaking. However, I knew at the very least it would be a good learning experience. If nothing else I figured it would help me feel content with my other IM/Chat clients.
I decided if I was going to do something big I might as well go all out. As such I am taking this as an opportunity to learn several new technologies: Moose, POE, Fey::ORM, and possibly Catalyst if I make a web front-end. These are relatively new and amazing perl packages.
As of today I completed stage 1, which is a working IRC bot that can connect to multiple networks and channels, and logs several key events to a database. This was accomplished using Fey::ORM, which builds most of the object code I need at run-time using the database schema. And also using POE::Component::IRC, which is the best IRC client module currently available for perl.
Next week I intend to work on stage 2, which will bring in basic client-server connectivity so that a client app on any machine can connect to the IRC lurker I have now.
Doesn't bitlbee do that?
I think BitlBee (http://www.bitlbee.org/) enables the behavior you're describing. You can connect any console IRC client to as many IRC and chat networks as you want and connect to the IRC client using screen over SSH. That's 80% of your stated requirements right there. The only thing missing is easy perl hackability, but that may depend on which client you use.