<chapter id="commands">
	<title>Bitlbee commands</title>

	<command-list/>

	<bitlbee-command name="account">
		<short-description>IM-account list maintenance</short-description>
		<syntax>account [&lt;account id&gt;] &lt;action&gt; [&lt;arguments&gt;]</syntax>

		<description>

			<para>
				Available actions: add, del, list, on, off and set. See <emphasis>help account &lt;action&gt;</emphasis> for more information.
			</para>

		</description>

		<bitlbee-command name="add">
			<syntax>account add &lt;protocol&gt; &lt;username&gt; [&lt;password&gt;]</syntax>

			<description>
				<para>
					Adds an account on the given server with the specified protocol, username and password to the account list. For a list of supported protocols, use the <emphasis>plugins</emphasis> command. For more information about adding an account, see <emphasis>help account add &lt;protocol&gt;</emphasis>.
				</para>

				<para>
					You can omit the password and enter it separately using the IRC /OPER command. This lets you enter your password without your IRC client echoing it on screen or recording it in logs.
				</para>
			</description>
			
			<bitlbee-command name="jabber">
				<syntax>account add jabber &lt;handle@server.tld&gt; [&lt;password&gt;]</syntax>

				<description>
					<para>
						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.
					</para>

					<para>
						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 <emphasis>account set</emphasis> command. This also applies to specifying a resource in the handle (like <emphasis>wilmer@bitlbee.org/work</emphasis>).
					</para>
				</description>
			</bitlbee-command>

			<bitlbee-command name="msn">
				<syntax>account add msn &lt;handle@server.tld&gt; [&lt;password&gt;]</syntax>

				<description>
					<para>
						For MSN connections there are no special arguments.
					</para>
				</description>
			</bitlbee-command>
			
			<bitlbee-command name="oscar">
				<syntax>account add oscar &lt;handle&gt; [&lt;password&gt;]</syntax>

				<description>
					<para>
						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.
					</para>
				</description>

				<ircexample>
					<ircline nick="wilmer">account add oscar 72696705 hobbelmeeuw</ircline>
					<ircline nick="root">Account successfully added</ircline>
				</ircexample>
			</bitlbee-command>
			
			<bitlbee-command name="twitter">
				<syntax>account add twitter &lt;handle&gt;</syntax>

				<description>
					<para>
						This module gives you simple access to Twitter and Twitter API compatible services.
					</para>
					
					<para>
						By default all your Twitter contacts will appear in a new channel called #twitter_yourusername. You can change this behaviour using the <emphasis>mode</emphasis> setting (see <emphasis>help set mode</emphasis>).
					</para>
					
					<para>
						To send tweets yourself, send them to the twitter_(yourusername) contact, or just write in the groupchat channel if you enabled that option.
					</para>

					<para>
						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 <emphasis>help set oauth</emphasis>.)
					</para>
					
					<para>
						To use a non-Twitter service, change the <emphasis>base_url</emphasis> setting. For identi.ca, you can simply use <emphasis>account add identica</emphasis>.
					</para>
				</description>
			</bitlbee-command>
			
			<bitlbee-command name="identica">
				<syntax>account add identica &lt;handle&gt;</syntax>

				<description>
					<para>
						Same protocol as <emphasis>twitter</emphasis>, but defaults to a <emphasis>base_url</emphasis> pointing at identi.ca. It also works with OAuth (so don't specify your password).
					</para>
				</description>
			</bitlbee-command>

		</bitlbee-command>

		<bitlbee-command name="del">
			<syntax>account &lt;account id&gt; del</syntax>

			<description>
				<para>
					This command deletes an account from your account list. You should signoff the account before deleting it.
				</para>


				<para>
					The account ID can be a number/tag (see <emphasis>account list</emphasis>), the protocol name or (part of) the screenname, as long as it matches only one connection.
				</para>
			</description>
		</bitlbee-command>

		<bitlbee-command name="on">
			<syntax>account [&lt;account id&gt;] on</syntax>

			<description>
				<para>
					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.
				</para>

				<para>
					The account ID can be a number/tag (see <emphasis>account list</emphasis>), the protocol name or (part of) the screenname, as long as it matches only one connection.
				</para>
			</description>

		</bitlbee-command>

		<bitlbee-command name="off">
			<syntax>account [&lt;account id&gt;] off</syntax>

			<description>
				<para>
					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.
				</para>

				<para>
					The account ID can be a number/tag (see <emphasis>account list</emphasis>), the protocol name or (part of) the screenname, as long as it matches only one connection.
				</para>
			</description>
		</bitlbee-command>

		<bitlbee-command name="list">
			<syntax>account list</syntax>

			<description>
				<para>
					This command gives you a list of all the accounts known by BitlBee.
				</para>
			</description>
		</bitlbee-command>

		<bitlbee-command name="set">
			<syntax>account &lt;account id&gt; set</syntax>
			<syntax>account &lt;account id&gt; set &lt;setting&gt;</syntax>
			<syntax>account &lt;account id&gt; set &lt;setting&gt; &lt;value&gt;</syntax>
			<syntax>account &lt;account id&gt; set -del &lt;setting&gt;</syntax>

			<description>
				<para>
					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 <emphasis>account &lt;account id&gt; set</emphasis>.
				</para>
				
				<para>
					For more information about a setting, see <emphasis>help set &lt;setting&gt;</emphasis>.
				</para>
				
				<para>
					The account ID can be a number/tag (see <emphasis>account list</emphasis>), the protocol name or (part of) the screenname, as long as it matches only one connection.
				</para>
			</description>
		</bitlbee-command>
	</bitlbee-command>

	<bitlbee-command name="channel">
		<short-description>Channel list maintenance</short-description>
		<syntax>channel [&lt;account id&gt;] &lt;action&gt; [&lt;arguments&gt;]</syntax>

		<description>
			<para>
				Available actions: del, list, set. See <emphasis>help channel &lt;action&gt;</emphasis> for more information.
			</para>
			
			<para>
				There is no <emphasis>channel add</emphasis> command. To create a new channel, just use the IRC <emphasis>/join</emphasis> command. See also <emphasis>help channels</emphasis> and <emphasis>help groupchats</emphasis>.
			</para>
		</description>

		<bitlbee-command name="del">
			<syntax>channel &lt;channel id&gt; del</syntax>

			<description>
				<para>
					Remove a channel and forget all its settings. You can only remove channels you're not currently in, and can't remove the main control channel. (You can, however, leave it.)
				</para>
			</description>

		</bitlbee-command>

		<bitlbee-command name="list">
			<syntax>channel list</syntax>

			<description>
				<para>
					This command gives you a list of all the channels you configured.
				</para>
			</description>

		</bitlbee-command>

		<bitlbee-command name="set">
			<syntax>channel [&lt;channel id&gt;] set</syntax>
			<syntax>channel [&lt;channel id&gt;] set &lt;setting&gt;</syntax>
			<syntax>channel [&lt;channel id&gt;] set &lt;setting&gt; &lt;value&gt;</syntax>
			<syntax>channel [&lt;channel id&gt;] set -del &lt;setting&gt;</syntax>

			<description>
				<para>
					This command can be used to change various settings for channels. Different channel types support different settings. You can see the settings available for a channel by typing <emphasis>channel &lt;channel id&gt; set</emphasis>.
				</para>
				
				<para>
					For more information about a setting, see <emphasis>help set &lt;setting&gt;</emphasis>.
				</para>
				
				<para>
					The channel ID can be a number (see <emphasis>channel list</emphasis>), or (part of) its name, as long as it matches only one channel. If you want to change settings of the current channel, you can omit the channel ID.
				</para>
			</description>
		</bitlbee-command>

	</bitlbee-command>

	<bitlbee-command name="chat">
		<short-description>Chatroom list maintenance</short-description>
		<syntax>chat &lt;action&gt; [&lt;arguments&gt;]</syntax>

		<description>

			<para>
				Available actions: add, with, list. See <emphasis>help chat &lt;action&gt;</emphasis> for more information.
			</para>

		</description>

		<bitlbee-command name="add">
			<syntax>chat add &lt;account id&gt; &lt;room|!index&gt; [&lt;channel&gt;]</syntax>

			<description>
				<para>
					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.
				</para>

				<para>
					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. (<emphasis>channel &lt;channel&gt; set auto_join true</emphasis>)
				</para>

				<para>
					Password-protected rooms work exactly like on IRC, by passing the password as an extra argument to /join.
				</para>
			</description>

		</bitlbee-command>

		<bitlbee-command name="list">
			<syntax>chat list &lt;account id&gt; [&lt;server&gt;]</syntax>

			<description>
				<para>
					List existing named chatrooms provided by an account. Chats from this list can be referenced from <emphasis>chat add</emphasis> by using the number in the index column after a "!" as a shortcut.
				</para>

				<para>
					The server parameter is optional and currently only used by jabber.
				</para>
			</description>

			<ircexample>
				<ircline nick="dx">chat list facebook</ircline>
				<ircline pre="1" nick="root">Index  Title                 Topic</ircline>
				<ircline pre="1" nick="root">    1  869891016470949       cool kids club</ircline>
				<ircline pre="1" nick="root">    2  457892181062459       uncool kids club</ircline>
				<ircline nick="root">2 facebook chatrooms</ircline>
				<ircline nick="dx">chat add facebook !1 #cool-kids-club</ircline>
			</ircexample>
		</bitlbee-command>

		<bitlbee-command name="with">
			<syntax>chat with &lt;nickname&gt;</syntax>

			<description>
				<para>
					While most <emphasis>chat</emphasis> subcommands are about named chatrooms, this command can be used to open an unnamed groupchat with one or more persons. This command is what <emphasis>/join #nickname</emphasis> used to do in older BitlBee versions.
				</para>

				<para>
					Another way to do this is to join to a new, empty channel with <emphasis>/join #newchannel</emphasis> and invite the first person with <emphasis>/invite nickname</emphasis>
				</para>
			</description>
		</bitlbee-command>
	</bitlbee-command>

	<bitlbee-command name="add">
		<short-description>Add a buddy to your contact list</short-description>
		<syntax>add &lt;account id&gt; &lt;handle&gt; [&lt;nick&gt;]</syntax>
		<syntax>add -tmp &lt;account id&gt; &lt;handle&gt; [&lt;nick&gt;]</syntax>

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

			<para>
				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 <emphasis>set handle_unknown add</emphasis>). This allows you to talk to people who are not in your contact list. This normally won't show you any presence notifications.
			</para>

			<para>
				If you use this command in a control channel containing people from only one group, the new contact will be added to that group automatically.
			</para>
		</description>

		<ircexample>
			<ircline nick="ctrlsoft">add 3 gryp@jabber.org grijp</ircline>
			<ircaction nick="grijp" hostmask="gryp@jabber.org">has joined <emphasis>&amp;bitlbee</emphasis></ircaction>
		</ircexample>
	</bitlbee-command>

	<bitlbee-command name="info">
		<short-description>Request user information</short-description>
		<syntax>info &lt;connection&gt; &lt;handle&gt;</syntax>
		<syntax>info &lt;nick&gt;</syntax>

		<description>
			<para>
				Requests IM-network-specific information about the specified user. The amount of information you'll get differs per protocol. For some protocols it'll give you an URL which you can visit with a normal web browser to get the information.
			</para>
		</description>

		<ircexample>
			<ircline nick="ctrlsoft">info 0 72696705</ircline>
			<ircline nick="root">User info - UIN: 72696705   Nick: Lintux   First/Last name: Wilmer van der Gaast   E-mail: lintux@lintux.cx</ircline>
		</ircexample>

	</bitlbee-command>

	<bitlbee-command name="remove">
		<short-description>Remove a buddy from your contact list</short-description>
		<syntax>remove &lt;nick&gt;</syntax>

		<description>
			<para>
				Removes the specified nick from your buddy list. 
			</para>
		</description>

		<ircexample>
			<ircline nick="ctrlsoft">remove gryp</ircline>
			<ircaction nick="gryp" hostmask="gryp@jabber.jabber.org">has quit <emphasis>[Leaving...]</emphasis></ircaction>
		</ircexample>

	</bitlbee-command>

	<bitlbee-command name="block">
		<short-description>Block someone</short-description>
		<syntax>block &lt;nick&gt;</syntax>
		<syntax>block &lt;connection&gt; &lt;handle&gt;</syntax>
		<syntax>block &lt;connection&gt;</syntax>

		<description>
			<para>
				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.
			</para>
			
			<para>
				When called with only a connection specification as an argument, the command displays the current block list for that connection.
			</para>
		</description>
	</bitlbee-command>

	<bitlbee-command name="allow">
		<short-description>Unblock someone</short-description>
		<syntax>allow &lt;nick&gt;</syntax>
		<syntax>allow &lt;connection&gt; &lt;handle&gt;</syntax>

		<description>
			<para>
				Reverse of block. Unignores the specified user or user handle on specified connection.
			</para>
			
			<para>
				When called with only a connection specification as an argument, the command displays the current allow list for that connection.
			</para>
		</description>
	</bitlbee-command>
	
	<bitlbee-command name="otr">
		<short-description>Off-the-Record encryption control</short-description>
		<syntax>otr &lt;subcommand&gt; [&lt;arguments&gt;]</syntax>

		<description>

			<para>
				Available subcommands: connect, disconnect, reconnect, smp, smpq, trust, info, keygen, and forget. See <emphasis>help otr &lt;subcommand&gt;</emphasis> for more information.
			</para>

		</description>
		
		<bitlbee-command name="connect">
			<syntax>otr connect &lt;nick&gt;</syntax>
			
			<description>
			
				<para>
					Attempts to establish an encrypted connection with the specified user by sending a magic string.
				</para>
				
			</description>
		
		</bitlbee-command>
		
		<bitlbee-command name="disconnect">
			<syntax>otr disconnect &lt;nick&gt;</syntax>
			<syntax>otr disconnect *</syntax>
			
			<description>
			
				<para>
					Resets the connection with the specified user/all users to cleartext.
				</para>
				
			</description>
		
		</bitlbee-command>
		
		<bitlbee-command name="reconnect">
			<syntax>otr reconnect &lt;nick&gt;</syntax>
			
			<description>
			
				<para>
					Breaks and re-establishes the encrypted connection with the specified user. Useful if something got desynced.
				</para>
				
				<para>
					Equivalent to <emphasis>otr disconnect</emphasis> followed by <emphasis>otr connect</emphasis>.
				</para>
				
			</description>
		
		</bitlbee-command>
		
		<bitlbee-command name="smp">
			<syntax>otr smp &lt;nick&gt; &lt;secret&gt;</syntax>
			
			<description>
			
				<para>
					Attempts to authenticate the given user's active fingerprint via the Socialist Millionaires' Protocol.
				</para>
				
				<para>
					If an SMP challenge has been received from the given user, responds with the specified secret/answer. Otherwise, sends a challenge for the given secret.
				</para>
				
				<para>
					Note that there are two flavors of SMP challenges: "shared-secret" and "question &amp; answer". This command is used to respond to both of them, or to initiate a shared-secret style exchange. Use the <emphasis>otr smpq</emphasis> command to initiate a "Q&amp;A" session.
				</para>
				
				<para>
					When responding to a "Q&amp;A" challenge, the local trust value is not altered. Only the <emphasis>asking party</emphasis> sets trust in the case of success. Use <emphasis>otr smpq</emphasis> to pose your challenge. In a shared-secret exchange, both parties set their trust according to the outcome.
				</para>
				
			</description>
		
		</bitlbee-command>
		
		<bitlbee-command name="smpq">
			<syntax>otr smpq &lt;nick&gt; &lt;question&gt; &lt;answer&gt;</syntax>
			
			<description>
			
				<para>
					Attempts to authenticate the given user's active fingerprint via the Socialist Millionaires' Protocol, Q&amp;A style.
				</para>

				<para>
					Initiates an SMP session in "question &amp; answer" style. The question is transmitted with the initial SMP packet and used to prompt the other party. You must be confident that only they know the answer. If the protocol succeeds (i.e. they answer correctly), the fingerprint will be trusted. Note that the answer must be entered exactly, case and punctuation count!
				</para>
				
				<para>
					Note that this style of SMP only affects the trust setting on your side. Expect your opponent to send you their own challenge. Alternatively, if you and the other party have a shared secret, use the <emphasis>otr smp</emphasis> command.
				</para>
				
			</description>
		
		</bitlbee-command>
		
		<bitlbee-command name="trust">
			<syntax>otr trust &lt;nick&gt; &lt;fp1&gt; &lt;fp2&gt; &lt;fp3&gt; &lt;fp4&gt; &lt;fp5&gt;</syntax>
			
			<description>
			
				<para>
					Manually affirms trust in the specified fingerprint, given as five blocks of precisely eight (hexadecimal) digits each.
				</para>
				
			</description>
		
		</bitlbee-command>
		
		<bitlbee-command name="info">
			<syntax>otr info</syntax>
			<syntax>otr info &lt;nick&gt;</syntax>
			
			<description>
			
				<para>
					Shows information about the OTR state. The first form lists our private keys and current OTR contexts. The second form displays information about the connection with a given user, including the list of their known fingerprints.
				</para>
				
			</description>
		
		</bitlbee-command>
		
		<bitlbee-command name="keygen">
			<syntax>otr keygen &lt;account-no&gt;</syntax>
			
			<description>
			
				<para>
					Generates a new OTR private key for the given account.
				</para>
				
			</description>
		
		</bitlbee-command>
		
		<bitlbee-command name="forget">
			<syntax>otr forget &lt;thing&gt; &lt;arguments&gt;</syntax>
			
			<description>
			
				<para>
					Forgets some part of our OTR userstate. Available things: fingerprint, context, and key. See <emphasis>help otr forget &lt;thing&gt;</emphasis> for more information.
				</para>
			
			</description>
			
			<bitlbee-command name="fingerprint">
				<syntax>otr forget fingerprint &lt;nick&gt; &lt;fingerprint&gt;</syntax>
				
				<description>
				
					<para>
						Drops the specified fingerprint from the given user's OTR connection context. It is allowed to specify only a (unique) prefix of the desired fingerprint.
					</para>
					
				</description>
				
			</bitlbee-command>
				
			<bitlbee-command name="context">
				<syntax>otr forget context &lt;nick&gt;</syntax>
				
				<description>
				
					<para>
						Forgets the entire OTR context associated with the given user. This includes current message and protocol states, as well as any fingerprints for that user.
					</para>
					
				</description>
				
			</bitlbee-command>

			<bitlbee-command name="key">
				<syntax>otr forget key &lt;fingerprint&gt;</syntax>
				
				<description>
				
					<para>
						Forgets an OTR private key matching the specified fingerprint. It is allowed to specify only a (unique) prefix of the fingerprint.
					</para>
					
				</description>
				
			</bitlbee-command>
		
		</bitlbee-command>
		
	</bitlbee-command>

	<bitlbee-command name="set">
		<short-description>Miscellaneous settings</short-description>
		<syntax>set</syntax>
		<syntax>set &lt;variable&gt;</syntax>
		<syntax>set &lt;variable&gt; &lt;value&gt;</syntax>
		<syntax>set -del &lt;variable&gt;</syntax>

		<description>

			<para>
				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 <emphasis>-del</emphasis> you can reset a setting to its default value.
			</para>

			<para>
				To get more help information about a setting, try:
			</para>

		</description>

		<ircexample>
			<ircline nick="ctrlsoft">help set private</ircline>
		</ircexample>

	</bitlbee-command>

	<bitlbee-command name="help">
		<short-description>BitlBee help system</short-description>

		<syntax>help [subject]</syntax>

		<description>
			<para>
				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.
			</para>
		</description>
	</bitlbee-command>

	<bitlbee-command name="save">
		<short-description>Save your account data</short-description>
		<syntax>save</syntax>

		<description>
			<para>
				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... ;-)
			</para>
		</description>
	</bitlbee-command>

	<bitlbee-setting name="account" type="string" scope="channel">

		<description>
			<para>
				For control channels with <emphasis>fill_by</emphasis> set to <emphasis>account</emphasis>: Set this setting to the account id (numeric, or part of the username) of the account containing the contacts you want to see in this channel.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="allow_takeover" type="boolean" scope="global">
		<default>true</default>

		<description>
			<para>
				When you're already connected to a BitlBee server and you connect (and identify) again, BitlBee will offer to migrate your existing session to the new connection. If for whatever reason you don't want this, you can disable this setting.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="always_use_nicks" type="boolean" scope="channel">
		<default>false</default>

		<description>
			<para>
				Jabber groupchat specific. This setting ensures that the nicks defined by the other members of a groupchat are used, instead of the username part of their JID. This only applies to groupchats where their real JID is known (either "non-anonymous" ones, or "semi-anonymous" from the point of view of the channel moderators)
			</para>

			<para>
				Enabling this may have the side effect of changing the nick of existing contacts, either in your buddy list or in other groupchats. If a contact is in multiple groupchats with different nicks, enabling this setting for all those would result in multiple nick changes when joining, and the order of those changes may vary.
			</para>

			<para>
				Note that manual nick changes done through the <emphasis>rename</emphasis> command always take priority
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="auto_connect" type="boolean" scope="account,global">
		<default>true</default>

		<description>
			<para>
				With this option enabled, when you identify BitlBee will automatically connect to your accounts, with this disabled it will not do this.
			</para>
			
			<para>
				This setting can also be changed for specific accounts using the <emphasis>account set</emphasis> command. (However, these values will be ignored if the global <emphasis>auto_connect</emphasis> setting is disabled!)
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="auto_join" type="boolean" scope="channel">
		<default>false</default>

		<description>
			<para>
				With this option enabled, BitlBee will automatically join this channel when you log in.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="auto_reconnect" type="boolean" scope="account,global">
		<default>true</default>

		<description>
			<para>
				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.
			</para>

			<para>
				See also the <emphasis>auto_reconnect_delay</emphasis> setting.
			</para>

			<para>
				This setting can also be changed for specific accounts using the <emphasis>account set</emphasis> command. (However, these values will be ignored if the global <emphasis>auto_reconnect</emphasis> setting is disabled!)
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="auto_reconnect_delay" type="string" scope="global">
		<default>5*3&lt;900</default>

		<description>
			<para>
				Tell BitlBee after how many seconds it should attempt to bring a broken IM-connection back up.
			</para>

			<para>
				This can be one integer, for a constant delay. One can also set it to something like &quot;10*10&quot;, 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 &lt; you can give a maximum delay.
			</para>

			<para>
				See also the <emphasis>auto_reconnect</emphasis> setting.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="auto_reply_timeout" type="integer" scope="account">
		<default>10800</default>

		<description>
			<para>
				For Twitter accounts: If you respond to Tweets IRC-style (like "nickname: reply"), this will automatically be converted to the usual Twitter format ("@screenname reply").
			</para>

			<para>
				By default, BitlBee will then also add a reference to that person's most recent Tweet, unless that message is older than the value of this setting in seconds.
			</para>

			<para>
				If you want to disable this feature, just set this to 0. Alternatively, if you want to write a message once that is <emphasis>not</emphasis> a reply, use the Twitter reply syntax (@screenname).
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="away" type="string" scope="account,global">
		<description>
			<para>
				To mark yourself as away, it is recommended to just use <emphasis>/away</emphasis>, 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.
			</para>

			<para>
				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.
			</para>

			<para>
				Any per-account away setting will override globally set away states. To un-set the setting, use <emphasis>set -del away</emphasis>.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="away_devoice" type="boolean" scope="global">
		<default>true</default>

		<description>
			<para>
				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.
			</para>
			
			<para>
				Replaced with the <emphasis>show_users</emphasis> setting. See <emphasis>help show_users</emphasis>.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="away_reply_timeout" type="integer" scope="global">
		<default>3600</default>

		<description>
			<para>
				Most IRC servers send a user's away message every time s/he gets a private message, to inform the sender that they may not get a response immediately. With this setting set to 0, BitlBee will also behave like this.
			</para>

			<para>
				Since not all IRC clients do an excellent job at suppressing these messages, this setting lets BitlBee do it instead. BitlBee will wait this many seconds (or until the away state/message changes) before re-informing you that the person's away.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="base_url" type="string" scope="account">
		<default>http://api.twitter.com/1</default>

		<description>
			<para>
				There are more services that understand the Twitter API than just Twitter.com. BitlBee can connect to all Twitter API implementations.
			</para>

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

			<para>
				Keep two things in mind: When not using Twitter, you <emphasis>must</emphasis> also disable the <emphasis>oauth</emphasis> setting as it currently only works with Twitter. If you're still having issues, make sure there is <emphasis>no</emphasis> slash at the end of the URL you enter here.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="carbons" type="boolean" scope="account">
		<default>true</default>

		<description>
			<para>
				Jabber specific. "Message carbons" (XEP-0280) is a server feature to get copies of outgoing messages sent from other clients connected to the same account. It's not widely supported by most public XMPP servers (easier if you host your own), but this will probably change in the next few years.
			</para>
			<para>
				This defaults to true, which will enable it if the server supports it, or fail silently if it's not. This setting only exists to allow disabling the feature if anyone considers it undesirable.
			</para>
			<para>
				See also the <emphasis>self_messages</emphasis> setting.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="charset" type="string" scope="global">
		<default>utf-8</default>
		<possible-values>you can get a list of all possible values by doing 'iconv -l' in a shell</possible-values>

		<description>
			<para>
				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.
			</para>

			<para>
				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
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="color_encrypted" type="boolean" scope="global">
		<default>true</default>

		<description>
			<para>
				If set to true, BitlBee will color incoming encrypted messages according to their fingerprint trust level: untrusted=red, trusted=green.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="chat_type" type="string" scope="channel">
		<default>groupchat</default>
		<possible-values>groupchat, room</possible-values>

		<description>
			<para>
				There are two kinds of chat channels: simple groupchats (basically normal IM chats with more than two participants) and names chatrooms, more similar to IRC channels.
			</para>
			
			<para>
				BitlBee supports both types. With this setting set to <emphasis>groupchat</emphasis> (the default), you can just invite people into the room and start talking.
			</para>
			
			<para>
				For setting up named chatrooms, it's currently easier to just use the <emphasis>chat add</emphasis> command.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="commands" type="boolean" scope="account">
		<default>true</default>
		<possible-values>true, false, strict</possible-values>

		<description>
			<para>
				With this setting enabled, you can use some commands in your Twitter channel/query. The commands are simple and not documented in too much detail:
			</para>

			<variablelist>
				<varlistentry><term>undo #[&lt;id&gt;]</term><listitem><para>Delete your last Tweet (or one with the given ID)</para></listitem></varlistentry>
				<varlistentry><term>rt &lt;screenname|#id&gt;</term><listitem><para>Retweet someone's last Tweet (or one with the given ID)</para></listitem></varlistentry>
				<varlistentry><term>reply &lt;screenname|#id&gt;</term><listitem><para>Reply to a Tweet (with a reply-to reference)</para></listitem></varlistentry>
				<varlistentry><term>rawreply &lt;screenname|#id&gt;</term><listitem><para>Reply to a Tweet (with no reply-to reference)</para></listitem></varlistentry>
				<varlistentry><term>report &lt;screenname|#id&gt;</term><listitem><para>Report the given user (or the user who posted the tweet with the given ID) for sending spam. This will also block them.</para></listitem></varlistentry>
				<varlistentry><term>follow &lt;screenname&gt;</term><listitem><para>Start following a person</para></listitem></varlistentry>
				<varlistentry><term>unfollow &lt;screenname&gt;</term><listitem><para>Stop following a person</para></listitem></varlistentry>
				<varlistentry><term>favourite &lt;screenname|#id&gt;</term><listitem><para>Favo<emphasis>u</emphasis>rite the given user's most recent tweet, or the given tweet ID.</para></listitem></varlistentry>
				<varlistentry><term>post &lt;message&gt;</term><listitem><para>Post a tweet</para></listitem></varlistentry>
				<varlistentry><term>url &lt;screenname|#id&gt;</term><listitem><para>Show URL for a tweet to open it in a browser (and see context)</para></listitem></varlistentry>
			</variablelist>

			<para>
				Anything that doesn't look like a command will be treated as a tweet. Watch out for typos, or to avoid this behaviour, you can set this setting to <emphasis>strict</emphasis>, which causes the <emphasis>post</emphasis> command to become mandatory for posting a tweet.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="debug" type="boolean" scope="global">
		<default>false</default>

		<description>
			<para>
				Some debugging messages can be logged if you wish. They're probably not really useful for you, unless you're doing some development on BitlBee.
			</para>
			
			<para>
				This feature is not currently used for anything so don't expect this to generate any output.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="default_target" type="string" scope="global">
		<default>root</default>
		<possible-values>root, last</possible-values>

		<description>
			<para>
				With this value set to <emphasis>root</emphasis>, lines written in a 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 that control channel, set this to <emphasis>last</emphasis>.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="display_name" type="string" scope="account">
		<description>
			<para>
				Currently only available for MSN connections, and for jabber groupchats.
			</para>
			<para>
				For MSN: 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.
			</para>
			<para>
				For jabber groupchats: this sets the default value of 'nick' for newly created groupchats. There is no way to set an account-wide nick like MSN.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="display_namechanges" type="boolean" scope="global">
		<default>false</default>

		<description>
			<para>
				With this option enabled, root will inform you when someone in your buddy list changes his/her "friendly name".
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="display_timestamps" type="boolean" scope="global">
		<default>true</default>

		<description>
			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="fill_by" type="string" scope="channel">
		<default>all</default>
		<possible-values>all, group, account, protocol</possible-values>

		<description>
			<para>
				For control channels only: This setting determines which contacts the channel gets populated with.
			</para>

			<para>
				By default, control channels will contain all your contacts. You instead select contacts by buddy group, IM account or IM protocol.
			</para>
			
			<para>
				Change this setting and the corresponding <emphasis>account</emphasis>/<emphasis>group</emphasis>/<emphasis>protocol</emphasis> setting to set up this selection.
			</para>
			
			<para>
				With a ! prefix an inverted channel can be created, for example with this setting set to <emphasis>!group</emphasis> you can create a channel with all users <emphasis>not</emphasis> in that group.
			</para>
			
			<para>
				Note that, when creating a new channel, BitlBee will try to preconfigure the channel for you, based on the channel name. See <emphasis>help channels</emphasis>.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="group" type="string" scope="channel">

		<description>
			<para>
				For control channels with <emphasis>fill_by</emphasis> set to <emphasis>group</emphasis>: Set this setting to the name of the group containing the contacts you want to see in this channel.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="handle_unknown" type="string" scope="account,global">
		<default>add_channel</default>
		<possible-values>add_private, add_channel, ignore</possible-values>

		<description>
			<para>
				By default, messages from people who aren't in your contact list are shown in a control channel (add_channel) instead of as a private message (add_private)
			</para>

			<para>
				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.
			</para>

			<para>
				This can be set to individual accounts, which is useful to only ignore accounts that are targeted by spammers, without missing messages from legitimate unknown contacts in others. Note that incoming add requests are visible regardless of this setting.
			</para>

			<note>
				<para>
					Although these users will appear in your control channel, they aren't added to your real contact list. When you restart BitlBee, these auto-added users will be gone. If you want to keep someone in your list, you have to fixate the add using the <emphasis>add</emphasis> command.
				</para>
			</note>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="ignore_auth_requests" type="boolean" scope="account">
		<default>false</default>

		<description>
			<para>
				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.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="local_display_name" type="boolean" scope="account">
		<default>false</default>

		<description>
			<para>
				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.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="mail_notifications" type="boolean" scope="account">
		<default>false</default>

		<description>
			<para>
				Some protocols can notify via IM about new e-mail. If you want these notifications, you can enable this setting.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="mail_notifications_handle" type="string" scope="account">
		<default>empty</default>

		<description>
			<para>
				This setting is available for protocols with e-mail notification functionality. If set to empty all e-mail notifications will go to control channel, if set to some string - this will be the name of a contact who will PRIVMSG you on every new notification.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="message_length" type="integer" scope="account">
		<default>140</default>

		<description>
			<para>
				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.
			</para>

			<para>
				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.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="stream" type="boolean" scope="account">
		<default>true</default>

		<description>
			<para>
				For Twitter accounts, this setting enables use of the Streaming API. This automatically gives you incoming DMs as well.
			</para>
			
			<para>
				For other Twitter-like services, this setting is not supported.
			</para>
		</description>

	</bitlbee-setting>
	
	<bitlbee-setting name="target_url_length" type="integer" scope="account">
		<default>20</default>

		<description>
			<para>
				Twitter replaces every URL with fixed-length t.co URLs. BitlBee is able to take t.co urls into account when calculating <emphasis>message_length</emphasis> replacing the actual URL length with target_url_length. Setting target_url_length to 0 disables this feature.
			</para>

			<para>
				This setting is disabled for identica accounts by default and will not affect anything other than message safety checks (i.e. Twitter will still replace your URLs with t.co links, even if that makes them longer).
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="mode" type="string" scope="account">
		<possible-values>one, many, chat</possible-values>
		<default>chat</default>

		<description>
			<para>
				By default, BitlBee will create a separate channel (called #twitter_yourusername) for all your Twitter contacts/messages.
			</para>

			<para>
				If you don't want an extra channel, you can set this setting to "one" (everything will come from one nick, twitter_yourusername), or to "many" (individual nicks for everyone).
			</para>
			
			<para>
				With modes "chat" and "many", you can send direct messages by /msg'ing your contacts directly. Incoming DMs are only fetched if the "stream" setting is on (default).
			</para>
			
			<para>
				With modes "many" and "one", you can post tweets by /msg'ing the twitter_yourusername contact. In mode "chat", messages posted in the Twitter channel will also be posted as tweets.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="mobile_is_away" type="boolean" scope="global">
		<default>false</default>

		<description>
			<para>
				Most IM networks have a mobile version of their client. People who use these may not be paying that much attention to messages coming in. By enabling this setting, people using mobile clients will always be shown as away.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="nick" type="string" scope="chat">
		<description>
			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="nick_format" type="string" scope="account,global">
		<default>%-@nick</default>

		<description>
			<para>
				By default, BitlBee tries to derive sensible nicknames for all your contacts from their IM handles. In some cases, IM modules (ICQ for example) will provide a nickname suggestion, which will then be used instead. This setting lets you change this behaviour.
			</para>

			<para>
				Whenever this setting is set for an account, it will be used for all its contacts. If it's not set, the global value will be used.
			</para>

			<para>
				It's easier to describe this setting using a few examples:
			</para>

			<para>
				FB-%full_name will make all nicknames start with "FB-", followed by the person's full name. For example you can set this format for your Facebook account so all Facebook contacts are clearly marked.
			</para>

			<para>
				[%group]%-@nick will make all nicknames start with the group the contact is in between square brackets, followed by the nickname suggestions from the IM module if available, or otherwise the handle. Because of the "-@" part, everything from the first @ will be stripped.
			</para>

			<para>
				See <emphasis>help nick_format</emphasis> for more information.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="nick_source" type="string" scope="account">
		<default>handle</default>
		<possible-values>handle, full_name, first_name</possible-values>

		<description>
			<para>
				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. Some servers use internal identifiers, which are often just numbers.
			</para>

			<para>
				With this setting set to <emphasis>full_name</emphasis>, the person's full name is used to generate a nickname. Or if you don't like long nicknames, set this setting to <emphasis>first_name</emphasis> 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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="nick_lowercase" type="boolean" scope="global">
		<default>true</default>

		<description>
			<para>
				If enabled, all nicknames are turned into lower case.
			</para>

			<para>
				See also the <emphasis>nick_underscores</emphasis> setting. This setting was previously known as <emphasis>lcnicks</emphasis>.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="nick_underscores" type="boolean" scope="global">
		<default>true</default>

		<description>
			<para>
				If enabled, spaces in nicknames are turned into underscores instead of being stripped.
			</para>

			<para>
				See also the <emphasis>nick_lowercase</emphasis> setting.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="oauth" type="boolean" scope="account">
		<default>true</default>

		<description>
			<para>
				This enables OAuth authentication for an IM account; right now the Twitter (working for Twitter only) and Jabber (for Google Talk only) module support it.
			</para>

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

			<para>
				The resulting access token will be saved permanently, so you have to do this only once. If for any reason you want to/have to reauthenticate, you can use <emphasis>account set</emphasis> to reset the account password to something random.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="anonymous" type="boolean" scope="account">
		<default>false</default>

		<description>
			<para>
				This enables SASL ANONYMOUS login for jabber accounts, as specified by XEP-0175.
			</para>

			<para>
				With this setting enabled, if the server allows this method, a password isn't required and the username part of the JID is ignored (you can use anonymous@jabber.example.com). Servers will usually assign you a random numeric username instead.
			</para>
		</description>

	</bitlbee-setting>

	<bitlbee-setting name="ops" type="string" scope="global">
		<default>both</default>
		<possible-values>both, root, user, none</possible-values>

		<description>
			<para>
				Some people prefer themself and root to have operator status in &amp;bitlbee, other people don't. You can change these states using this setting.
			</para>

			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="otr_policy" type="string" scope="global">
		<default>opportunistic</default>
		<possible-values>never, opportunistic, manual, always</possible-values>

		<description>
			<para>
				This setting controls the policy for establishing Off-the-Record connections.
			</para>
			<para>
				A value of "never" effectively disables the OTR subsystem. In "opportunistic" mode, a magic whitespace pattern will be appended to the first message sent to any user. If the peer is also running opportunistic OTR, an encrypted connection will be set up automatically. On "manual", on the other hand, OTR connections must be established explicitly using <emphasis>otr connect</emphasis>. Finally, the setting "always" enforces encrypted communication by causing BitlBee to refuse to send any cleartext messages at all.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="password" type="string" scope="account,global">
		<description>
			<para>
				Use this global setting to change your "NickServ" password.
			</para>
			
			<para>
				This setting is also available for all IM accounts to change the password BitlBee uses to connect to the service.
			</para>
			
			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="paste_buffer" type="boolean" scope="global">
		<default>false</default>

		<description>
			<para>
				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.
			</para>

			<para>
				Using the <emphasis>paste_buffer_delay</emphasis> setting you can specify the number of seconds BitlBee should wait for more data before the complete message is sent.
			</para>

			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="paste_buffer_delay" type="integer" scope="global">
		<default>200</default>

		<description>

			<para>
				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.
			</para>

			<para>
				See also the <emphasis>paste_buffer</emphasis> setting.
			</para>
		</description>
	</bitlbee-setting>
	
	<bitlbee-setting name="port" type="integer" scope="account">
		<description>
			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="priority" type="integer" scope="account">
		<default>0</default>

		<description>
			<para>
				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).
			</para>

			<para>
				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).
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="private" type="boolean" scope="global">
		<default>true</default>

		<description>
			<para>
				If value is true, messages from users will appear in separate query windows. If false, messages from users will appear in a control channel.
			</para>

			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="protocol" type="string" scope="channel">

		<description>
			<para>
				For control channels with <emphasis>fill_by</emphasis> set to <emphasis>protocol</emphasis>: Set this setting to the name of the IM protocol of all contacts you want to see in this channel.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="proxy" type="string" scope="account">
		<default>&lt;local&gt;&lt;auto&gt;</default>

		<description>
			<para>
				A list of <emphasis>file transfer proxies</emphasis> for jabber. This isn't the connection proxy. Sorry, look in bitlbee.conf for those.
			</para>

			<para>
				It's a semicolon-separated list of items that can be either <emphasis>JID,HOST,PORT</emphasis> or two special values, <emphasis>&lt;local&gt;</emphasis> (to try a direct connection first) and <emphasis>&lt;auto&gt;</emphasis> (to try to discover a proxy). For example, "&lt;local&gt;;proxy.somewhere.org,123.123.123.123,7777".
			</para>
			<para>
				The address should point to a SOCKS5 bytestreams server, usually provided by jabber servers. This is only used for sending files. Note that the host address might not match what DNS tells you, and the port isn't always the same.
			</para>
			<para>
				The correct way to get a socks proxy host/port is a mystery, and the file transfer might fail anyway. Maybe just try using dropbox instead.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="query_order" type="string" scope="global">
		<default>lifo</default>
		<possible-values>lifo, fifo</possible-values>

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

			<para>
				Although the <emphasis>fifo</emphasis> 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).
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="resource" type="string" scope="account">
		<default>BitlBee</default>

		<description>
			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="resource_select" type="string" scope="account">
		<default>activity</default>
		<possible-values>priority, activity</possible-values>

		<description>
			<para>
				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.
			</para>

			<para>
				Normally it's set to <emphasis>priority</emphasis> which means messages will always be delivered to the buddy's resource with the highest priority. If the setting is set to <emphasis>activity</emphasis>, messages will be delivered to the resource that was last used to send you a message (or the resource that most recently connected).
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="root_nick" type="string" scope="global">
		<default>root</default>

		<description>
			<para>
				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 <emphasis>rename</emphasis> command, or by changing this setting.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="save_on_quit" type="boolean" scope="global">
		<default>true</default>

		<description>
			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="self_messages" type="string" scope="global">
		<default>true</default>
		<possible-values>true, false, prefix, prefix_notice</possible-values>

		<description>
			<para>
				Change this setting to customize how (or whether) to show self-messages, which are messages sent by yourself from other locations (for example, mobile clients), for IM protocols that support it.
			</para>

			<para>
				When this is set to "true", it will send those messages in the "standard" way, which is a PRIVMSG with source and target fields swapped.
			</para>
			
			<para>
				Since this isn't very well supported by some clients (the messages might appear in the wrong window), you can set it to "prefix" to show them as a normal message prefixed with "-> ", or use "prefix_notice" which is the same thing but with a NOTICE instead.
			</para>

			<para>
				You can also set it to "false" to disable these messages completely.
			</para>

			<para>
				This setting only applies to private messages. Self messages in groupchats are always shown, since they haven't caused issues in any clients so far.
			</para>

			<para>
				More information: <emphasis>https://wiki.bitlbee.org/SelfMessages</emphasis>
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="server" type="string" scope="account">
		<description>
			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="show_ids" type="boolean" scope="account">
		<default>true</default>

		<description>
			<para>
				Enable this setting on a Twitter account to have BitlBee include a two-digit "id" in front of every message. This id can then be used for replies and retweets.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="show_offline" type="boolean" scope="global">
		<default>false</default>

		<description>
			<para>
				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.
			</para>
			
			<para>
				Replaced with the <emphasis>show_users</emphasis> setting. See <emphasis>help show_users</emphasis>.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="show_users" type="string" scope="channel">
		<default>online+,special%,away</default>

		<description>
			<para>
				Comma-separated list of statuses of users you want in the channel,
				and any modes they should have. The following statuses are currently
				recognised: <emphasis>online</emphasis> (i.e. available, not
				away), <emphasis>special</emphasis> (specific to the protocol), 
				<emphasis>away</emphasis>, and <emphasis>offline</emphasis>.
			</para>
			
			<para>
				If a status is followed by a valid channel mode character
				(@, % or +), it will be given to users with that status.
				For example, <emphasis>online@,special%,away+,offline</emphasis> 
				will show all users in the channel. Online people will
				have +o, people who are online but away will have +v,
				and others will have no special modes.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="simulate_netsplit" type="boolean" scope="global">
		<default>true</default>

		<description>
			<para>
				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 channels window clean. If you don't like this (or if your IRC client doesn't support this) you can disable this setting.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="ssl" type="boolean" scope="account">
		<default>false</default>

		<description>
			<para>
				Currently only available for Jabber connections. Set this to true if you want to connect to the server on an SSL-enabled port (usually 5223).
			</para>

			<para>
				Please note that this method of establishing a secure connection to the server has long been deprecated. You are encouraged to look at the <emphasis>tls</emphasis> setting instead.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="status" type="string" scope="account,global">
		<description>
			<para>
				Most IM protocols 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.
			</para>

			<para>
				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).
			</para>

			<para>
				Away states set using <emphasis>/away</emphasis> or the <emphasis>away</emphasis> setting will override this setting. To clear the setting, use <emphasis>set -del status</emphasis>.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="strip_html" type="boolean" scope="global">
		<default>true</default>

		<description>
			<para>
				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.
			</para>
			<para>
				If BitlBee fails to detect this sometimes (most likely in AIM messages over an ICQ connection), you can set this setting to <emphasis>always</emphasis>, but this might sometimes accidentally strip non-HTML things too.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="strip_newlines" type="boolean" scope="account">
		<default>false</default>

		<description>
			<para>
				Turn on this flag to prevent tweets from spanning over multiple lines.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="show_old_mentions" type="integer" scope="account">
		<default>20</default>

		<description>
			<para>
				This setting specifies the number of old mentions to fetch on connection. Must be less or equal to 200. Setting it to 0 disables this feature.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="switchboard_keepalives" type="boolean" scope="account">
		<default>false</default>

		<description>
			<para>
				Turn on this flag if you have difficulties talking to offline/invisible contacts.
			</para>
			
			<para>
				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.
			</para>
			
			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="tag" type="string" scope="account">
		<description>
			<para>
				For every account you have, you can set a tag you can use to uniquely identify that account. This tag can be used instead of the account number (or protocol name, or part of the screenname) when using commands like <emphasis>account</emphasis>, <emphasis>add</emphasis>, etc. You can't have two accounts with one and the same account tag.
			</para>

			<para>
				By default, it will be set to the name of the IM protocol. Once you add a second account on an IM network, a numeric suffix will be added, starting with 2.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="timezone" type="string" scope="global">
		<default>local</default>
		<possible-values>local, utc, gmt, timezone-spec</possible-values>

		<description>
			<para>
				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.
			</para>

			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="tls" type="boolean" scope="account">
		<default>true</default>

		<description>
			<para>
				By default (with this setting enabled), BitlBee will require Jabber servers to offer encryption via StartTLS and refuse to connect if they don't.
			</para>

			<para>
				If you set this to "try", BitlBee will use StartTLS only if it's offered. With the setting disabled, StartTLS support will be ignored and avoided entirely.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="tls_verify" type="boolean" scope="account">
		<default>true</default>

		<description>
			<para>
				Currently only available for Jabber connections in combination with the <emphasis>tls</emphasis> setting. Set this to <emphasis>true</emphasis> if you want BitlBee to strictly verify the server's certificate against a list of trusted certificate authorities.
			</para>

			<para>
				The hostname used in the certificate verification is the value of the <emphasis>server</emphasis> setting if the latter is nonempty and the domain of the username else. If you get a hostname related error when connecting to Google Talk with a username from the gmail.com or googlemail.com domain, please try to empty the <emphasis>server</emphasis> setting.
			</para>

			<para>
				Please note that no certificate verification is performed when the <emphasis>ssl</emphasis> setting is used, or when the <emphasis>CAfile</emphasis> setting in <emphasis>bitlbee.conf</emphasis> is not set.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="to_char" type="string" scope="global">
		<default>": "</default>

		<description>
			<para>
				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 <emphasis>set to_char</emphasis>.
			</para>

			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="translate_to_nicks" type="boolean" scope="channel">
		<default>true</default>

		<description>
			<para>
				IRC's nickname namespace is quite limited compared to most IM protocols. Not any non-ASCII characters are allowed, in fact nicknames have to be mostly alpha-numeric. Also, BitlBee has to add underscores sometimes to avoid nickname collisions.
			</para>

			<para>
				While normally the BitlBee user is the only one seeing these names, they may be exposed to other chatroom participants for example when addressing someone in the channel (with or without tab completion). By default BitlBee will translate these stripped nicknames back to the original nick. If you don't want this, disable this setting.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="type" type="string" scope="channel">
		<default>control</default>
		<possible-values>control, chat</possible-values>

		<description>
			<para>
				BitlBee supports two kinds of channels: control channels (usually with a name starting with a &amp;) and chatroom channels (name usually starts with a #).
			</para>

			<para>
				See <emphasis>help channels</emphasis> for a full description of channel types in BitlBee.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="typing_notice" type="boolean" scope="global">
		<default>false</default>

		<description>
			<para>
				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.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="user_agent" type="string" scope="account">
		<default>BitlBee</default>

		<description>
			<para>
				Some Jabber servers are configured to only allow a few (or even just one) kinds of XMPP clients to connect to them.
			</para>
			
			<para>
				You can change this setting to make BitlBee present itself as a different client, so that you can still connect to these servers.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="utf8_nicks" type="boolean" scope="global">
		<default>false</default>

		<description>
			<para>
				Officially, IRC nicknames are restricted to ASCII. Recently some clients and servers started supporting Unicode nicknames though. To enable UTF-8 nickname support (contacts only) in BitlBee, enable this setting.
			</para>
			
			<para>
				To avoid confusing old clients, this setting is disabled by default. Be careful when you try it, and be prepared to be locked out of your BitlBee in case your client interacts poorly with UTF-8 nicknames.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="web_aware" type="string" scope="account">
		<default>false</default>

		<description>
			<para>
				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.
			</para>

			<para>
				Unless you really intend to use this feature somewhere (on forums or maybe a website), it's probably better to keep this setting disabled.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-setting name="xmlconsole" type="boolean" scope="account">
		<default>false</default>

		<description>
			<para>
				The Jabber module allows you to add a buddy <emphasis>xmlconsole</emphasis> 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.
			</para>
			<para>
				If you want to enable this XML console permanently (and at login time already), you can set this setting.
			</para>
		</description>
	</bitlbee-setting>

	<bitlbee-command name="rename">
		<short-description>Rename (renick) a buddy</short-description>
		<syntax>rename &lt;oldnick&gt; &lt;newnick&gt;</syntax>
		<syntax>rename -del &lt;oldnick&gt;</syntax>

		<description>
			<para>
				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).
			</para>
			
			<para>
				<emphasis>rename -del</emphasis> can be used to erase your manually set nickname for a contact and reset it to what was automatically generated.
			</para>
		</description>

		<ircexample>
			<ircline nick="itsme">rename itsme_ you</ircline>
			<ircaction nick="itsme_">is now known as <emphasis>you</emphasis></ircaction>
		</ircexample>

	</bitlbee-command>

	<bitlbee-command name="yes">
		<short-description>Accept a request</short-description>
		<syntax>yes [&lt;number&gt;]</syntax>

		<description>
			<para>
				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 <emphasis>yes</emphasis> command.
			</para>

			<para>
				By default, this answers the first unanswered question. You can also specify a different question as an argument. You can use the <emphasis>qlist</emphasis> command for a list of questions.
			</para>
		</description>

	</bitlbee-command>

	<bitlbee-command name="no">
		<short-description>Deny a request</short-description>
		<syntax>no [&lt;number&gt;]</syntax>

		<description>
			<para>
				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 <emphasis>no</emphasis> command.
			</para>

			<para>
				By default, this answers the first unanswered question. You can also specify a different question as an argument. You can use the <emphasis>qlist</emphasis> command for a list of questions.
			</para>
		</description>
	</bitlbee-command>

	<bitlbee-command name="plugins">
		<short-description>List all the external plugins and protocols</short-description>
		<syntax>plugins [info &lt;name&gt;]</syntax>

		<description>
			<para>
				This gives you a list of all the external plugins and protocols.
			</para>

			<para>
				Use the <emphasis>info</emphasis> subcommand to get more details about a plugin.
			</para>
		</description>

	</bitlbee-command>

	<bitlbee-command name="qlist">
		<short-description>List all the unanswered questions root asked</short-description>
		<syntax>qlist</syntax>

		<description>
			<para>
				This gives you a list of all the unanswered questions from root.
			</para>
		</description>

	</bitlbee-command>

	<bitlbee-command name="register">
		<short-description>Register yourself</short-description>
		<syntax>register [&lt;password&gt;]</syntax>

		<description>
			<para>
				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 <emphasis>register</emphasis> command.
			</para>

			<para>
				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.. ;-)
			</para>

			<para>
				To identify yourself in later sessions, you can use the <emphasis>identify</emphasis> command. To change your password later, you can use the <emphasis>set password</emphasis> command.
			</para>

			<para>
				You can omit the password and enter it separately using the IRC /OPER command. This lets you enter your password without your IRC client echoing it on screen or recording it in logs.
			</para>
		</description>

	</bitlbee-command>

	<bitlbee-command name="identify">
		<syntax>identify [-noload|-force] [&lt;password&gt;]</syntax>
		<short-description>Identify yourself with your password</short-description>

		<description>
			<para>
				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 <emphasis>register</emphasis> command.
			</para>

			<para>
				Once you're registered, you can change your password using <emphasis>set password &lt;password&gt;</emphasis>.
			</para>

			<para>
				The <emphasis>-noload</emphasis> and <emphasis>-force</emphasis> flags can be used to identify when you're logged into some IM accounts already. <emphasis>-force</emphasis> will let you identify yourself and load all saved accounts (and keep the accounts you're logged into already).
			</para>
			
			<para>
				<emphasis>-noload</emphasis> will log you in but not load any accounts and settings saved under your current nickname. These will be overwritten once you save your settings (i.e. when you disconnect).
			</para>

			<para>
				You can omit the password and enter it separately using the IRC /OPER command. This lets you enter your password without your IRC client echoing it on screen or recording it in logs.
			</para>
		</description>
	</bitlbee-command>

	<bitlbee-command name="drop">
		<syntax>drop &lt;password&gt;</syntax>
		<short-description>Drop your account</short-description>

		<description>
			<para>
				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.
			</para>
		</description>
	</bitlbee-command>

	<bitlbee-command name="blist">
		<syntax>blist [all|online|offline|away] [&lt;pattern&gt;]</syntax>
		<short-description>List all the buddies in the current channel</short-description>

		<description>
			<para>
				You can get a more readable buddy list using the <emphasis>blist</emphasis> command. If you want a complete list (including the offline users) you can use the <emphasis>all</emphasis> argument.
			</para>

			<para>
				A perl-compatible regular expression can be supplied as <emphasis>pattern</emphasis> to filter the results (case-insensitive).
			</para>
		</description>

	</bitlbee-command>

	<bitlbee-command name="group">
		<short-description>Contact group management</short-description>
		<syntax>group [ list | info &lt;group&gt; ]</syntax>

		<description>
			<para>
				The <emphasis>group list</emphasis> command shows a list of all groups defined so far.
			</para>
			
			<para>
				The <emphasis>group info</emphasis> command shows a list of all members of a the group &lt;group&gt;.
			</para>
			
			<para>
				If you want to move contacts between groups, you can use the IRC <emphasis>/invite</emphasis> command. Also, if you use the <emphasis>add</emphasis> command in a control channel configured to show just one group, the new contact will automatically be added to that group.
			</para>
		</description>
	</bitlbee-command>
	
	<bitlbee-command name="transfer">
		<short-description>Monitor, cancel, or reject file transfers</short-description>
		<syntax>transfer [&lt;cancel&gt; id | &lt;reject&gt;]</syntax>
		
		<description>
			<para>
				Without parameters the currently pending file transfers and their status will be listed. Available actions are <emphasis>cancel</emphasis> and <emphasis>reject</emphasis>. See <emphasis>help transfer &lt;action&gt;</emphasis> for more information.
			</para>

			<ircexample>
				<ircline nick="ulim">transfer</ircline>
			</ircexample>
		</description>
		
		<bitlbee-command name="cancel">
			<short-description>Cancels the file transfer with the given id</short-description>
			<syntax>transfer &lt;cancel&gt; id</syntax>

			<description>
				<para>Cancels the file transfer with the given id</para>
			</description>

			<ircexample>
				<ircline nick="ulim">transfer cancel 1</ircline>
				<ircline nick="root">Canceling file transfer for test</ircline>
			</ircexample>
		</bitlbee-command>

		<bitlbee-command name="reject">
			<short-description>Rejects all incoming transfers</short-description>
			<syntax>transfer &lt;reject&gt;</syntax>

			<description>
				<para>Rejects all incoming (not already transferring) file transfers. Since you probably have only one incoming transfer at a time, no id is necessary. Or is it?</para>
			</description>

			<ircexample>
				<ircline nick="ulim">transfer reject</ircline>
			</ircexample>
		</bitlbee-command>
	</bitlbee-command>
	
</chapter>
