Skip to content

BitlBee

BitlBee brings IM (instant messaging) to IRC clients. It's a great solution for people who have an IRC client running all the time and don't want to run an additional XMPP/facebook/discord/whatever client


Install BitlBee

emerge --ask app-im/bitlbee
apt install bitlbee
  • Example Usage: Add Accounts
account add gtalk <gmail_user> <password>
account twitter <twitter_user> <paste_otp>
account skype <skype_user> <password>
account jabber <jabber_user> <password>
  • Save Settings & Connect
save
account on

BitlBee Facebook

Install BitlBee for Facebook

emerge --ask net-im/bitlbee-facebook
  • Add Facebook/Messenger Account
account add facebook <username> <password>
account facebook on
save

BitlBee Steam

Install BitlBee for Steam

emerge --ask net-im/bitlbee-steam
  • Add Steam Account
account add steam <username> <password>
account steam on
  • Authenticating with SteamGuard
account steam set authcode <code>
  • Captcha interaction may be required
account steam set captcha <text>
  • Output game play status to the account channel(s)
account steam set game_status true
account steam on

BitlBee Telegram

Install tdlib-purple

apt update && sudo apt install gperf -y
git clone https://github.com/BenWiederhake/tdlib-purple/
./build_and_install.sh 

Create telegram server

/server add Bitlbee localhost/6667
connnect Bitlbee

Add telegram-tdlib account

account add +phoneNumber

Set full_name to get Proper usernames

account telegram-tdlib set nick_format %full_name
/server add BitlBee <hostname> -tls=no -tls_verify=no -username=<username> -autoconnect
/connect BitleBee
register <any_name>
account add telegram-tdlib <phone_number>
account add facebook <mail> <password>
account add jabber <mail> <password>
save
set display_namechanges true
set nick_format %full_name
set status 'Tomorrow is just your future yesterday!'
channel &telegram set show_users online%,away+,offline
channel &facebook set show_users online%,away+,offline

channel &jabber set show_users online%,away+,offline

save

Config fil

Default configuration file /etc/config/bitlbee.conf

cat << "EOF" > /etc/config/bitlbee.conf
## BitlBee default configuration file
##
## Comments are marked like this. The rest of the file is INI-style. The
## comments should tell you enough about what all settings mean.
##

[settings]

## RunMode:
##
##  Inetd -- Run from inetd (default)
##  Daemon -- Run as a stand-alone daemon, serving all users from one process.
##    This saves memory if there are more users, the downside is that when one
##    user hits a crash-bug, all other users will also lose their connection.
##  ForkDaemon -- Run as a stand-alone daemon, but keep all clients in separate
##    child processes. This should be pretty safe and reliable to use instead
##    of inetd mode.
##
# RunMode = Inetd

## User:
## 
## If BitlBee is started by root as a daemon, it can drop root privileges,
## and change to the specified user.
##
## DEBIAN NOTE: Without this, BitlBee will run as root!
##
User = bitlbee

## DaemonPort/DaemonInterface:
##
## For daemon mode, you can specify on what interface and port the daemon
## should be listening for connections.
##
## DEBIAN NOTE: The init script passes the -p flag to use the port number
## set using debconf, this overrides the DaemonPort setting here.
##
# DaemonInterface = 0.0.0.0
# DaemonPort = 6667

## ClientInterface:
##
## If for any reason, you want BitlBee to use a specific address/interface
## for outgoing traffic (IM connections, HTTP(S), etc.), set it here.
##
# ClientInterface = 0.0.0.0

## AuthMode
##
##  Open -- Accept connections from anyone, use NickServ for user authentication.
##    (default)
##  Closed -- Require authorization (using the PASS command during login) before
##    allowing the user to connect at all.
##  Registered -- Only allow registered users to use this server; this disables
##    the register- and the account command until the user identifies itself.
##
# AuthMode = Open

## AuthBackend
##
## By default, the authentication data for a user is stored in the storage
## backend. If you want to authenticate against another authentication system
## (e.g. ldap), you can specify that here.
##
## Beware that this disables password changes and causes passwords for the
## accounts people create to be stored in plain text instead of encrypted with
## their bitlbee password.
##
## Currently available backends:
##
## - storage (internal storage)
## - pam (Linux PAM authentication)
## - ldap (LDAP server configured in the openldap settings)
#
# AuthBackend = storage
#

## AuthPassword
##
## Password the user should enter when logging into a closed BitlBee server.
## You can also have a BitlBee-style MD5 hash here. Format: "md5:", followed
## by a hash as generated by "bitlbee -x hash <password>".
##
# AuthPassword = ItllBeBitlBee   ## Heh.. Our slogan. ;-)
## or
# AuthPassword = md5:gzkK0Ox/1xh+1XTsQjXxBJ571Vgl

## OperPassword
##
## Password that unlocks access to special operator commands.
##
# OperPassword = ChangeMe!
## or
# OperPassword = md5:I0mnZbn1t4R731zzRdDN2/pK7lRX

## AllowAccountAdd
##
## Whether to allow registered and identified users to add new accounts using
## 'account add'
##
# AllowAccountAdd 1

## HostName
##
## Normally, BitlBee gets a hostname using getsockname(). If you have a nicer
## alias for your BitlBee daemon, you can set it here and BitlBee will identify
## itself with that name instead.
##
# HostName = localhost

## MotdFile
##
## Specify an alternative MOTD (Message Of The Day) file. Default value depends
## on the --etcdir argument to configure.
##
# MotdFile = /etc/bitlbee/motd.txt

## ConfigDir
##
## Specify an alternative directory to store all the per-user configuration
## files. (.nicks/.accounts)
##
# ConfigDir = /var/lib/bitlbee

## Ping settings
##
## BitlBee can send PING requests to the client to check whether it's still
## alive. This is not very useful on local servers, but it does make sense
## when most clients connect to the server over a real network interface.
## (Public servers) Pinging the client will make sure lost clients are
## detected and cleaned up sooner.
##
## PING requests are sent every PingInterval seconds. If no PONG reply has
## been received for PingTimeOut seconds, BitlBee aborts the connection.
##
## To disable the pinging, set at least one of these to 0.
##
# PingInterval = 180
# PingTimeOut = 300

## Using proxy servers for outgoing connections
##
## If you're running BitlBee on a host which is behind a restrictive firewall
## and a proxy server, you can tell BitlBee to use that proxy server here.
## The setting has to be a URL, formatted like one of these examples:
##
## (Obviously, the username and password are optional)
##
# Proxy = http://john:doe@proxy.localnet.com:8080
# Proxy = socks4://socksproxy.localnet.com
# Proxy = socks5://socksproxy.localnet.com

## Protocols offered by bitlbee
## 
## As recompiling may be quite unpractical for some people, this option
## allows to remove the support of protocol, even if compiled in. If
## nothing is given, there are no restrictions.
## 
# Protocols = jabber yahoo

## Trusted CAs
##
## Path to a file containing a list of trusted certificate authorities used in
## the verification of server certificates.
##
## Uncomment this and make sure the file actually exists and contains all
## certificate authorities you're willing to accept (default value should
## work on at least Debian/Ubuntu systems with the "ca-certificates" package
## installed). As long as the line is commented out, SSL certificate
## verification is completely disabled.
##
## The location of this file may be different on other distros/OSes. For
## example, try /etc/ssl/ca-bundle.pem on OpenSUSE.
##
# CAfile = /etc/ssl/certs/ca-certificates.crt

[defaults]

## Here you can override the defaults for some per-user settings. Users are
## still able to override your defaults, so this is not a way to restrict
## your users...

## To enable private mode by default, for example:

## private = 1

EOF

Jabber

Add jabber account

account add jabber jabberUser jabberPassword

Facebook

Add Facebook Account

account add facebook facebookUser facebookPassword

Configuration for Facebook

/join #facebook
set nick_source %full_name
set fill_by account
channel facebook set account facebook
channel facebook set show_users `online+,away,offline
channel facebook set show_users = `online+,away,offline'
channel facebook set set display_namechanges true
set display_namechanges true
account facebook set nick_format %full_name
save

Jabber

Add jabber account

account add jabber jabberUser jabberPassword

Facebook

Add Facebook Account

account add facebook facebookUser facebookPassword

Configuration for Facebook

/join #facebook
set nick_source %full_name
set fill_by account
channel facebook set account facebook
channel facebook set show_users `online+,away,offline
channel facebook set show_users = `online+,away,offline'
channel facebook set set display_namechanges true
set display_namechanges true
account facebook set nick_format %full_name
save