Kevin McMahon


Blog Search

Chatsworth: A Google talk group chat bot

For the past year and a half, I’ve been using PartyChat to participate in multi-user chats with friends. PartyChat essentially provides IRC type functional via GTalk and has been a great way to have ongoing conversations throughout the day while avoiding 100+ email threads.

The only pitfall PartyChat has to do with stability. PartyChat is a free service used by a large number of people, and it runs off the project creator’s computer in his apartment. I do not know why the service goes down intermittently, but the combination of a home server plus lots of users cannot be helping. While it stinks that PartyChat isn’t always up, I understand I have no right to demand or expect 100% uptime, so I decided to do something about it. Leveraging knowledge acquired on XMPP (the protocol that Jabber and GTalk use) from another project, I wrote a simple group chatbot called Chatsworth to improve the availability of group chat that my friends and I use.

Chatsworth is a windows service written in C# that provides basic chat room functionality. It does not have all the features that PartyChat has, but it does offer people the ability to set up and manage their chatbots. Additionally, if you are concerned about having all your chat logs being available not just to Google but also to the people running the PartyChat servers, then Chatsworth is the group chat provider for you. Chatsworth is fully functional but still immature and under development. I plan to add some additional features, take care of a few loose ends, and provide more unit tests in the immediate future.

Admittedly I could’ve just downloaded the PartyChat java source, compiled it, and ran it on my own set of servers, but where is the fun in that? I figured creating a chatbot would allow me to do more than address some of the availability issues I was having. Chatsworth provides me a non-trivial project that I can use to explore different software development concepts and techniques as well as get some code and design samples out on the web. So if you’re in the market for group chat in GTalk, give Chatsworth a try.

I am looking forward to building this project out further and would love your feedback.