LMax

A Bit More Chat with Bitlbee

Bitlbee is a chat system gateway that allows you to connect to several other instant messaging services via a regular IRC client. This offers the advantage that you can manage accounts on chat networks like Jabber, MSN, Yahoo, and AIM/ICQ, all in your favourite IRC client to leverage its own features. In this article we will see how Bitlbee works, and get started with setting up an account on a public server.
How it Works

A Bitlbee server acts as an intermediate between your IRC client and the intsant messaging network. It essentially appears as an ordinary server to IRC clients.

Using this IRC-like interface, you can register an account on the server. By providing information about your accounts on other instant messaging networks, you can then connect to them, via Bitlbee.

Your contacts will appear as nicknames in a channel, conversations as queries, and group chats as extra channels.

Note: It is possible to run your own Bitlbee daemon, but it obviously takes more work than simply connecting to a public server. We will only look at getting started with a public server in this article, while setting up a private Bitlbee server will be the subject of a future article. There are even many public servers to choose from; we will use the main Bitlbee server.
Getting Started

Launch your preferred IRC client and connect with the following details:

Server: im.bitlbee.org
Port: 6667

When connected, you will be auto-joined to a virtual `root’ channel labelled &bitlbee. Note that this is a private and largely empty channel.

This channel acts as your control panel where you can pass commands and settings to the Bitlbee server, and where Bitlbee displays system messages, notices and questions.

The first command to get acquainted with is, naturally, the help command. Simply typing help in the root channel will bring up a list of help subjects — quickstart, commands, away, smileys, and groupchats.

Typing help quickstart will begin a brief guide to getting started. Since the process is well-documented there, we recommend that you use this option to get set up. Use the commands help quickstart2, help quickstart3, etc. to navigate the pages.

You can use the help command on other subjects as well: help <subject>.

As an overview, the main steps are noted below.
Registering

A Bitlbee account on the server allows you to store a contact list, login information, and options on the server.

Registering is simple:

register <password> will register an account under you current nickname.
Setting up Network Accounts

Note: Adding network accounts involves supplying passwords that you may consider sensitive, to the public Bitlbee server. If you do not trust the public server, then you may opt to run your own server. However, there is sufficiently low risk in using a public server — abuse is not a common occurrence.

Use the account command:

account add command: account add <protocol> <username> <password> [<server>].

Here, for example, is how we might register a Jabber account:

account add jabber abhishek@jabber.org.nz PASSWORD jabber.org.nz

To log in with this account, make sure you are identified (identify PASSWORD) with Bitlbee, and use: account on.
Management
Contacts

Use the command blist to see your current online contact list, or blist all to see offline contacts as well. Each contact has a unique IRC-compatible alias in a single contact list regardless of their network.

These are the basic commands to manage contacts:

Add:
add <connection> <handle> [<nick>]

Remove:
remove <nick>

Block:
block <nick>
block <connection> <handle>
block <connection>

Unblock:
allow <nick>
allow <connection> <handle>

Rename
rename <oldnick> <newnick>

Customizing

Bitlbee can be customized with the set command:
set [<variable> [<value>]]

Use help set <variable> to read more about individual variables and their values.

These are some of the useful variables that can be set:

save_on_quit
Saves settings when you quit the server.
typing_notice
Sends typing notices (as in MSN) in as CTCP signals.
auto_connect
Signs into all your network accounts upon authentication with Bitlbee.
password
Set a new password for your Bitlbee account.

Tips and Troubleshooting

You may need to include the domain in your network account ID, in some cases.
The save command saves all nicks and settings on the Bitlbee server for your account.
Use account list to find the ID numbers of stored accounts.
To change a network account’s settings, use account del <number> to remove the old account and add it again with the new parameters.
account on signs into all known accounts. Use account on <number> to sign into a particular account.
Configure your IRC client to auto-send the identify command, combined with the Bitlbee setting auto_connect to connect automatically from the client.

Conclusion

Bitlbee allows users to chat on instant messaging networks through an intermediate server using an IRC gateway. The chief benefit is that it empowers users with the choice of flexible clients such as Irssi. This could enable you to access Jabber, MSN, Yahoo, and AIM/ICQ via Irssi-proxy, and SSH/Screen, among others; or add scripts to operate them.

Bitlbee’s strength for some people is also its weakness for others. You might prefer to stick with an instant messaging client like Gaim or Kopete if you like to have user icons, subtitles, and so on. Howeever, if you favour IRC-style chat, or dislike extraneous features in instant mesaging systems, then you’ll find Bitlbee interesting.
Where to Go Next

A Bitlbee User Guide
An excellent resource also covering the Bitlbee daemon, group chats, away states, and more variables and configuration in detail.
Irssi scripts for Bitlbee
A few very useful scripts to round off Bitlbee in Irssi.
Bitlbee FAQ

Good luck!