Bitlbee

From ArchWiki
Revision as of 22:34, 22 December 2014 by Yuvadm (talk | contribs) (Clarify basic XMPP usage)
Jump to: navigation, search

Bitlbee is a "console-based IRC to IM chatting gateway, including ICQ/MSN/Jabber". It allows the user to interact with popular chat networks XMPP/Jabber, MSN Messenger, Yahoo! Messenger, AIM 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 bitlbee, available in the Official repositories. Alternatively, install the development version, bitlbee-bzrAUR, available in the Arch User Repository.

Configuration

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

Daemon

To run Bitlbee as a daemon uncomment the Runmode line and change it to the following.

RunMode = ForkDaemon

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

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

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

Then start the bitlbee daemon.

# systemctl start bitlbee

You can also enable the bitlbee daemon to run on startup like so:

# systemctl enable bitlbee

(Note: 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, start off by adding a new Jabber/XMPP account:

account add jabber username@jabber.example.com yourpassword

Upon successful connection, add one of your contacts to your list:

add 0 friend@jabber.example.com friend

In this case,0 is the account ID that can be seen when running:

account list

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

External Services

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'll 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

Google Chat

View the official bitlbee instructions http://wiki.bitlbee.org/HowtoGtalk, alternatively:

In the control channel, &bitlbee, issue the following command after replacing <username> and <password> with your information:

<@user> account add jabber <username>@gmail.com <password>

If you have enabled Google Authenticator make sure to create an application specific password (see: Google Accounts Help).

To verify that the account was added check the account list:

<@user> account list
<@root>  0 (gtalk): jabber, username@gmail.com
<@root> End of account list

You can change the server value of your gmail account with the following command:

account gtalk set server talk.google.com

To log into your Google account issue the following:

<@user> account gtalk on
<@root> jabber - Logging in: Connecting
<@root> jabber - Logging in: Connected to server, logging in
<@root> jabber - Logging in: Converting stream to TLS
<@root> jabber - Logging in: Connected to server, logging in
<@root> jabber - Logging in: Authentication finished
<@root> jabber - Logging in: Server changed session resource string to `BitlBeeD52466D9'
<@root> jabber - Logging in: Authenticated, requesting buddy list
<@root> jabber - Logging in: Logged in

Troubleshooting

If you get errors like the following:

<@user> account gtalk on
<@root> jabber - Logging in: Connecting
<@root> jabber - Logging in: Connected
<@root> jabber - Logging in: Requesting Authentication Method
<@root> jabber - Logging in: Authenticating
<@root> jabber - Login error: Error 403: Unknown error
<@root> jabber - Signing off...

Switching the domain from "gmail.com" to "googlemail.com" may help. This seems to be the case for some European countries, especially Germany where Google doesn't own the trademark for the name Gmail [1].

The easiest way to change your account settings is to simply delete the account you created and add it again.

account gtalk del
account add jabber username@googlemail.com mypasswd

or just use the `set` switch for the `account` command

account list   # find the id for your gtalk account, in this case I'll use '0'
account gtalk set  # list all the possible settings for this account
account gtalk set username foo@gmail.com        # change your username
account gtalk set password somethingverysecret  # change your passphrase

See Also