Articles / BitlBee: IRC vs. Instant Me...

BitlBee: IRC vs. Instant Messengers

I like IRC. Actually, I like it very much. Usually, I start my XChat early in the morning and keep it on a desktop nearly all day. It works quite well for me, I can find my friends there for a chat, ask for help, or even help someone else. Also, XChat (like other IRC clients) allows me to write small plugins in Perl or Python to do various tasks like paging me on the mobile phone when I'm away. IRC clients and all kinds of programs and plugins surrounding them are well-deployed on nearly every platform. Unfortunately, IRC is not enough to keep in touch with everyone.

[Editor's note: This is the first in a series of "Project Reviews" suggested by freshmeat staff member Catie Flick. They're meant to draw people's attention to worthy software they might not know. If you there's a particular unsung project you'd like to sing, let me know. Please don't review your own project, or at least make appropriate disclaimers.]

Wandering Around

There are several other instant messaging software packages. The most famous ones are AIM, Yahoo! Messenger, ICQ, MSN, and Jabber. I have a number of friends using Yahoo! and ICQ, and I like to have the same online contact with them as I have with others on the IRC networks. This means that I have to keep at least two more applications on the screen and be ready to open several windows if I want to chat with them. Of course, there are many IM clients which offer different features like grouping chat or message windows, auto-hiding, etc. This is great, but I had this dream: To have only XChat on my desktop. The only way to achieve this was to somehow transform my Yahoo! and ICQ buddies into IRC friends.

A few weeks ago, I saw an announcement on freshmeat for an application called "BitlBee" which has this description:

"BitlBee allows users to talk to people on the MSN, ICQ, Jabber, Yahoo!, and AIM networks with any IRC client by emulating an IRC server. A virtual channel is created with all of the user's buddies in it, who can be talked to in the channel or in a query."

I was thrilled!

I pointed my Mozilla right to BitlBee's site to check whether this is really the thing I've dreamed of. One hour later, I had BitlBee running on my machine, and with great satisfaction, I removed all Yahoo! and ICQ clients from my hard drive.

After nearly a month, I'm still using BitlBee, and I'm still amazed at how wonderful the idea behind it is. My dream came true; I have a single XChat on my desktop connecting me to everyone I want.

Inside BitlBee

BitlBee is server software which runs like an IRC server, and you can connect to it with standard IRC clients. When you connect, it creates virtual IRC users who represent your IM contacts.

It has a system control channel named #BitlBee, and you are joined to it automatically. There is also a system user named "root" who will process your commands. All IM contacts who are online are shown in the usual IRC user list for the #bitlbee channel. In the control channel, you can issue commands to root or talk to your IM contacts. You can also open private dialog channels (/QUERY) to any of your contacts.

Introducing Yourself

I'll explain the few steps you need to follow before you can start sending "Hello! I'm back online..." to your buddies. All the commands below should be typed in the control channel (#bitlbee) or a separate private (query) window with "root". You can always request "help" there.

First, you have to register yourself as a user. This is necessary so the server can distinguish different users. You identify yourself with your current IRC nick and a password. Here is how you do this:

    register <password>
    identify <password>

You should replace <password> with the secret word you want to use to access your accounts and setup. You just have to "register" the first time, then "identify" every time you connect. You can even use the common IRC command "/msg nickserv identify <password>" to identify yourself, which happens to be very useful when you want to use it with the auto-connect commands in most IRC clients.

BitlBee uses the term "account" (connection) to represent different IM services. You have one connection to ICQ, one to Yahoo!, etc. Connections are numbered 0, 1, 2... in the order you add them. Here is the command which is used to add a new connection:

    irc> account add <protocol> <username> <password> [<server>]

<server> is optional, but I'll use it in the following examples.

To add your ICQ account:

    irc> account add oscar 11111111 mypassword

and "root" will respond with:

    <root> Account successfully added

Similarly, for Yahoo!:

    irc> account add Yahoo cade myihaapass

At this point, you will have two accounts which you can check with the command "account list". The result will be:

    <root> 0. OSCAR, 11111111 on
    <root> 1. YAHOO, cade
    <root> End of account list

Finally, you have to add your buddies:

    irc> add 0 222222222 realp
    <root>   User "222222222" added to your contact list as realp
    irc> add 1 nik
    <root>   User "nik" added to your contact list as nik

Now I have two friends added, "realp" with ICQ number 222222222 and "nik" who uses Yahoo! IM. The second argument to "add" is mandatory and is the account number.


What happens now? Nothing that you have not already seen on IRC! When your friends go online, you'll see them joining #bitlbee and can talk as usual:

      --> nik (nik@YAHOO) has joined #BitlBee
      --> realp ( has joined #BitlBee 
  <cade>  nik: hola, thanks for the book!
  <cade>  realp: can you send me the nat hints?
  <realp> cade: nat hints?!

BitlBee also supports "away" or "n/a" states, which are shown with the IRC voice attribute. All your contacts that are online and not away have voice. If your buddy is away or not available, he/she will be shown without voice. You can use various IRC commands like /WHO and /QUERY. Of course, many IRC commands cannot be used, but this is the fault of the IM protocols, not BitlBee.


I hope that this is a true step toward merging all instant messengers into one frontend or even merging them into one protocol. Unfortunately, this will not happen in the near future, but BitlBee leaps quite far forward, and I'd say it is close enough to what I'd like to have. Perhaps it is not exactly what someone else may want, but it is definitely worth trying!

See you online!


             authors: Wilmer van der Gaast <>
                      Sjoerd Hemminga <>
                      Maurits Dijkstra <>

    XChat IRC client:


    Yahoo! IM:




RSS Recent comments

31 Jan 2004 01:52 romanofski

... what a great article. I tried the software out and it rocks!!

31 Jan 2004 02:19 lintux

Such a surprise to see the little Bee on the frontpage like this. Thanks!

Just one small comment: Before trying to add people to your buddy list, you should use &quot;account on&quot; to actually enable all the added connections. Apart from that, a very nice article!

31 Jan 2004 04:05 pierrephilippecoupar

Excellent, very good!
I just installed bitlbee, in worked in 5 minutes without a hitch. This thing is the cleverest idea since the invention of sliced bread.

Now, I've always wanted to make a Gaim plugin version of CWirc (webperso.easyconnect.f...), but now thanks to bitlbee, I don't even have to : CWirc has just been instantly upgraded to work with any IM network. I just tried it with a friend, and it works just fine. Morse-over-ICQ baby!

Thanks a lot Wilmer, bitlbee is by far and away one of the most useful piece of software I've tried in a long time.

31 Jan 2004 10:53 smoon

Great software...
BitlBee is a great piece of software. Just installed it and it works great.
But I wonder if the recently found buffer overflows in gaim ( affect BitlBee as well since BitlBee seems to use code from gaim.

31 Jan 2004 11:13 lintux

Re: Great software...
See the frontpage of the BitlBee site, I put a little text about this there. As far as I know, there are no problems.

31 Jan 2004 18:11 jsuelwald

I#m using bitlebee as well... last month I found it while searching for a good IM - Client for my Linuxsystem, and bitlebee was the best choise to make, because I#m already using XChat for nearly two years now.

This way, I don't have to start another resource - eating program (the daemon is little, seems smaller tham centericq for example).

It would be nice if bitlebee would be capable of some icq - features like Visiblelist, Invisiblelist, FIletransfers etc...

31 Jan 2004 18:15 phasefx

email to news
Now if I can just figure out a mail to news gateway so I
can use slrn with my email, I'd be in heaven. :-)

-- Jason

01 Feb 2004 00:38 gvy

Re: email to news

> Now if I can just figure out a mail to
> news gateway so I
> can use slrn with my email

Get yourself mutt and you'll want to do it vice versa with mail2news ;-)

(using pine and tin, the latter was "faster"; switched to mutt and tin, and mutt wins by a margin)

12 Feb 2004 04:16 toop

My view
I've used Licq with console plugin on my non-24/7 Debian GNU/Linux, but couldn't get this working on my 24/7 OpenBSD. The Licq port for OpenBSD is dead too. Because i also didn't want to use a seperate MSN program and the integration with IRC sounded awesome i decided to run BitlBee. Later i replaced &quot;Theocracy&quot; with FreeBSD on which Licq with console plugin does work, but i'd care less now! This is great software! BitlBee misses a few common features, but that's okay with me, because it means i only need to have 1 screen'ed program which has all the things in it i want: Irssi with loads of windows (and Irssi-proxy + SSL as well).

If you're comming to FOSDEM you can buy a BitlBee t-shirt over there. Pictures of it are available on the site. I already have one, it's good of quality.

(Sorry Wilmer, but i'll be at FOSDEM :-)

14 Feb 2004 06:16 managementboy

I have compiled and installed it on SuSE 9. Works like a charm. Right now I use it with MSN, Yahoo and ICQ.

I was looking into something like this, as my company has a (VERY) restrictive (Microsoft) firwall/proxy. Right now I am searching for a PHP or Java frontend to IRC sucht that I can install it on my home server.

Any sugestions?

No, I can not install anything on my work PC. I don`t have admin rights and it is forbidden.

25 Feb 2004 05:44 managementboy

Re: cool!
% Any sugestions?

Responging to my own question... check out: for a nice php interface to IRC... this enables you to have a valid html to irc to messenger interface (http firewall compliant interface)

works for me

19 Jul 2004 18:37 trejkaz

But Jabber _is_ a true step!
&quot;I hope that this is a true step toward merging all instant messengers into one frontend or even merging them into one protocol. Unfortunately, this will not happen in the near future&quot;...

You may not know this, but Jabber _is_ already a true step toward merging all instant messengers into one frontend, _and_ even one protocol.

A single Jabber client supports one protocol with various extensions, and the transports take care of the translation between the current legacy IM systems (only because those legacy IM systems didn't support Jabber. If they did, you would be able to talk to them directly, without the transport!)

Transports exist for ICQ, MSN, AIM, Yahoo!, and believe it or not, even IRC.

What the world needs, though, is for IRC servers to run a Jabber frontend so that Jabber users can connect directly to the network. That would be the ideal scenario, IMO. :-)

18 Sep 2004 18:34 davidbl

BitlBee one step closer to anarchy
When i looked at the article by Vladi, it was like a deja-wu.

I to started out with IRC back in the oldschool days where bbs was &quot;in&quot; and im to one of those who use my irc hookup to manage diffrent tasks and controle/command my machines directly from it. Iv'e even gorn that far that i recive my mail notify's/subjects directly on IRC (made a phpbot that parses the incomming mail from a .qmail forward). And when i need to write a mail i use one of my bots to do it through. Iv'e even made a mail2irc gateway. But that's only on the email side. Iv'e always been into socket programming and iv'e advanced onto php atm. So I always tries to find new things i can convert to be managed from IRC. (Yes im a controle freak, and irc temps me even further).

Today i controle my shoutcast,winamp,email,server status,freshmet projects,mail server,domain lookups,cluster apt install (for debian) and loads of other stuff like getting RSS/XML feeds and so on from IRC ;)

But some of the last things that nag me is that i have to fire up CenterICQ or Gaim when i need to work on the MSN/ICQ/AIM side. BitlBee was also avaible at the time i looked for alternatives. But at that time i tryed it but the results was something that was ment for /dev/null if you get my drift heh. So bugged and half the messages did'nt got sent and the keymap was screwed up. But today the project BitlBee just rules. And that is why i wrote in my topic &quot;BitlBee one step closer to anarchy&quot; as we move in the right direction, on ruler, one leader. The more we can gather in one place it will optimice our work progress actuly. I know this ain't essential when sitting at home snoozing on some channel on irc. But even without you knowing it, you actuly save time and it's more easy to get the full overview.

I just love BitlBee, it's clever - it works like a charm. And i must admit, in the last few days iv'e skipped CenterICQ to used BitlBee. And is Vladi, i to removed most of my chat clients. The only one i kept was CenterICQ as i use it alot, also to see rss feeds. But CenterICQ aint online that mutch anymore as BitlBee runs ;)

2 Thumbs up for BitlBee, it's a must try for the real hardcore IRC fan.


Project Spotlight


A PHP class for generating PDF documents.


Project Spotlight


A high quality video editing system and VJ tool.