# Misc Stuff

## Groupchats

BitlBee now supports groupchats on all IM networks. This text will try to explain you how they work.

As soon as someone invites you into a groupchat, you will be force-joined or invited (depending on the protocol) into a new virtual channel with all the people in there. You can leave the channel at any time, just like you would close the window in regular IM clients. Please note that root-commands don't work in groupchat channels, they only work in control channels (or to root directly).

Of course you can also create your own groupchats. Type help groupchats2 to see how.

## Creating groupchats

To open a groupchat, use the chat with command. For example, to start a groupchat with the person lisa_msn in it, just type chat with lisa_msn. BitlBee will create a new virtual channel with root, you and lisa_msn in it.

Then, just use the ordinary IRC /invite command to invite more people. Please do keep in mind that all the people have to be on the same network and contact list! You can't invite Yahoo! buddies into an MSN groupchat.

Some protocols (like Jabber) also support named groupchats. BitlBee supports these too. You can use the chat add command to join them. See help chat add for more information.

If you don't know the name of a named groupchat, you can try the chat list command to get a list of chatrooms from a server. See help chat list for usage instructions.

## Away states

To mark yourself as away, you can just use the /away command in your IRC client. BitlBee supports most away-states supported by the protocols.

Away states have different names across different protocols. BitlBee will try to pick the best available option for every connection:

- Away
- NA
- Busy, DND
- BRB
- Phone
- Lunch, Food
- Invisible, Hidden

So /away Food will set your state to "Out to lunch" on your MSN connection, and for most other connections the default, "Away" will be chosen.

You can also add more information to your away message. Setting it to "Busy - Fixing BitlBee bugs" will set your IM-away-states to Busy, but your away message will be more descriptive for people on IRC. Most IM-protocols can also show this additional information to your buddies.

If you want to set an away state for only one of your connections, you can use the per-account away setting. See help set away.

## Changing your nickname

BitlBee now allows you to change your nickname. So far this was not possible because it made managing saved accounts more complicated.

The restriction no longer exists now though. When you change your nick (just using the /nick command), your logged-in status will be reset, which means any changes made to your settings/accounts will not be saved.

To restore your logged-in status, you need to either use the register command to create an account under the new nickname, or use identify -noload to re-identify yourself under the new nickname. The -noload flag tells the command to verify your password and log you in, but not load any new settings. See help identify for more information.

## Dealing with channels

You can have as many channels in BitlBee as you want. You maintain your channel list using the channel command. You can create new channels by just joining them, like on regular IRC networks.

You can create two kinds of channels. Control channels, and groupchat channels. By default, BitlBee will set up new channels as control channels if their name starts with an &, and as chat channels if it starts with a #.

Control channels are where you see your contacts. By default, you will have one control channel called &bitlbee, containing all your contacts. But you can create more, if you want, and divide your contact list across several channels.

For example, you can have one channel with all contacts from your jabber account in it. Or all contacts from the group called "Work".

Type help channels2 to read more.

## Creating a channel

When you create a new channel, BitlBee will try to guess from its name which contacts to fill it with. For example, if the channel name (excluding the &) matches the name of a group in which you have one or more contacts, the channel will contain all those contacts.

Any valid account ID (so a number, protocol name or part of screenname, as long as it's unique) can also be used as a channel name. So if you just join &jabber, it will contain all your jabber contacts. And if you have a Facebook account set up, you can see its contacts by just joining &facebook.

To start a simple group chat, you simply join a channel which a name starting with #, and invite people into it. All people you invite have to be on the same IM network and contact list.

If you want to configure your own channels, you can use the channel set command. See help channels3 for more information.

## Configuring a control channel

The most important setting for a control channel is fill_by. It tells BitlBee what information should be used to decide if someone should be shown in the channel or not. After setting this setting to, for example, account, you also have to set the account setting. Example:

chan &wlm set fill_by account fill_by = `account' chan &wlm set account msn account = `msn'

Also, each channel has a show_users setting which lets you choose, for example, if you want to see only online contacts in a channel, or also/just offline contacts. Example:

chan &offline set show_users offline show_users = `offline'

See the help information for all these settings for more information.

## Nickname formatting

The nick_format setting can be set globally using the set command, or per account using account set (so that you can set a per-account suffix/prefix or have nicknames generated from full names for certain accounts).

The setting is basically some kind of format string. It can contain normal text that will be copied to the nick, combined with several variables:

%nick

- Nickname suggested for this contact by the IM protocol, or just the handle if no nickname was suggested.

%handle

- The handle/screenname of the contact.

%full_name

- The full name of the contact.

%first_name

- The first name of the contact (the full name up to the first space).

%group

- The name of the group this contact is a member of

%account

- Account tag of the contact

Invalid characters (like spaces) will always be stripped. Depending on your locale settings, characters with accents will be converted to ASCII.

See help nick_format2 for some more information.

## Nickname formatting - modifiers

Two modifiers are currently available: You can include only the first few characters of a variable by putting a number right after the %. For example, [%3group]%-@nick will include only the first three characters of the group name in the nick.

Also, you can truncate variables from a certain character using the - modifier. For example, you may want to leave out everything after the @. %-@handle will expand to everything in the handle up to the first @.

## Identifying to your BitlBee account

There are several methods to identify (log in) to your registered BitlBee account. All of these are equivalent:

The 'identify' command

- sent to &bitlbee or root. See help identify for details.

/msg nickserv identify

- Same as above, but sent to NickServ. Useful with some auto-identify scripts.

/nickserv or /ns

- Same as above, but using the command aliases to NickServ.

Server password

- A field in the server connection settings of your irc client.

SASL PLAIN

- A newer method, good choice if your client supports it. (Note: "SASL" is not related to "SSL")

To configure your client to auto-identify, the last two methods are recommended. SASL if you have it, but server password is often the easiest.

Note: If you changed bitlbee.conf to have AuthMode = Closed, server password will be used for that instead. If you have never heard of that setting before, you can ignore it and just use it.

## New stuff in BitlBee 1.2.6

Twitter support. See help account add twitter.

## New stuff in BitlBee 1.3dev

Support for multiple configurable control channels, each with a subset of your contact list. See help channels for more information.

File transfer support for some protocols (more if you use libpurple). Just /DCC SEND stuff. Incoming files also become DCC transfers.

Only if you run your own BitlBee instance: You can build a BitlBee that uses libpurple for connecting to IM networks instead of its own code, adding support for some of the more obscure IM protocols and features.

Many more things, briefly described in help news1.3.

## New stuff in BitlBee 3.0

BitlBee can be compiled with support for OTR message encryption (not available on public servers since encryption should be end-to-end).

The MSN module was heavily updated to support features added to MSN Messenger over the recent years. You can now see/set status messages, send offline messages, and many strange issues caused by Microsoft breaking old-protocol compatibility should now be resolved.

Twitter extended: IRC-style replies ("BitlBee:") now get converted to proper Twitter replies ("@BitlBee") and get a reference to the original message (see help set auto_reply_timeout). Retweets and some other stuff is also supported now (see help set commands).

## New stuff in BitlBee 1.3dev (details)

Most of the core of BitlBee was rewritten since the last release. This entry should sum up the majority of the changes.

First of all, you can now have as many control channels as you want. Or you can have none, it's finally possible to leave &bitlbee and still talk to all your contacts. Or you can have a &work with all your work-related contacts, or a &msn with all your MSN Messenger contacts. See help channels for more information about this.

Also, you can change how nicknames are generated for your contacts. Like automatically adding a [fb] tag to the nicks of all your Facebook contacts. See help nick_format.

When you're already connected to a BitlBee server and you connect from elsewhere, you can take over the old session.

Instead of account numbers, accounts now also get tags. These are automatically generated but can be changed (help set tag). You can now use them instead of accounts numbers. (Example: acc gtalk on)

Last of all: You can finally change your nickname and shorten root commands (try acc li instead of account list).

## New stuff in BitlBee 3.0.5

OAuth2 support in Jabber module (see help set oauth). For better password security when using Google Talk, Facebook XMPP, or for using MSN Messenger via XMPP. Especially recommended on public servers.

Starting quick groupchats on Jabber is easier now (using the chat with command, or /join + /invite).

SSL certificate verification. Works only with GnuTLS, and needs to be enabled by updating your bitlbee.conf.

## New stuff in BitlBee 3.2

Upgradeed to Twitter API version 1.1. This is necessary because previous versions will stop working from March 2013. At the same time, BitlBee now supports the streaming API and incoming direct messages.

## New stuff in BitlBee 3.2.2

The OTR plugin now uses libotr 4.0 (AKA libotr5 in debian based distros)

A few minor fixes/additions, like being able to use /oper to change passwords with account tag set -del password

## New stuff in BitlBee 3.4

Lots of bugfixes! Important: Recompiling third party plugins such as bitlbee-steam or bitlbee-facebook is required!

- twitter: Filter channels - Search by keyword/hashtag or a list of users. See the HowtoTwitter wiki page for more details!
- twitter: Add "rawreply" command, like reply but bitlbee won't add @mention. Also add "favorite" / "fav" command aliases.
- twitter: Start stream from last tweet on connect/reconnect to avoid showing duplicate tweets
- jabber: Fixed crashes with file transfers (they still fail at bypassing NATs, but at least they fail without crashing)
- purple: Improved support for gadugadu, whatsapp and telegram.
- msn: disabled in this release since the protocol we used (MSNP18) stopped working.
- Add a 'pattern' parameter to the blist command, to filter it.
- The utf8_nicks setting should be more reliable now.

See the full changelog for details!

## New stuff in BitlBee 3.4.1

- msn: Upgraded protocol version to MSNP21, works again
- jabber: Add "hipchat" protocol, for smoother login. Takes the same username as the official client. Note that unlike the 'hip-cat' branch, this doesn't preload channels. See the HowtoHipchat wiki page for details
- jabber: Gmail notifications support
- twitter: Show quoted tweets inline. Added "url" command, can be used to quote tweets.

## New stuff in BitlBee 3.4.2

- irc: Self-messages (messages sent by yourself from other IM clients), see help set self_messages. IRCv3.1 support and part of 3.2. Many important groupchat related bugfixes.
- jabber: Carbons, see help set carbons. Removed facebook XMPP, use bitlbee-facebook instead. SASL ANONYMOUS login, see help set anonymous.
- hipchat: Channels can now be added with chat add hipchat "channel name" which tries to guess the channel JID.
- skype: Show all messages as groupchats since we can't tell which ones are private. This plugin is mostly-deprecated and mostly-broken, use the skypeweb purple plugin or msn instead.
- purple: Fix problems remembering SSL certificates as trusted. Groupchat related fixes. Better error reporting. Fixed setting jabber away states.

And lots of bugfixes / stability improvements. See the full changelog for details!

## New stuff in BitlBee 3.5

- New commands: chat list and plugins. New settings: nick_lowercase, nick_underscores
- twitter: Hide muted tweets / no-retweets, add mute/unmute commands. Show full version of extended tweets.
- jabber: always_use_nicks channel setting. Don't send parts in a chat if someone is still connected from other devices. Personal oauth token login for hipchat.
- purple: Setting /topic. Fixes for SIPE and LINE. Don't ask for password if not needed (hangouts, telegram). Set nicks to %full_name for a few protocols (hangouts, funyahoo, icq, line)

See the full changelog for details!

### New stuff in BitlBee 3.6

- Removed msn, skype, yahoo, oscar. Use the skypeweb and icyque purple plugins.
- Fix twitter (disable stream setting, set tweet length to 280)
- Add server-time IRCv3 capability
- Large performance improvements for large contact lists

See the full changelog for details!