Java AIM Bot

JAIMBot is a modular architecture for providing services through an AIM client.

It is written in 100% pure Java.

It contains a generic AIM library and a Bot which uses this library to provide such services as:

  • Offline Messaging: leave your buddies messages for the next time they sign on
  • Lists: send messages to groups of buddies
  • Reminders: use the bot to remember important notes for you
  • Latest Headlines: pull the latest headlines from several sites such as Slashdot, CNN, ESPN, etc
  • Local Weather: find out the 5 day forecast for your, or any, zipcode
  • TV Listings: find out the upcoming episodes for your favorite TV shows
  • Stock Quotes: get the latest stock quotes for any number of stocks
  • Tic Tac Toe: play the bot or a friend in a game of Tic Tac Toe
  • Babel Poetry Generator: (ab)use the power of Babelfish to turn normal messages into profound poetic statements
  • An entertaining AI learning chatterbot (MegaHal): if you don't enter a command you can just chat with the bot. It is able to learn from what you tell it, and can be very funny.

JAIMBot also uses a simple XML persistance mechanism to allow you to store all your buddies, and all configuration information, when your bring down the bot. This allows you to seamlessly restart the bot as if it was never shutdown.

Live Demonstration

You can try out this project with a live AIM bot called JavaAIMBot.

If you use AOL's AIM client these links should work(else just send help to JavaAIMBot with your AIM client):

If you don't have an AIM client you can try out the bot with a Java-enabled browser here: http://toc.oscar.aol.com. You should be aware this is a publicly available bot. If you talk to the chatterbot there's a chance it may respond with something highly offensive, which it learned in the wild. If you only use normal commands (see help) you can avoid this potential. Also be aware if you warn the bot it will retaliate by warning, ignoring, and blocking you.

AIM Library

The AIM library provided by this project, is extremely stable. It is not much different from the numerous other AIM libraries except for one thing. It acknowledges that AOL's servers like to boot you for no reason, and so it takes steps to remain online.

The library uses watchdog threads to AIM itself every few minutes. If it does not get the message back through AIM, it realizes AOL is ignoring it, and it signs off and signs back on.

This approach has been etremely successful. We have had a private bot running for over 6 months straight, with no manual intervention.