Hack and / - What Really IRCs Me: Instant Messaging
To me, IRC is the ideal interface for quick communication with my friends. I keep a console IRC session (irssi) running on my server at all times within screen. With that setup, I constantly can lurk in all of the channels I want to follow and reconnect to the session, no matter what machine I am using. Because many of my friends use IRC, it's pretty easy to stay in touch. I can chat with them daily, and if they need to tell me something when I'm not around, they can leave me a private message, and I will see it the next time I'm in front of my computer. To me, the IRC interface is best both for group and private chats—so much so that I prefer it to instant messaging.
Of course, not all of my friends use IRC. Even among those who do, they don't all prefer to do all of their communication there. So, in addition to IRC, I maintain instant-messaging accounts. This means to keep in touch with everyone, I need to keep both an IRC and an instant-messaging program open. Plus, unless I set up a text-based IM client on my server, I'd have to fire up a local client on whatever computer I'm in front of, which isn't possible when I'm using someone else's computer. On top of that, some of my friends have replaced both chat and IM with Twitter, which means yet another account and yet another program open on my desktop—well, it would in theory at least. Instead, I've discovered a few programs that let me roll everything into IRC sessions, so sending someone an IM is as simple as an IRC private message, and everyone's Twitter feeds become just another comment in an IRC channel. In this column, I discuss how to access your IM accounts from within IRC, and in a follow-up column, I will talk about how to access Twitter as well, because they each require different programs.
The program that makes IM possible within IRC is an IM-to-IRC gateway called Bitlbee (www.bitlbee.org). Basically, Bitlbee sets up an IRC server on your local machine that you can connect to like any other IRC server you might already use. Once you connect to the server, you can join the #bitlbee channel and authenticate with the bot inside. Then, you can configure Bitlbee with your Jabber, MSN, Yahoo or Oscar (AIM/ICQ) accounts. Once you are set up, when your friends are on-line, they join the channel, and when you talk to them or private-message them inside the IRC channel, it translates it to an instant message.
Bitlbee should be packaged for most major distributions, so you can install it like any other program. Otherwise, just pull down and compile the source code from the main project page. Bitlbee uses inetd, so once you connect to the IRC port, inetd automatically spawns a Bitlbee process. Depending on your distribution, the post-install script may or may not set up the line in inetd.conf automatically. If it doesn't, add the following line to /etc/inetd.conf:
6667 stream tcp nowait bitlbee /usr/sbin/tcpd /usr/sbin/bitlbee
Once Bitlbee is installed, go to your IRC program and connect to a new server, but in place of the typical hostname, connect to localhost. Once you connect to the server, join the #bitlbee channel. Bitlbee includes a built-in help program. Simply type help to see a list of help topics, or type help followed by a particular Bitlbee bot command to see help for that command. In addition to these help topics, Bitlbee also includes a quickstart topic (type help quickstart) that will walk you through setting up your Bitlbee account and adding your IM accounts (I cover these same steps below).
The first thing you need to do before you can IM with Bitlbee is register an account with the server so that it can save all of your IM account settings, contacts and other information, and password-protect it. Type:
and replace password with the password you want to use. The next time you connect to Bitlbee, you must type:
Once you are registered, you can start adding IM accounts. The account command lets you add or remove accounts from Bitlbee, and the syntax for adding an account is:
account add protocol username password server
The protocol above should be replaced with jabber, msn, yahoo or oscar, depending on which chat protocol your IM account uses. Then, list your user name and password for that IM account. The final server field is needed only for the oscar protocol, so it knows whether to connect to the AOL Instant Messenger server (login.oscar.aol.com) or the ICQ server (login.icq.com). The rest of the protocols don't need it. So, for instance, if I had an AOL Instant Messenger account called test with a password of mypassword, I would add it with the following command:
account add oscar test mypassword login.oscar.aol.com
After you have added all of your IM accounts, type:
Kyle Rankin is a VP of engineering operations at Final, Inc., the author of a number of books including DevOps Troubleshooting and The Official Ubuntu Server Book, and is a columnist for Linux Journal. Follow him @kylerankin.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.