SimpleAIM FAQ Last updated: 2004-09-05 ======================== Q: I want to write my own bots. How do I get started? A: For the purposes of writing your own AIM drones, you will find the follwing classes particularly to your interest: Operations.java InHandler.java OutHandler.java Essentially, the heart of SimpleAIM lie in these three files. Operations.java has the important connect() method, which is used to establish a client connection to the TOC server. All the steps the method takes abide by the docuementation of the TOC protocol. This should be your first step. Additionally, once the connection has been established, the InHandler and OutHandler classes take care of the events between the user and the TOC server. Both of these classes extend the Thread class, and thus can have methods simultaneously executed in order to handle the messages to and from the TOC server at the same time. In these classes, you want to examine their respective run() methods, which are loops that parse incoming and outgoing messages. Q: How do I run SimpleAIM through a proxy server or from behind a firewall? A: SimpleAIM currently doesn't support connections via proxy servers. However, there are ways around firewalls that block certain ports (ie. port 5190, the default TOC signon port for AIM). Simply browse through the source code and look in Operations.java. Under "server variables," you will see definitions of tocPort and loginPort. I think all you have to change is loginPort to something accessible through the firewall, such as port 80. This works because the AOL server listens on all ports. If that doesn't work, try changing tocPort to 80 as well. Also, try running SimpleAIM in debug mode (java SimpleAIM -d) if anything goes wrong.