Bitlbee

From ArchWiki

Bitlbee[dead link 2022-09-17 ⓘ] is a "console-based IRC to IM chatting gateway". It allows the user to interact with popular chat networks XMPP/Jabber, Yahoo! Messenger and ICQ, the Twitter microblogging network (plus all other Twitter API compatible services like identi.ca and status.net), and social networking chat networks like Facebook and StudiVZ within their IRC client.

The users' buddies appear as normal IRC users in a channel and conversations use the private message facility of IRC.

Installation

Install the bitlbeeAUR package.

Configuration

Various settings can be set using the /etc/bitlbee/bitlbee.conf configuration file.

Daemon

It is recommended to run the Bitlbee daemon without root permission. Uncomment the following line so Bitlbee can run as the "bitlbee" user, which was created when the package was installed.

User = bitlbee

For daemon mode uncomment the following lines.

DaemonInterface = 0.0.0.0
DaemonPort = 6667

To only allow connections from localhost set the listen interface (DaemonInterface) to loopback.

DaemonInterface = 127.0.0.1

Ensure that the configuration directory is writeable with the user you configured:

# chown -R bitlbee:bitlbee /var/lib/bitlbee

By default the bitlbee service doesn't kill child processes when stopping/restarting, to avoid disconnecting clients. This is desirable for public servers but less desirable in private installations where the client is left running on an old version after a upgrade.

To properly terminate bitlbee processes, edit the unit:

bitlbee.service
[Service]
KillMode=control-group

Then enable/start the bitlbee.service} unit

Note that just starting the server does not log you into any of your chat accounts.

Basic usage (Jabber/XMPP)

Once Bitlbee is running connect to localhost using an IRC client. The control channel, &bitlbee, should already show you some basic information (if not, join it now). You can always type help to get help.

While in the control channel, enter

help quickstart

and follow the instructions

Your friend might be requesting authorization to add you back, so just reply according to the control channel prompts.

To initiate a chat, simply open a new IRC private window:

/msg friend hello!

OTR

For OTR support you must have libotr installed. Upon account registration, bitlbee will generate your OTR keys, and it will use them transparently whenever you are negotiating with an OTR-capable contact.

External services

Telegram

To make Telegram work with bitlbee, you need a version compiled with libpurple support – bitlbee-libpurpleAUR for example, although there are patched or development versions also available.

Next, install telegram-tdlib-purple-gitAUR and restart bitlbee.service.

In the control channel, &bitlbee, type the following commands:

11:45:03 <@user> account add telegram <phone_number_with_region_prefix> <anything>
11:45:03 <@root> Account successfully added
11:45:06 <@user> account telegram on

After connecting a separate chat window will open, asking for the SMS code – enter it and Telegram will work with your setup.

Twitter

In the control channel, &bitlbee, type the following commands:

11:45:03 <@user> account add twitter <handle>
11:45:03 <@root> Account successfully added
11:45:06 <@user> account on
11:45:06 <@root> Trying to get all accounts connected...
11:45:06 <@root> twitter - Logging in: Requesting OAuth request token

In a private channel, twitter_handle, you will receive:

11:45:07 <twitter_handle> To finish OAuth authentication, please visit http://api.twitter.com/oauth/authorize?oauth_token=xxxxxxxxx and respond with the resulting PIN code.

Click the link and authorize the BitlBee app on Twitter. You should now see:

11:59:54 <@root> twitter - Logging in: Connecting to Twitter
11:59:55 <@root> twitter - Logging in: Logged in

Discord

Install the package bitlbee-discord-gitAUR.

In the control channel, &bitlbee, type the following commands:

<user> account add discord <email> <password>
<root> Account successfully added with tag discord
<user> account discord on
<root> discord - Logging in: Logged in

See also