Another IRC Bot: FrankBot

March 19, 2006

So the other day in my JAVA programming class I was just sitting there spacing out cause I’ve been done with the final project for about 2 weeks, and all the teacher was talking about was how to finish the final project, when I suddenly had the brilliant Idea to build myself an IRC Bot. I dunno why, I mean there are so many of them out there I could have just grabbed one and launched it but I wanted it to be mine. So I ran JBuilder and set myself to the task of building my own IRC Bot. 2.5 hours later I was ready to connect and guess what happened when I hit compile? It worked! Yes that actually suprised me. See I didn’t know the IRC protocol before I started so I had no idea how to test the bot as I was building each part. Well turns out that I did everything right and Frank(As I named the bot) was able to successfully connect and join the room I usually reside in. Cool! I’ve got an IRC Bot. Now what? Well lets make Frank do something cool. This took a bit of time as I had to learn how messages get sent back and forth, but I eventually hit upon the right answer(With the help of the IRC RFC) and bam! He responded to a very limited number of commands. Hey this is pretty cool, but Frank was still to limited. So I started looking around the net at some other bots and talking with a few creators, namely Caskey, and soon realized that I needed to expand Frank alot more than he curently was. So I set myself to the task of learning and implementing the reply codes and the commands defined by the RFC. I wiped out virtually everything that I had done originally, but that’s ok because he is going to work way better now. So as of now Frank is complete. He will join up with a room and ‘lurk’ there watching the action and will rejoin if he gets kicked out somehow. So the next step is to give Frank something to do. I’m going to build this part modularly so I can add commands to Frank anytime I feel like it and not have to reboot him. So I’m off to learn about dynamic class loading! Wish me luck, I’ll keep you posted.