?
These are the available help subjects:

 quickstart - A short introduction into BitlBee
 commands - All available commands and settings
 away - About setting away states
 smileys - A summary of some non-standard smileys you might find and fail to understand
 groupchats - How to work with groupchats on BitlBee

You can read more about them with help <subject>

BitlBee is written by Wilmer van der Gaast together with Jelmer Vernooij, Maurits Dijkstra and others. Bugs can be reported at http://bugs.bitlbee.org/.

For other things than bug reports, you can join #BitlBee on OFTC (irc.oftc.net) (OFTC, *not* FreeNode!) and flame us right in the face. :-)
%
?index
These are the available help subjects:

 quickstart - A short introduction into BitlBee
 commands - All available commands and settings
 away - About setting away states
 smileys - A summary of some non-standard smileys you might find and fail to understand
 groupchats - How to work with groupchats on BitlBee

You can read more about them with help <subject>
%
?quickstart
Welcome to BitlBee, your IRC gateway to ICQ, MSN, AOL, Jabber, Yahoo! and Twitter.

The center of BitlBee is the control channel, &bitlbee. Two users will always be there, you (where "you" is the nickname you are using) and the system user, root.

You need register so that all your IM settings (passwords, contacts, etc) can be saved on the BitlBee server. It's important that you pick a good password so no one else can access your account. Register with this password using the register command: register <password> (without the brackets!).

Be sure to remember your password. The next time you connect to the BitlBee server you will need to identify <password> so that you will be recognised and logged in to all the IM services automatically.

When finished, type help quickstart2 to continue.
%
?quickstart2
Step Two: Add and Connect To your IM Account(s).

To add an account to the account list you will need to use the account add command: account add <protocol> <username> <password> [<server>].

For instance, suppose you have a Jabber account at jabber.org with handle bitlbee@jabber.org with password QuickStart, you would:

<you> account add jabber bitlbee@jabber.org QuickStart
<root> Account successfully added

Other available IM protocols are msn, oscar, yahoo and twitter. OSCAR is the protocol used by ICQ and AOL. For more information about the account add command, see help account add.

When you are finished adding your account(s) use the account on command to enable all your accounts, type help quickstart3 to continue.
%
?quickstart3
Step Three: Managing Contact Lists: Rename

Now BitlBee logs in and downloads the contact list from the IM server. In a few seconds, all your on-line buddies should show up in the control channel.

BitlBee will convert names into IRC-friendly form (for instance: tux@example.com will be given the nickname tux). If you have more than one person who would have the same name by this logic (for instance: tux@example.com and tux@bitlbee.org) the second one to log on will be tux_. The same is true if you have a tux log on to AOL and a tux log on from Yahoo.

It would be easy to get these two mixed up, so BitlBee has a rename command to change the nickname into something more suitable: rename <oldnick> <newnick>

<you> rename tux_ bitlbeetux
* tux_ is now known as bitlbeetux
<root> Nick successfully changed

When finished, type help quickstart4 to continue.
%
?quickstart4
Step Four: Managing Contact Lists: Add and Remove.

Now you might want to add some contacts, to do this we will use the add command. It needs two arguments: a connection ID (which can be a number (try account list), protocol name or (part of) the screenname) and the user's handle. It is used in the following way: add <connection> <handle>

<you> add 0 r2d2@example.com
* r2d2  has joined &bitlbee

In this case r2d2 is online, since he/she joins the channel immediately. If the user is not online you will not see them join until they log on.

Lets say you accidentally added r2d3@example.com rather than r2d2@example.com, or maybe you just want to remove a user from your list because you never talk to them. To remove a name you will want to use the remove command: remove <nick>

When finished, type help quickstart5 to continue.
%
?quickstart5
Step Five: Chatting.

First of all, a person must be on your contact list for you to chat with them (unless it's a group chat, help groupchats for more). If someone not on your contact list sends you a message, simply add them to the proper account with the add command. Once they are on your list and online, you can chat with them in &bitlbee:

<you> tux: hey, how's the weather down there?
<tux> you: a bit chilly!

Note that, although all contacts are in the &bitlbee channel, only tux will actually receive this message. The &bitlbee channel shouldn't be confused with a real IRC channel.

If you prefer chatting in a separate window, use the /msg or /query command, just like on real IRC. BitlBee will remember how you talk to someone and show his/her responses the same way. If you want to change the default behaviour (for people you haven't talked to yet), see help set private.

You know the basics. If you want to get to know more about BitlBee, please type help quickstart6.
%
?quickstart6
So you want more than just chatting? Or maybe you're just looking for a feature?

You can type help set to learn more about the possible BitlBee user settings. Among these user settings you will find options for common issues, such as changing the charset, HTML stripping and automatic connecting (simply type set to see current user settings).

For more subjects (like groupchats and away states), please type help index.

If you're still looking for something, please visit us in #bitlbee on the OFTC network (you can connect via irc.bitlbee.org), or mail us your problem/suggestion. Good luck and enjoy the Bee!
%
?commands
 * account - IM-account list maintenance
 * chat - Chatroom list maintenance
 * add - Add a buddy to your contact list
 * info - Request user information
 * remove - Remove a buddy from your contact list
 * block - Block someone
 * allow - Unblock someone
 * set - Miscellaneous settings
 * help - BitlBee help system
 * save - Save your account data
 * rename - Rename (renick) a buddy
 * yes - Accept a request
 * no - Deny a request
 * qlist - List all the unanswered questions root asked
 * register - Register yourself
 * identify - Identify yourself with your password
 * drop - Drop your account
 * blist - List all the buddies in your contact list
 * nick - Change friendly name, nick
%
?account
Syntax: account <action> [<arguments>]

Available actions: add, del, list, on, off and set. See help account <action> for more information.
%
?account add
Syntax: account add <protocol> <username> <password>

Adds an account on the given server with the specified protocol, username and password to the account list. Supported protocols right now are: Jabber, MSN, OSCAR (AIM/ICQ), Yahoo and Twitter. For more information about adding an account, see help account add <protocol>.
%
?account add jabber
Syntax: account add jabber <handle@server.tld> <password>

The handle should be a full handle, including the domain name. You can specify a servername if necessary. Normally BitlBee doesn't need this though, since it's able to find out the server by doing DNS SRV lookups.

In previous versions it was also possible to specify port numbers and/or SSL in the server tag. This is deprecated and should now be done using the account set command. This also applies to specifying a resource in the handle (like wilmer@bitlbee.org/work).
%
?account add msn
Syntax: account add msn <handle@server.tld> <password>

For MSN connections there are no special arguments.
%
?account add oscar
Syntax: account add oscar <handle> <password>

OSCAR is the protocol used to connect to AIM and/or ICQ. The servers will automatically detect if you're using a numeric or non-numeric username so there's no need to tell which network you want to connect to.

Example:
<wilmer> account add oscar 72696705 hobbelmeeuw
<root> Account successfully added
%
?account add twitter
Syntax: account add twitter <handle> <password>

This module gives you simple access to Twitter. Although it uses the Twitter API, only Twitter itself is supported at the moment.

By default all your Twitter contacts will come from a contact called twitter_(yourusername). You can change this behaviour using the mode setting (see help set mode).

To send tweets yourself, send them to the twitter_(yourusername) contact, or just write in the groupchat channel if you enabled that option.

Since Twitter now requires OAuth authentication, you should not enter your Twitter password into BitlBee. Just type a bogus password. The first time you log in, BitlBee will start OAuth authentication. (See help set oauth.)
%
?account add yahoo
Syntax: account add yahoo <handle> <password>

For Yahoo! connections there are no special arguments.
%
?account del
Syntax: account del <account id>

This commands deletes an account from your account list. You should signoff the account before deleting it.

The account ID can be a number (see account list), the protocol name or (part of) the screenname, as long as it matches only one connection.
%
?account on
Syntax: account on [<account id>]

This command will try to log into the specified account. If no account is specified, BitlBee will log into all the accounts that have the auto_connect flag set.

The account ID can be a number (see account list), the protocol name or (part of) the screenname, as long as it matches only one connection.
%
?account off
Syntax: account off [<account id>]

This command disconnects the connection for the specified account. If no account is specified, BitlBee will deactivate all active accounts and cancel all pending reconnects.

The account ID can be a number (see account list), the protocol name or (part of) the screenname, as long as it matches only one connection.
%
?account list
Syntax: account list

This command gives you a list of all the accounts known by BitlBee.
%
?account set
Syntax: account set <account id>
Syntax: account set <account id>/<setting>
Syntax: account set <account id>/<setting> <value>
Syntax: account set -del <account id>/<setting>

This command can be used to change various settings for IM accounts. For all protocols, this command can be used to change the handle or the password BitlBee uses to log in and if it should be logged in automatically. Some protocols have additional settings. You can see the settings available for a connection by typing account set <account id>.

For more infomation about a setting, see help set <setting>.

The account ID can be a number (see account list), the protocol name or (part of) the screenname, as long as it matches only one connection.
%
?chat
Syntax: chat <action> [<arguments>]

Available actions: add, del, list, with and set. See help chat <action> for more information.
%
?chat add
Syntax: chat add <account> <room> [<channel>]

Add a chatroom to the list of chatrooms you're interested in. BitlBee needs this list to map room names to a proper IRC channel name.

After adding a room to your list, you can simply use the IRC /join command to enter the room. Also, you can tell BitlBee to automatically join the room when you log in. (See chat set)

Password-protected rooms work exactly like on IRC, by passing the password as an extra argument to /join.
%
?chat del
Syntax: chat del <chat id>

This commands deletes an chatroom from your list.

The room ID can be a number (see chat list), or (part of) the name of the room/channel.
%
?chat list
Syntax: chat list

This command gives you a list of all the chatrooms known by BitlBee.
%
?chat with
Syntax: chat with <nickname>

While most chat subcommands are about named chatrooms, this command can be used to open an unnamed groupchat with one or more persons. This command is what /join #nickname used to do in older BitlBee versions.
%
?chat set
Syntax: chat set <chat id>
Syntax: chat set <chat id>/<setting>
Syntax: chat set <chat id>/<setting> <value>
Syntax: chat set -del <chat id>/<setting>

This command can be used to change various settings for chatrooms.

For more infomation about a setting, see help set <setting>.

The room ID can be a number (see chat list), or (part of) the name of the room/channel.
%
?add
Syntax: add <connection> <handle> [<nick>]
Syntax: add -tmp <connection> <handle> [<nick>]

Adds the given buddy at the specified connection to your buddy list. The account ID can be a number (see account list), the protocol name or (part of) the screenname, as long as it matches only one connection.

If you want, you can also tell BitlBee what nick to give the new contact. The -tmp option adds the buddy to the internal BitlBee structures only, not to the real contact list (like done by set handle_unknown add). This allows you to talk to people who are not in your contact list. This normally won't show you any presence notifications.

Example:
<ctrlsoft> add 3 gryp@jabber.org grijp
* grijp has joined &bitlbee
%
?info
Syntax: info <connection> <handle>
Syntax: info <nick>

Requests IM-network-specific information about the specified user. The amount of information you'll get differs per protocol. For some protocols (ATM Yahoo! and MSN) it'll give you an URL which you can visit with a normal web browser to get the information.

Example:
<ctrlsoft> info 0 72696705
<root> User info - UIN: 72696705   Nick: Lintux   First/Last name: Wilmer van der Gaast   E-mail: lintux@lintux.cx
%
?remove
Syntax: remove <nick>

Removes the specified nick from your buddy list.

Example:
<ctrlsoft> remove gryp
* gryp has quit [Leaving...]
%
?block
Syntax: block <nick>
Syntax: block <connection> <handle>
Syntax: block <connection>

Puts the specified user on your ignore list. Either specify the user's nick when you have him/her in your contact list or a connection number and a user handle.

When called with only a connection specification as an argument, the command displays the current block list for that connection.
%
?allow
Syntax: allow <nick>
Syntax: allow <connection> <handle>

Reverse of block. Unignores the specified user or user handle on specified connection.

When called with only a connection specification as an argument, the command displays the current allow list for that connection.
%
?set
Syntax: set
Syntax: set <variable>
Syntax: set <variable> <value>
Syntax: set -del <variable>

Without any arguments, this command lists all the set variables. You can also specify a single argument, a variable name, to get that variable's value. To change this value, specify the new value as the second argument. With -del you can reset a setting to its default value.

To get more help information about a setting, try:

Example:
<ctrlsoft> help set private
%
?help
Syntax: help [subject]

This command gives you the help information you're reading right now. If you don't give any arguments, it'll give a short help index.
%
?save
Syntax: save

This command saves all your nicks and accounts immediately. Handy if you have the autosave functionality disabled, or if you don't trust the program's stability... ;-)
%
?rename
Syntax: rename <oldnick> <newnick>

Renick a user in your buddy list. Very useful, in fact just very important, if you got a lot of people with stupid account names (or hard ICQ numbers).

Example:
<itsme> rename itsme_ you
* itsme_ is now known as you
%
?yes
Syntax: yes [<number>]

Sometimes an IM-module might want to ask you a question. (Accept this user as your buddy or not?) To accept a question, use the yes command.

By default, this answers the first unanswered question. You can also specify a different question as an argument. You can use the qlist command for a list of questions.
%
?no
Syntax: no [<number>]

Sometimes an IM-module might want to ask you a question. (Accept this user as your buddy or not?) To reject a question, use the no command.

By default, this answers the first unanswered question. You can also specify a different question as an argument. You can use the qlist command for a list of questions.
%
?qlist
Syntax: qlist

This gives you a list of all the unanswered questions from root.
%
?register
Syntax: register <password>

BitlBee can save your settings so you won't have to enter all your IM passwords every time you log in. If you want the Bee to save your settings, use the register command.

Please do pick a secure password, don't just use your nick as your password. Please note that IRC is not an encrypted protocol, so the passwords still go over the network in plaintext. Evil people with evil sniffers will read it all. (So don't use your root password.. ;-)

To identify yourself in later sessions, you can use the identify command. To change your password later, you can use the set password command.
%
?identify
Syntax: identify <password>

BitlBee saves all your settings (contacts, accounts, passwords) on-server. To prevent other users from just logging in as you and getting this information, you'll have to identify yourself with your password. You can register this password using the register command.

Once you're registered, you can change your password using set password <password>.
%
?drop
Syntax: drop <password>

Drop your BitlBee registration. Your account files will be removed and your password will be forgotten. For obvious security reasons, you have to specify your NickServ password to make this command work.
%
?blist
Syntax: blist [all|online|offline|away]

You can get a better readable buddy list using the blist command. If you want a complete list (including the offline users) you can use the all argument.
%
?nick
Syntax: nick <connection> [<new nick>]
Syntax: nick <connection>

Deprecated: Use the per-account display_name setting to read and change this information.

Example:
<wouter> account set 1/display_name "The majestik møøse"
<root> display_name = `The majestik møøse'
%
?set auto_connect
Type: boolean
Scope: both
Default: true

With this option enabled, when you identify BitlBee will automatically connect to your accounts, with this disabled it will not do this.

This setting can also be changed for specific accounts using the account set command. (However, these values will be ignored if the global auto_connect setting is disabled!)
%
?set auto_join
Type: boolean
Scope: chat
Default: false

With this option enabled, BitlBee will automatically join this chatroom when you log in.
%
?set auto_reconnect
Type: boolean
Scope: both
Default: true

If an IM-connections breaks, you're supposed to bring it back up yourself. Having BitlBee do this automatically might not always be a good idea, for several reasons. If you want the connections to be restored automatically, you can enable this setting.

See also the auto_reconnect_delay setting.

This setting can also be changed for specific accounts using the account set command. (However, these values will be ignored if the global auto_reconnect setting is disabled!)
%
?set auto_reconnect_delay
Type: string
Scope: global
Default: 5*3<900

Tell BitlBee after how many seconds it should attempt to bring a broken IM-connection back up.

This can be one integer, for a constant delay. One can also set it to something like "10*10", which means wait for ten seconds on the first reconnect, multiply it by ten on every failure. Once successfully connected, this delay is re-set to the initial value. With < you can give a maximum delay.

See also the auto_reconnect setting.
%
?set away
Type: string
Scope: both

To mark yourself as away, it is recommended to just use /away, like on normal IRC networks. If you want to mark yourself as away on only one IM network, you can use this per-account setting.

You can set it to any value and BitlBee will try to map it to the most appropriate away state for every open IM connection, or set it as a free-form away message where possible.

Any per-account away setting will override globally set away states. To un-set the setting, use set -del away.
%
?set away_devoice
Type: boolean
Scope: global
Default: true

With this option enabled, the root user devoices people when they go away (just away, not offline) and gives the voice back when they come back. You might dislike the voice-floods you'll get if your contact list is huge, so this option can be disabled.
%
?set base_url
Type: string
Scope: account
Default: http://twitter.com

There are more services that understand the Twitter API than just Twitter.com. BitlBee can connect to all Twitter API implementations.

For example, set this setting to http://identi.ca/api to use Identi.ca.

Keep two things in mind: When not using Twitter, you must also disable the oauth setting as it currently only works with Twitter. If you're still having issues, make sure there is no slash at the end of the URL you enter here.
%
?set buddy_sendbuffer
Type: boolean
Scope: global
Default: false

By default, when you send a message to someone, BitlBee forwards this message to the user immediately. When you paste a large number of lines, the lines will be sent in separate messages, which might not be very nice to read. If you enable this setting, BitlBee will buffer your messages and wait for more data.

Using the buddy_sendbuffer_delay setting you can specify the number of seconds BitlBee should wait for more data before the complete message is sent.

Please note that if you remove a buddy from your list (or if the connection to that user drops) and there's still data in the buffer, this data will be lost. BitlBee will not try to send the message to the user in those cases.
%
?set buddy_sendbuffer_delay
Type: integer
Scope: global
Default: 200

Tell BitlBee after how many (mili)seconds a buffered message should be sent. Values greater than 5 will be interpreted as miliseconds, 5 and lower as seconds.

See also the buddy_sendbuffer setting.
%
?set charset
Type: string
Scope: global
Default: utf-8
Possible Values: you can get a list of all possible values by doing 'iconv -l' in a shell

This setting tells BitlBee what your IRC client sends and expects. It should be equal to the charset setting of your IRC client if you want to be able to send and receive non-ASCII text properly.

Most systems use UTF-8 these days. On older systems, an iso8859 charset may work better. For example, iso8859-1 is the best choice for most Western countries. You can try to find what works best for you on http://www.unicodecharacter.com/charsets/iso8859.html
%
?set control_channel
Type: string
Scope: global
Default: &bitlbee

Normally the control channel where you can see all your contacts is called "&bitlbee". If you don't like this name, you can rename it to anything else using the rename command, or by changing this setting.
%
?set debug
Type: boolean
Scope: global
Default: false

Some debugging messages can be sent to the control channel if you wish. They're probably not really useful for you, unless you're doing some development on BitlBee.
%
?set default_target
Type: string
Scope: global
Default: root
Possible Values: root, last

With this value set to root, lines written in the control channel without any nickname in front of them will be interpreted as commands. If you want BitlBee to send those lines to the last person you addressed in the control channel, set this to last.
%
?set display_name
Type: string
Scope: account

Currently only available for MSN connections. This setting allows you to read and change your "friendly name" for this connection. Since this is a server-side setting, it can't be changed when the account is off-line.
%
?set display_namechanges
Type: boolean
Scope: global
Default: false

With this option enabled, root will inform you when someone in your buddy list changes his/her "friendly name".
%
?set display_timestamps
Type: boolean
Scope: global
Default: true

When incoming messages are old (i.e. offline messages and channel backlogs), BitlBee will prepend them with a timestamp. If you find them ugly or useless, you can use this setting to hide them.
%
?set handle_unknown
Type: string
Scope: global
Default: root
Possible Values: root, add, add_private, add_channel, ignore

Messages from unknown users are echoed like this by default:

<root> Unknown message from handle 3137137:
<root> j0000! 1 4m l33t h4x0r! kill me!

If you want this lame user to be added automatically, you can set this setting to "add". If you prefer to ignore messages from people you don't know, you can set this one to "ignore". "add_private" and "add_channel" are like add, but you can use them to make messages from unknown buddies appear in the channel instead of a query window.

Auto-added users aren't added to your real contact list. This is because you don't want the user to get authorization requests. So when you restart BitlBee, the auto-added user will be gone. If you want to keep the person in your buddy-list, you have to fixate the add using the add command.
%
?set ignore_auth_requests
Type: boolean
Scope: account
Default: false

Only supported by OSCAR so far, you can use this setting to ignore ICQ authorization requests, which are hardly used for legitimate (i.e. non-spam) reasons anymore.
%
?set lcnicks
Type: boolean
Scope: global
Default: true

Hereby you can change whether you want all lower case nick names or leave the case as it intended by your peer.
%
?set local_display_name
Type: boolean
Scope: account
Default: false

Mostly meant to work around a bug in MSN servers (forgetting the display name set by the user), this setting tells BitlBee to store your display name locally and set this name on the MSN servers when connecting.
%
?set mail_notifications
Type: boolean
Scope: account
Default: false

Some protocols (MSN, Yahoo!) can notify via IM about new e-mail. Since most people use their Hotmail/Yahoo! addresses as a spam-box, this is disabled default. If you want these notifications, you can enable this setting.
%
?set message_length
Type: integer
Scope: account
Default: 140

Since Twitter rejects messages longer than 140 characters, BitlBee can count message length and emit a warning instead of waiting for Twitter to reject it.

You can change this limit here but this won't disable length checks on Twitter's side. You can also set it to 0 to disable the check in case you believe BitlBee doesn't count the characters correctly.
%
?set mode
Type: string
Scope: account
Default: one
Possible Values: one, many, chat

By default, everything from the Twitter module will come from one nick, twitter_(yourusername). If you prefer to have individual nicks for everyone, you can set this setting to "many" instead.

If you prefer to have all your Twitter things in a separate channel, you can set this setting to "chat".

In the last two modes, you can send direct messages by /msg'ing your contacts directly. Note, however, that incoming DMs are not fetched yet.
%
?set nick
Type: string
Scope: chat

You can use this option to set your nickname in a chatroom. You won't see this nickname yourself, but other people in the room will. By default, BitlBee will use your username as the chatroom nickname.
%
?set nick_source
Type: string
Scope: account
Default: handle
Possible Values: handle, full_name, first_name

By default, BitlBee generates a nickname for every contact by taking its handle and chopping off everything after the @. In some cases, this gives very inconvenient nicknames. The Facebook XMPP server is a good example, as all Facebook XMPP handles are numeric.

With this setting set to full_name, the person's full name is used to generate a nickname. Or if you don't like long nicknames, set this setting to first_name instead and only the first word will be used. Note that the full name can be full of non-ASCII characters which will be stripped off.
%
?set oauth
Type: boolean
Scope: account
Default: true

This enables OAuth authentication for Twitter accounts. From June 2010 this will be mandatory.

With OAuth enabled, you shouldn't tell BitlBee your Twitter password. Just add your account with a bogus password and type account on. BitlBee will then give you a URL to authenticate with Twitter. If this succeeds, Twitter will return a PIN code which you can give back to BitlBee to finish the process.

The resulting access token will be saved permanently, so you have to do this only once.
%
?set ops
Type: string
Scope: global
Default: both
Possible Values: both, root, user, none

Some people prefer themself and root to have operator status in &bitlbee, other people don't. You can change these states using this setting.

The value "both" means both user and root get ops. "root" means, well, just root. "user" means just the user. "none" means nobody will get operator status.
%
?set password
Type: string
Scope: both

Use this global setting to change your "NickServ" password.

This setting is also available for all IM accounts to change the password BitlBee uses to connect to the service.

Note that BitlBee will always say this setting is empty. This doesn't mean there is no password, it just means that, for security reasons, BitlBee stores passwords somewhere else so they can't just be retrieved in plain text.
%
?set port
Type: integer
Scope: account

Currently only available for Jabber connections. Specifies the port number to connect to. Usually this should be set to 5222, or 5223 for SSL-connections.
%
?set priority
Type: integer
Scope: account
Default: 0

Can be set for Jabber connections. When connecting to one account from multiple places, this priority value will help the server to determine where to deliver incoming messages (that aren't addressed to a specific resource already).

According to RFC 3921 servers will always deliver messages to the server with the highest priority value. Mmessages will not be delivered to resources with a negative priority setting (and should be saved as an off-line message if all available resources have a negative priority value).
%
?set private
Type: boolean
Scope: global
Default: true

If value is true, messages from users will appear in separate query windows. If false, messages from users will appear in the control channel.

This setting is remembered (during one session) per-user, this setting only changes the default state. This option takes effect as soon as you reconnect.
%
?set query_order
Type: string
Scope: global
Default: lifo
Possible Values: lifo, fifo

This changes the order in which the questions from root (usually authorization requests from buddies) should be answered. When set to lifo, BitlBee immediately displays all new questions and they should be answered in reverse order. When this is set to fifo, BitlBee displays the first question which comes in and caches all the others until you answer the first one.

Although the fifo setting might sound more logical (and used to be the default behaviour in older BitlBee versions), it turned out not to be very convenient for many users when they missed the first question (and never received the next ones).
%
?set resource
Type: string
Scope: account
Default: BitlBee

Can be set for Jabber connections. You can use this to connect to your Jabber account from multiple clients at once, with every client using a different resource string.
%
?set resource_select
Type: string
Scope: account
Default: activity
Possible Values: priority, activity

Because the IRC interface makes it pretty hard to specify the resource to talk to (when a buddy is online through different resources), this setting was added.

Normally it's set to priority which means messages will always be delivered to the buddy's resource with the highest priority. If the setting is set to activity, messages will be delivered to the resource that was last used to send you a message (or the resource that most recently connected).
%
?set root_nick
Type: string
Scope: global
Default: root

Normally the "bot" that takes all your BitlBee commands is called "root". If you don't like this name, you can rename it to anything else using the rename command, or by changing this setting.
%
?set save_on_quit
Type: boolean
Scope: global
Default: true

If enabled causes BitlBee to save all current settings and account details when user disconnects. This is enabled by default, and these days there's not really a reason to have it disabled anymore.
%
?set server
Type: string
Scope: account

Can be set for Jabber- and OSCAR-connections. For Jabber, you might have to set this if the servername isn't equal to the part after the @ in the Jabber handle. For OSCAR this shouldn't be necessary anymore in recent BitlBee versions.
%
?set show_offline
Type: boolean
Scope: global
Default: false

If enabled causes BitlBee to also show offline users in Channel. Online-users will get op, away-users voice and offline users none of both. This option takes effect as soon as you reconnect.
%
?set simulate_netsplit
Type: boolean
Scope: global
Default: true

Some IRC clients parse quit messages sent by the IRC server to see if someone really left or just disappeared because of a netsplit. By default, BitlBee tries to simulate netsplit-like quit messages to keep the control channel window clean. If you don't like this (or if your IRC client doesn't support this) you can disable this setting.
%
?set ssl
Type: boolean
Scope: account
Default: false

Currently only available for Jabber connections. Set this to true if the server accepts SSL connections.
%
?set status
Type: string
Scope: both

Certain protocols (like Jabber/XMPP) support status messages, similar to away messages. They can be used to indicate things like your location or activity, without showing up as away/busy.

This setting can be used to set such a message. It will be available as a per-account setting for protocols that support it, and also as a global setting (which will then automatically be used for all protocols that support it).

Away states set using /away or the away setting will override this setting. To un-set the setting, use set -del status.
%
?set strip_html
Type: boolean
Scope: global
Default: true

Determines what BitlBee should do with HTML in messages. Normally this is turned on and HTML will be stripped from messages, if BitlBee thinks there is HTML.

If BitlBee fails to detect this sometimes (most likely in AIM messages over an ICQ connection), you can set this setting to always, but this might sometimes accidentally strip non-HTML things too.
%
?set switchboard_keepalives
Type: boolean
Scope: account
Default: false

Turn on this flag if you have difficulties talking to offline/invisible contacts.

With this setting enabled, BitlBee will send keepalives to MSN switchboards with offline/invisible contacts every twenty seconds. This should keep the server and client on the other side from shutting it down.

This is useful because BitlBee doesn't support MSN offline messages yet and the MSN servers won't let the user reopen switchboards to offline users. Once offline messaging is supported, this flag might be removed.
%
?set timezone
Type: string
Scope: global
Default: local
Possible Values: local, utc, gmt, timezone-spec

If message timestamps are available for offline messages or chatroom backlogs, BitlBee will display them as part of the message. By default it will use the local timezone. If you're not in the same timezone as the BitlBee server, you can adjust the timestamps using this setting.

Values local/utc/gmt should be self-explanatory. timezone-spec is a time offset in hours:minutes, for example: -8 for Pacific Standard Time, +2 for Central European Summer Time, +5:30 for Indian Standard Time.
%
?set tls
Type: boolean
Scope: account
Default: try

Newer Jabber servers allow clients to convert a plain-text session to a TLS/SSL-encrypted session. Normally (with this setting set to try) BitlBee will do this, if possible.

If you want to force BitlBee to use TLS sessions only (and to give up if that doesn't seem to be possible) you can set this setting to true. Set it to false if you want the session to remain plain-text.
%
?set to_char
Type: string
Scope: global
Default: ": "

It's customary that messages meant for one specific person on an IRC channel are prepended by his/her alias followed by a colon ':'. BitlBee does this by default. If you prefer a different character, you can set it using set to_char.

Please note that this setting is only used for incoming messages. For outgoing messages you can use ':' (colon) or ',' to separate the destination nick from the message, and this is not configurable.
%
?set typing_notice
Type: boolean
Scope: global
Default: false

Sends you a /notice when a user starts typing a message (if supported by the IM protocol and the user's client). To use this, you most likely want to use a script in your IRC client to show this information in a more sensible way.
%
?set user_agent
Type: string
Scope: account
Default: BitlBee

Some Jabber servers are configured to only allow a few (or even just one) kinds of XMPP clients to connect to them.

You can change this setting to make BitlBee present itself as a different client, so that you can still connect to these servers.
%
?set web_aware
Type: string
Scope: account
Default: false

ICQ allows people to see if you're on-line via a CGI-script. (http://status.icq.com/online.gif?icq=UIN) This can be nice to put on your website, but it seems that spammers also use it to see if you're online without having to add you to their contact list. So to prevent ICQ spamming, recent versions of BitlBee disable this feature by default.

Unless you really intend to use this feature somewhere (on forums or maybe a website), it's probably better to keep this setting disabled.
%
?set xmlconsole
Type: boolean
Scope: account
Default: false

The Jabber module allows you to add a buddy xmlconsole to your contact list, which will then show you the raw XMPP stream between you and the server. You can also send XMPP packets to this buddy, which will then be sent to the server.

If you want to enable this XML console permanently (and at login time already), you can set this setting.
%
?misc
%
?smileys
All MSN smileys (except one) are case insensitive and work without the nose too.

 (Y) - Thumbs up
 (N) - Thumbs down
 (B) - Beer mug
 (D) - Martini glass
 (X) - Girl
 (Z) - Boy
 (6) - Devil smiley
 :-[ - Vampire bat
 (}) - Right hug
 ({) - Left hug
 (M) - MSN Messenger or Windows Messenger icon (think a BitlBee logo here ;)
 :-S - Crooked smiley (Confused smiley)
 :-$ - Embarrassed smiley
 (H) - Smiley with sunglasses
 :-@ - Angry smiley
 (A) - Angel smiley
 (L) - Red heart (Love)
 (U) - Broken heart
 (K) - Red lips (Kiss)
 (G) - Gift with bow
 (F) - Red rose
 (W) - Wilted rose
 (P) - Camera
 (~) - Film strip
 (T) - Telephone receiver
 (@) - Cat face
 (&) - Dog's head
 (C) - Coffee cup
 (I) - Light bulb
 (S) - Half-moon (Case sensitive!)
 (*) - Star
 (8) - Musical eighth note
 (E) - Envelope
 (^) - Birthday cake
 (O) - Clock
%
?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 the control channel (or to root directly).

Of course you can also create your own groupchats. Type help groupchats2 to see how.
%
?groupchats2
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 now supports these too. You can use the chat add command to join them. See help chat add for more information.
%
?away
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 accross 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.
%
