Pass Notes to Other Users

Author's note: Whether you're using IRC at work or for chatting to friends, it's always useful to run an IRC bot that can pass on short messages to other users. This article shows you how to make your own IRC bot that does just that.

For many people, IRC is more than just a
place to chat. Social groups form quite easily in channels; after
all, you all share the same interest, right? IRC therefore becomes
the natural place to talk to this social group. You may not even know
the email addresses of the people you talk to, simply because you
don't need to. IRC lets you chat in real time, which
is often more convenient than waiting for a response to an email. IRC
also lets you transfer files directly from one client to another.

Such dependence on IRC sometimes makes people forget that there are
alternative communication mediums. Indeed, some people even become
frustrated when they have to resort to alternatives! If the person
you want to talk to has left the server for a while (perhaps has gone
to bed or to the shops) and you don't know his email
address, you could use an IRC bot to pass on your message when he
comes back.

A bot that passes on messages doesn't have to be too
complicated. All it has to do is allow users to give it new messages,
store them, and then pass them on when appropriate:

The next time DeadEd joins the channel, the bot should pass the
message to DeadEd:

* DeadEd has joined #irchacks
<TellBot> DeadEd, Jibbler asked me to tell you to look at
http://www.jibble.org/comicbot/

The Code

We can use a HashMap to store a list of messages to pass on, allowing more than one message to be sent to any one user. The HashMap will be indexed by nickname, and each entry will point to an ArrayList that contains messages for that user.