diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2005-11-19 16:24:46 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2005-11-19 16:24:46 +0100 |
commit | 9c8ae507985a29b41a22cf30b803141e9ba82a9b (patch) | |
tree | e8e96ff2e33512018e7838dfa58983c45a7e0062 | |
parent | cc9079ee091707aba3d5b0580a6191eb4541cbec (diff) | |
parent | 2cdd8ce76ce334327c84516ff78f3b00bef5bebf (diff) |
Merge Wilmer
33 files changed, 265 insertions, 2313 deletions
@@ -10,5 +10,9 @@ bitlbee.plg *.plg *.aps *.clw +user-guide.txt +user-guide.html +help.txt debian +build-arch-stamp tags @@ -538,7 +538,7 @@ int root_command( irc_t *irc, char *cmd[] ) return( 1 ); } - irc_usermsg( irc, "Unknown command: %s. Please use help commands to get a list of available commands.", cmd[0] ); + irc_usermsg( irc, "Unknown command: %s. Please use \x02help commands\x02 to get a list of available commands.", cmd[0] ); return( 1 ); } diff --git a/bitlbee.conf b/bitlbee.conf index e0f592ae..b0de328d 100644 --- a/bitlbee.conf +++ b/bitlbee.conf @@ -12,7 +12,7 @@ ## Daemon -- Run as a stand-alone daemon -- EXPERIMENTAL! BitlBee is not yet ## stable enough to serve lots of users from one process. Because of this ## and other reasons, the use of daemon-mode is *STRONGLY* discouraged, -## don't think about reporting bugs when you use this! +## don't even *think* of reporting bugs when you use this. ## # RunMode = Inetd @@ -80,7 +80,7 @@ #define _( x ) x #define ROOT_NICK "root" -#define ROOT_CHAN "#bitlbee" +#define ROOT_CHAN "&bitlbee" #define ROOT_FN "User manager" #define NS_NICK "NickServ" @@ -325,7 +325,7 @@ int cmd_account( irc_t *irc, char **cmd ) } else { - irc_usermsg( irc, "Unknown command: account %s. Please use help commands to get a list of available commands.", cmd[1] ); + irc_usermsg( irc, "Unknown command: account %s. Please use \x02help commands\x02 to get a list of available commands.", cmd[1] ); } return( 1 ); @@ -726,7 +726,10 @@ int cmd_qlist( irc_t *irc, char **cmd ) irc_usermsg( irc, "Pending queries:" ); for( num = 0; q; q = q->next, num ++ ) - irc_usermsg( irc, "%d, %s", num, q->question ); + if( q->gc ) /* Not necessary yet, but it might come later */ + irc_usermsg( irc, "%d, %s(%s): %s", num, q->gc->prpl->name, q->gc->username, q->question ); + else + irc_usermsg( irc, "%d, BitlBee: %s", num, q->question ); return( 0 ); } diff --git a/doc/CHANGES b/doc/CHANGES index a03a4a03..2fe8b960 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -1,6 +1,12 @@ Version 1.0: - Removed some crashy debugging code. - QUIT command now works before logging in. (Mainly an RFC-compliancy fix.) +- Hopefully slightly clearer handling of buddy add requests. +- set buddy_sendbuffer_delay now also supports milisecond precision. +- Renamed #bitlbee to &bitlbee to avoid confusion with the channel on OFTC. +- Reviewed the xinetd file and installation instructions. +- HTML stripping is configurable again. +- Quit messages (at least on crashes) should appear again. Finished ... @@ -37,21 +37,6 @@ A: 'root' is just the name for the most powerful user in BitlBee. Just like (security threatening) reason to change this non-creative piece of artistic creativity. -Q: Why is there no mailing list/CVS/<insert your favourite development tool - here>? -A: Short answer: we don't need it. - - Longer answer: and we're not completely convinced of their merits. - - Long answer: we currently use some shell scripts which make sure all - developers' copies are in sync with Wilmer's master copy. These shell - scripts also produce development "releases" and packages, as well as - stick them on a http-server. Patches are sent to Wilmer who decides - whether or not a patch should be applied and if it may need some - additional changes. This has the consistency advantage of a one-person - project while having the capacity of more people available. The system - works and we are kind of attached to it. - Q: When is $random_feature going to be implemented? A: Please do consult doc/TODO (preferably in a development snapshot, which is more up-to-date than a TODO in a release version) before asking. @@ -8,6 +8,8 @@ If you want to compile BitlBee yourself, that's fine. Just run ./configure to set up the build system. If configure succeeds, run make to build BitlBee. make install will move all the files to the right places. +--- inetd installation + After installation you have to set up inetd (you got that one running, right? If not, just take a look at utils/bitlbeed.c) to start BitlBee. You need to add BitlBee to inetd.conf, like this: @@ -17,12 +19,28 @@ need to add BitlBee to inetd.conf, like this: Creating a special BitlBee user and running BitlBee with that UID (instead of just 'nobody') might be a good idea. +*BSD/Darwin/OSX NOTE: Most *BSD inetds are more scrict than the one that +comes with Linux systems. Possibly all non-Linux inetds are like this. They +don't allow you to specify a port number in the inetd.conf entry, instead +you have to put a service name there (one that is also mentioned in +/etc/services). So if there's no line in /services for 6667/tcp (or whatever +you choose), add it and use that name in the inetd.conf entry. + +-- xinetd installation + +Most machines use xinetd instead of inetd these days. If your machine runs +xinetd, you can copy the bitlbee.xinetd file from the doc/ directory to your +xinetd.d/ directory. Most likely you'll have to change a thing or two before +it'll work. + +After configuring your (x)inetd, send the daemon a SIGHUP and things should +work. If not, see your syslogs, since both daemons will complain there when +something's wrong. + Also, don't forget to create the configuration directory (/var/lib/bitlbee/ by default) and chown it to the UID BitlBee is running as. Make sure this directory is read-/writable by this user only. -(For xinetd users a xinetd configuration file is included: doc/bitlbee.xinetd) - DEPENDENCIES ============ @@ -47,15 +65,6 @@ when you attempt to use OpenSSL. PORTABILITY ISSUES ================== -FreeBSD NOTE: It looks like FreeBSD does allow port numbers instead of service -names in inetd.conf, as long as the service for this port exists in -/etc/services. Linux isn't this strict. If you got problems in FreeBSD, just -add a line for your chosen port number to /etc/services. - -Darwin/Mac OS X is even more strict; you should add a bitlbee service to -/etc/services and use that name in inetd.conf. Not really a problem, since -that's the cleanest way of doing this on any operating system anyway. - Cygwin NOTE: You'll need a glib installation to run BitlBee. However, Cygwin doesn't provide a glib package. You can download a binary tar.gz from: <http://my.dreamwiz.com/jbdoll/>. When you installed it, BitlBee should work @@ -66,6 +75,15 @@ On some non-Linux systems the program still suffers from some random bugs. Please do report them, we might be able to fix them if they're not too mysterious. +Also, the configure script is known to not work very well with non-Bash +shells, so if you experience problems, make sure you use bash to run the +script. Same for the Makefile, it only works well with GNU make. (gmake on +most BSD systems) + +If someone can tell us how to write Makefiles that work with both/all +versions of make, we'd love to hear it, but it seems this just isn't +possible. + RUNNING ON SERVERS WITH MANY USERS ================================== diff --git a/doc/bitlbee.xinetd b/doc/bitlbee.xinetd index 5b2dec3f..5f05e26e 100644 --- a/doc/bitlbee.xinetd +++ b/doc/bitlbee.xinetd @@ -1,12 +1,19 @@ ## xinetd file for BitlBee. Please check this file before using it, the ## user, port and/or binary location might be wrong. -service 6667 +## This file assumes you have ircd somewhere in your /etc/services, if things +## don't work, check that file first. +service ircd { socket_type = stream protocol = tcp wait = no + + ## You most likely want to change these two user = nobody server = /usr/local/sbin/bitlbee - port = 6667 + + ## xinetd is fucking retarded, what's the use of this port flag if + ## it HAS to be the same as in /etc/services ? + # port = 6667 } diff --git a/doc/user-guide/commands.xml b/doc/user-guide/commands.xml index 1fc30e6d..933fb5b6 100644 --- a/doc/user-guide/commands.xml +++ b/doc/user-guide/commands.xml @@ -302,13 +302,15 @@ </description> </bitlbee-setting> - <bitlbee-setting name="html" type="string"> - <default>nostrip</default> - <possible-values>strip, nostrip</possible-values> + <bitlbee-setting name="strip_html" type="boolean"> + <default>True</default> <description> <para> - Determines what BitlBee should do with HTML in messages. If set to nostrip, HTML in messages will not be touched. If set to strip, all HTML will be stripped from messages. Unfortunately this sometimes strips too much. + 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> @@ -461,10 +463,12 @@ </bitlbee-setting> <bitlbee-setting name="buddy_sendbuffer_delay" type="integer"> + <default>200</default> + <description> <para> - Tell BitlBee after how many seconds a buffered message should be sent. + 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> diff --git a/doc/user-guide/help.txt b/doc/user-guide/help.txt deleted file mode 100644 index b6c88da3..00000000 --- a/doc/user-guide/help.txt +++ /dev/null @@ -1,554 +0,0 @@ -? -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 and Yahoo Instant Messaging Systems. - -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 an ICQ account with UIN 72696705 with password QuickStart, you would: - -<you> account add oscar 72696705 QuickStart login.icq.com -<root> Account successfully added - -Other available IM protocols are jabber, msn, and yahoo. Oscar is the protocol used by ICQ and AOL. For oscar, you need to specify the IM-server as a fourth argument (for msn and yahoo there is no fourth argument). For AOL Instant Messenger, the server name is login.oscar.aol.com. For ICQ, the server name is login.icq.com. - -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 - -For most protocols (currently MSN, Jabber, Yahoo and AOL) BitlBee can download the contact list automatically from the IM server and all the on-line users should appear in the control channel when you log in. - -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! - -If you'd rather chat with them in a separate window use the /msg or /query command, just like you would for a private message in IRC. If you want to have messages automatically come up in private messages rather than in the #bitlbee channel, use the set private command: set private true (set private false to change back). - -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 - * 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 - * import_buddies - Copy local buddy list to server (normally only needed when upgrading) -% -?account -Syntax: account <action> [<arguments>] - -Available actions: add, del, list, on, off. See help account <action> for more information. -% -?account add -Syntax: account add <protocol> <username> <password> [<server>] - -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) and Yahoo. For more information about adding an account, see help account add <protocol>. -% -?account add jabber -Syntax: account add jabber <handle> <password> [<servertag>] - -Note that the servertag argument is optional. You only have to use it if the part after the @ in your handle isn't the hostname of your Jabber server, or if you want to use SSL/connect to a non-standard port number. The format is simple: [<servername>[:<portnumber>][:ssl]]. For example, this is how you can connect to Google Talk: - -Note that Google talk is SSL-only, but officially reachable over both port 5222 and 5223. However, for some people only port 5222 works, for some people only 5223. This is something you'll have to try out. - -Example: -<wilmer> account add jabber example@gmail.com hobbelmeeuw talk.google.com:5223:ssl -<root> Account successfully added -% -?account add msn -Syntax: account add msn <handle> <password> - -For MSN connections there are no special arguments. -% -?account add oscar -Syntax: account add oscar <handle> <password> [<servername>] - -Specifying a server is required for OSCAR, since OSCAR can be used for both ICQ- and AIM-connections. Although these days it's supposed to be possible to connect to ICQ via AIM-servers and vice versa, we like to stick with this separation for now. For ICQ connections, the servername is login.icq.com, for AIM connections it's login.oscar.aol.com. - -Example: -<wilmer> account add oscar 72696705 hobbelmeeuw login.icq.com -<root> Account successfully added -% -?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. (Including accounts awaiting a reconnection) - -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. (Including accounts awaiting a reconnection) - -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, including the numbers you'll need for most account commands. -% -?add -Syntax: add <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. Of course you can also use the rename command for that, but sometimes this might be more convenient. - -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> - -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. -% -?allow -Syntax: allow <nick> -Syntax: allow <connection> <handle> - -Reverse of block. Unignores the specified user or user handle on specified connection. -% -?set -Syntax: set [<variable> [<value>]] - -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. - -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. -% -?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 - -This command allows to set the friendly name of an im account. If no new name is specified the command will report the current name. When the name contains spaces, don't forget to quote the whole nick in double quotes. Currently this command is only supported by the MSN protocol. - -Example: -<wouter> nick 1 "Wouter Paesen" -<root> Setting your name on connection 1 to `Wouter Paesen' -% -?import_buddies -Syntax: import_buddies <connection> [clear] - -This command copies the locally stored buddy list to the server. This command exists for upgrading purposes. Previous versions of BitlBee didn't support server-side buddy lists for ICQ, so the list was stored locally. - -Since version 0.91 however, server-side contact lists are supported for all protocols, so the local list is now ignored. When upgrading from an older BitlBee to version 0.91, you might need this command to get your buddy list back. - -The only argument this command needs is your ICQ account identification. If your serverside buddy list contains some old buddies you don't want anymore, you can pass clear as a second argument. - -After giving this command, you have to wait for a while before all the adds are handled, because of ICQ's rate limiting. If your buddy list is very large and the ICQ server starts complaining, you might have to reconnect and enter this command again. -% -?set charset -Type: string -Default: iso8859-1 -Possible Values: you can get a list of all possible values by doing 'iconv -l' in a shell - -The charset setting enables you to use different character sets in BitlBee. These get converted to UTF-8 before sending and from UTF-8 when receiving. - -If you don't know what's the best value for this, at least iso8859-1 is the best choice for most Western countries. You can try to find what works best for you on http://czyborra.com/charsets/iso8859.html -% -?set private -Type: boolean -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 save_on_quit -Type: boolean -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 html -Type: string -Default: nostrip -Possible Values: strip, nostrip - -Determines what BitlBee should do with HTML in messages. If set to nostrip, HTML in messages will not be touched. If set to strip, all HTML will be stripped from messages. Unfortunately this sometimes strips too much. -% -?set debug -Type: boolean -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 to_char -Type: string -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 -Default: False - -Sends you a /notice when a user starts typing a message (if the protocol supports it, MSN for example). This is a bug, not a feature. (But please don't report it.. ;-) You don't want to use it. Really. In fact the typing-notification is just one of the least useful 'innovations' ever. It's just there because some guy will probably ask me about it anyway. ;-) -% -?set ops -Type: string -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 away_devoice -Type: boolean -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 handle_unknown -Type: string -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 auto_connect -Type: boolean -Default: True - -With this option enabled, when you identify BitlBee will automatically connect to your accounts, with this disabled it will not do this. -% -?set auto_reconnect -Type: boolean -Default: False - -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. -% -?set auto_reconnect_delay -Type: integer -Default: 300 - -Tell BitlBee after how many seconds it should attempt to bring an IM-connection back up after a crash. It's not a good idea to set this value very low, it will cause too much useless traffic when an IM-server is down for a few hours. - -See also the auto_reconnect setting. -% -?set buddy_sendbuffer -Type: boolean -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 -Default: - -Tell BitlBee after how many seconds a buffered message should be sent. - -See also the buddy_sendbuffer setting. -% -?set default_target -Type: string -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_namechanges -Type: boolean -Default: False -% -?set password -Type: string -Default: - -Use this setting to change your "NickServ" password. -% -?set query_order -Type: string -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 lcnicks -Type: boolean -Default: True - -Hereby you can change whether you want all lower case nick names or leave the case as it intended by your peer. -% -?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 - -This list was extracted from http://help.msn.com/!data/en_us/data/messengerv50.its51/$content$/EMOTICONS.HTM?H_APP=. -% -?groupchats -Since version 0.8x, BitlBee supports groupchats on the MSN and Yahoo! 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 -If you want to start a groupchat with the person jim_msn in it, just join the channel #jim_msn. BitlBee will refuse to join you to the channel with that name, but it will create a new virtual channel with root, you and jim_msn in it. - -Of course a channel with only two people isn't really exciting yet. So the next step is to invite some other people to the channel. For this, you can use the /invite command of your IRC client. 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. - -This is all you'll probably need to know. If you have any problems, please read help groupchats3. -% -?groupchats3 -Obviously the (numbered) channel names don't make a lot of sense. Problem is that groupchats usually don't have names at all in the IM-world, while IRC insists on a name. So BitlBee just generates something random, just don't pay attention to it. :-) - -Please also note that BitlBee doesn't support groupchats for all protocols yet. BitlBee will tell you so. Support for other protocols will hopefully come later. -% -?away -As you might've expected, you can just use the /away command in your IRC client to set an away-state. BitlBee supports most away-states supported by the protocols. - -Not all away states are supported by all protocols, and some protocols have different names for them. BitlBee will try to pick the best available alias from this list for every connection: - - - Away from computer, Away, Extended away - - NA, N/A, Not available - - Busy, Do not disturb, DND, Occupied - - Be right back, BRB - - On the phone, Phone, On phone - - Out to lunch, Lunch, Food - -So /away Food will set your state to "Out to lunch" on your MSN connection, and for most other connections the default, "Away" or "Away from computer" 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. Protocols like Yahoo! and Jabber will also show this complete away message to your buddies. -% diff --git a/doc/user-guide/user-guide.html b/doc/user-guide/user-guide.html deleted file mode 100644 index 8bd7f716..00000000 --- a/doc/user-guide/user-guide.html +++ /dev/null @@ -1,446 +0,0 @@ -<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>BitlBee User Guide</title><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="BitlBee-User-Guide"></a>BitlBee User Guide</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Jelmer</span> <span class="surname">Vernooij</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Wilmer</span> <span class="surname">van der Gaast</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Sjoerd</span> <span class="surname">Hemminga</span></h3></div></div><div><p class="releaseinfo"> - This is the initial release of the BitlBee User Guide. - </p></div><div><div class="legalnotice"><a name="legalnotice"></a><p> - Permission is granted to copy, distribute and/or modify this - document under the terms of the <a href="gnome-help:fdl" target="_top"><em class="citetitle">GNU Free Documentation - License</em></a>, Version 1.1 or any later version - published by the Free Software Foundation with no Invariant - Sections, no Front-Cover Texts, and no Back-Cover Texts. You - may obtain a copy of the <em class="citetitle">GNU Free Documentation - License</em> from the Free Software Foundation by - visiting <a href="http://www.fsf.org" target="_top">their - Web site</a> or by writing to: Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. - </p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#Installation">1. Installation</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2488359">Downloading the package</a></span></dt><dt><span class="sect1"><a href="#id2449756">Compiling</a></span></dt><dt><span class="sect1"><a href="#id2449897">Configuration</a></span></dt></dl></dd><dt><span class="chapter"><a href="#Usage">2. Usage</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2450201">Connecting to the server</a></span></dt><dt><span class="sect1"><a href="#id2450215">The #bitlbee control channel</a></span></dt><dt><span class="sect1"><a href="#id2450234">Talking to people</a></span></dt></dl></dd><dt><span class="chapter"><a href="#Support">3. Support</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2450279">BitlBee is beta software</a></span></dt><dt><span class="sect1"><a href="#id2450293">Support channels</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2450298">The World Wide Web</a></span></dt><dt><span class="sect2"><a href="#id2450315">IRC</a></span></dt><dt><span class="sect2"><a href="#id2450326">Mailinglists</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#quickstart">4. Quickstart</a></span></dt><dd><dl><dt><span class="sect1"><a href="#quickstart2">Add and Connect To your IM Account(s)</a></span></dt><dt><span class="sect1"><a href="#quickstart3">Managing Contact Lists: Rename</a></span></dt><dt><span class="sect1"><a href="#quickstart4">Step Four: Managing Contact Lists: Add and Remove.</a></span></dt><dt><span class="sect1"><a href="#quickstart5">Chatting</a></span></dt><dt><span class="sect1"><a href="#quickstart6">Further Resources</a></span></dt></dl></dd><dt><span class="chapter"><a href="#commands">5. Bitlbee commands</a></span></dt><dd><dl><dt><span class="sect1"><a href="#cmd_account">account - IM-account list maintenance</a></span></dt><dd><dl><dt><span class="sect2"><a href="#cmd_account_add">account add</a></span></dt><dt><span class="sect2"><a href="#cmd_account_del">account del</a></span></dt><dt><span class="sect2"><a href="#cmd_account_on">account on</a></span></dt><dt><span class="sect2"><a href="#cmd_account_off">account off</a></span></dt><dt><span class="sect2"><a href="#cmd_account_list">account list</a></span></dt></dl></dd><dt><span class="sect1"><a href="#cmd_add">add - Add a buddy to your contact list</a></span></dt><dt><span class="sect1"><a href="#cmd_info">info - Request user information</a></span></dt><dt><span class="sect1"><a href="#cmd_remove">remove - Remove a buddy from your contact list</a></span></dt><dt><span class="sect1"><a href="#cmd_block">block - Block someone</a></span></dt><dt><span class="sect1"><a href="#cmd_allow">allow - Unblock someone</a></span></dt><dt><span class="sect1"><a href="#cmd_set">set - Miscellaneous settings</a></span></dt><dt><span class="sect1"><a href="#cmd_help">help - BitlBee help system</a></span></dt><dt><span class="sect1"><a href="#cmd_save">save - Save your account data</a></span></dt><dt><span class="sect1"><a href="#set_charset">charset</a></span></dt><dt><span class="sect1"><a href="#set_private">private</a></span></dt><dt><span class="sect1"><a href="#set_save_on_quit">save_on_quit</a></span></dt><dt><span class="sect1"><a href="#set_html">html</a></span></dt><dt><span class="sect1"><a href="#set_debug">debug</a></span></dt><dt><span class="sect1"><a href="#set_to_char">to_char</a></span></dt><dt><span class="sect1"><a href="#set_typing_notice">typing_notice</a></span></dt><dt><span class="sect1"><a href="#set_ops">ops</a></span></dt><dt><span class="sect1"><a href="#set_away_devoice">away_devoice</a></span></dt><dt><span class="sect1"><a href="#set_handle_unknown">handle_unknown</a></span></dt><dt><span class="sect1"><a href="#set_auto_connect">auto_connect</a></span></dt><dt><span class="sect1"><a href="#set_auto_reconnect">auto_reconnect</a></span></dt><dt><span class="sect1"><a href="#set_auto_reconnect_delay">auto_reconnect_delay</a></span></dt><dt><span class="sect1"><a href="#set_buddy_sendbuffer">buddy_sendbuffer</a></span></dt><dt><span class="sect1"><a href="#set_buddy_sendbuffer_delay">buddy_sendbuffer_delay</a></span></dt><dt><span class="sect1"><a href="#set_default_target">default_target</a></span></dt><dt><span class="sect1"><a href="#set_display_namechanges">display_namechanges</a></span></dt><dt><span class="sect1"><a href="#set_password">password</a></span></dt><dt><span class="sect1"><a href="#set_query_order">query_order</a></span></dt><dt><span class="sect1"><a href="#set_lcnicks">lcnicks</a></span></dt><dt><span class="sect1"><a href="#cmd_rename">rename - Rename (renick) a buddy</a></span></dt><dt><span class="sect1"><a href="#cmd_yes">yes - Accept a request</a></span></dt><dt><span class="sect1"><a href="#cmd_no">no - Deny a request</a></span></dt><dt><span class="sect1"><a href="#cmd_qlist">qlist - List all the unanswered questions root asked</a></span></dt><dt><span class="sect1"><a href="#cmd_register">register - Register yourself</a></span></dt><dt><span class="sect1"><a href="#cmd_identify">identify - Identify yourself with your password</a></span></dt><dt><span class="sect1"><a href="#cmd_drop">drop - Drop your account</a></span></dt><dt><span class="sect1"><a href="#cmd_blist">blist - List all the buddies in your contact list</a></span></dt><dt><span class="sect1"><a href="#cmd_nick">nick - Change friendly name, nick</a></span></dt><dt><span class="sect1"><a href="#cmd_import_buddies">import_buddies - Copy local buddy list to server (normally only needed when upgrading)</a></span></dt></dl></dd><dt><span class="chapter"><a href="#misc">6. Misc Stuff</a></span></dt><dd><dl><dt><span class="sect1"><a href="#smileys">Smileys</a></span></dt><dt><span class="sect1"><a href="#groupchats">Groupchats</a></span></dt><dt><span class="sect1"><a href="#groupchats2">Creating groupchats</a></span></dt><dt><span class="sect1"><a href="#groupchats3">Groupchat channel names</a></span></dt><dt><span class="sect1"><a href="#away">Away states</a></span></dt></dl></dd></dl></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Installation"></a>Chapter 1. Installation</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2488359">Downloading the package</a></span></dt><dt><span class="sect1"><a href="#id2449756">Compiling</a></span></dt><dt><span class="sect1"><a href="#id2449897">Configuration</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2488359"></a>Downloading the package</h2></div></div></div><p> -The latest BitlBee release is always available from <a href="http://www.bitlbee.org/" target="_top">http://www.bitlbee.org/</a>. -Download the package with your favorite program and unpack it: <span><strong class="command">tar -xvfz bitlbee-<version>.tar.gz</strong></span> where <version> is to be -replaced by the version number of the BitlBee you downloaded (e.g. 0.91). -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2449756"></a>Compiling</h2></div></div></div><p> -BitlBee's build system has to be configured before compiling. The -<code class="filename">configure</code> script will do this for you. Just run -it, it'll set up with nice and hopefully well-working defaults. If you -want to change some settings, just try -<span><strong class="command">./configure --help</strong></span> and see what you can do. -</p><p>Some variables that might be of interest to the normal user:</p><div class="itemizedlist"><ul type="disc"><li><p>prefix, bindir, etcdir, mandir, datadir - The place where -all the BitlBee program files will be put. There's usually no reason to -specify them all separately, just specifying prefix (or keeping the default -<code class="filename">/usr/local/</code>) should be okay.</p></li><li><p>config - The place where BitlBee will save all the per-user -settings and buddy information. <code class="filename">/var/lib/bitlbee/</code> -is the default value.</p></li><li><p>msn, jabber, oscar, yahoo - By default, support for all -these IM-protocols (OSCAR is the protocol used by both ICQ and AIM) will -be compiled in. To make the binary a bit smaller, you can use these options -to leave out support for protocols you're not planning to use.</p></li><li><p>debug - Generate an unoptimized binary with debugging symbols, -mainly useful if you want to do some debugging or help us to track down a -problem.</p></li><li><p>strip - By default, unnecessary parts of the generated binary -will be stripped out to make it as small as possible. If you don't want this -(because it might cause problems on some platforms), set this to 0. -</p></li><li><p>flood - To secure your BitlBee server against flooding attacks, -you can use this option. It's not compiled in by default because it needs -more testing first.</p></li><li><p>ssl - The MSN and Jabber modules require an SSL library for -some of their tasks. BitlBee can use three different SSL libraries: GnuTLS, -mozilla-nss and OpenSSL. (OpenSSL is, however, a bit troublesome because of -licensing issues, so don't forget to read the information configure will -give you when you try to use OpenSSL!) By default, configure will try to -detect GnuTLS or mozilla-nss. If none of them can be found, it'll give up. -If you want BitlBee to use OpenSSL, you have to explicitly specify that. -</p></li></ul></div><p> -After running <code class="filename">configure</code>, you should run -<span><strong class="command">make</strong></span>. After that, run <span><strong class="command">make install</strong></span> as -root. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2449897"></a>Configuration</h2></div></div></div><p> -By default, BitlBee runs as the user nobody. You might want -to run it as a seperate user (some computers run named or apache as nobody). -</p><p> -Since BitlBee uses inetd, you should add the following line to <code class="filename">/etc/inetd.conf</code>: -</p><p> - </p><pre class="programlisting"> -6667 stream tcp nowait nobody /usr/local/sbin/bitlbee bitlbee -</pre><p> - </p><p> -Inetd has to be restarted after changing the configuration. Either -<span><strong class="command">killall -HUP inetd</strong></span> or -<span><strong class="command">/etc/init.d/inetd restart</strong></span> should do the job on most systems. -</p><p> -You might be one of the.. ehr, lucky people running an xinetd-powered distro. -<span><strong class="command">xinetd</strong></span> is quite different and they seem to be proud of that.. ;-) -Anyway, if you want BitlBee to work with <span><strong class="command">xinetd</strong></span>, just copy the -bitlbee.xinetd file to your /etc/xinetd.d/ directory (and probably edit it to suit -your needs). -</p><p> -You should create a directory where BitlBee can store it's data files. This -should be the directory named after the value 'CONFIG' in Makefile.settings. -The default is <code class="filename">/var/lib/bitlbee</code>, which can be created -with the command <span><strong class="command">mkdir -p /var/lib/bitlbee</strong></span>. This -directory has to be owned by the user that runs bitlbee. To make -'nobody' owner of this directory, run <span><strong class="command">chown nobody /var/lib/bitlbee</strong></span>. -Because things like passwords are saved in this directory, it's probably -a good idea to make this directory owner-read-/writable only. -</p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Usage"></a>Chapter 2. Usage</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2450201">Connecting to the server</a></span></dt><dt><span class="sect1"><a href="#id2450215">The #bitlbee control channel</a></span></dt><dt><span class="sect1"><a href="#id2450234">Talking to people</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2450201"></a>Connecting to the server</h2></div></div></div><p> -Since BitlBee acts just like any other irc daemon, you can connect to -it with your favorite irc client. Launch it and connect to localhost port 6667 -(or whatever host/port you are running bitlbee on). -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2450215"></a>The #bitlbee control channel</h2></div></div></div><p> -Once you are connected to the BitlBee server, you are automatically joined -to #bitlbee on that server. This channel acts like the 'buddy list' you have -on the various other chat networks. -</p><p> -The user 'root' always hangs around in #bitlbee and acts as your interface -to bitlbee. All commands you give on #bitlbee are 'answered' by root. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2450234"></a>Talking to people</h2></div></div></div><p> -You can talk to by starting a query with them. In most irc clients, -this can be done with either <span><strong class="command">/msg <nick> <text></strong></span> -or <span><strong class="command">/query <nick></strong></span>. -</p><p> -To keep the number of open query windows limited, you can also talk to people -in the control channel, like <span><strong class="command"><nick>: <text></strong></span>. -</p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Support"></a>Chapter 3. Support</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2450279">BitlBee is beta software</a></span></dt><dt><span class="sect1"><a href="#id2450293">Support channels</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2450298">The World Wide Web</a></span></dt><dt><span class="sect2"><a href="#id2450315">IRC</a></span></dt><dt><span class="sect2"><a href="#id2450326">Mailinglists</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2450279"></a>BitlBee is beta software</h2></div></div></div><p> -Although BitlBee has quite some functionality it is still beta. That means it -can crash at any time, corrupt your data or whatever. Don't use it in -any production environment and don't rely on it. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2450293"></a>Support channels</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2450298"></a>The World Wide Web</h3></div></div></div><p><a href="http://www.bitlbee.org/" target="_top">http://www.bitlbee.org/</a> -is the homepage of bitlbee and contains the most recent news on bitlbee and -the latest releases. -</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2450315"></a>IRC</h3></div></div></div><p> -BitlBee is discussed on #bitlbee on the OFTC IRC network (server: irc.oftc.net). -</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2450326"></a>Mailinglists</h3></div></div></div><p> -BitlBee doesn't have any mailinglists. -</p></div></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="quickstart"></a>Chapter 4. Quickstart</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#quickstart2">Add and Connect To your IM Account(s)</a></span></dt><dt><span class="sect1"><a href="#quickstart3">Managing Contact Lists: Rename</a></span></dt><dt><span class="sect1"><a href="#quickstart4">Step Four: Managing Contact Lists: Add and Remove.</a></span></dt><dt><span class="sect1"><a href="#quickstart5">Chatting</a></span></dt><dt><span class="sect1"><a href="#quickstart6">Further Resources</a></span></dt></dl></div><p> -Welcome to BitlBee, your IRC gateway to ICQ, MSN, AOL, Jabber and Yahoo Instant Messaging Systems. -</p><p> -The center of BitlBee is the control channel, <span class="emphasis"><em>#bitlbee</em></span>. Two users will always be there, <span class="emphasis"><em>you</em></span> (where "you" is the nickname you are using) and the system user, <span class="emphasis"><em>root</em></span>. -</p><p> -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 <span class="emphasis"><em>register</em></span> command: <span class="emphasis"><em>register <password></em></span> (without the brackets!). -</p><p> -Be sure to remember your password. The next time you connect to the BitlBee server you will need to <span class="emphasis"><em>identify <password></em></span> so that you will be recognised and logged in to all the IM services automatically. -</p><p> -When finished, type <span class="emphasis"><em>help quickstart2</em></span> to continue. -</p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="quickstart2"></a>Add and Connect To your IM Account(s)</h2></div></div></div><p> - <span class="emphasis"><em>Step Two: Add and Connect To your IM Account(s).</em></span> - </p><p> -To add an account to the account list you will need to use the <span class="emphasis"><em>account add</em></span> command: <span class="emphasis"><em>account add <protocol> <username> <password> [<server>]</em></span>. -</p><p> -For instance, suppose you have an ICQ account with UIN <span class="emphasis"><em>72696705</em></span> with password <span class="emphasis"><em>QuickStart</em></span>, you would: -</p><pre class="screen"><code class="prompt">< you> </code><strong class="userinput"><code>account add oscar 72696705 QuickStart login.icq.com</code></strong> -<code class="prompt">< root> </code><strong class="userinput"><code>Account successfully added</code></strong> -</pre><p> -Other available IM protocols are jabber, msn, and yahoo. Oscar is the protocol used by ICQ and AOL. For oscar, you need to specify the IM-server as a fourth argument (for msn and yahoo there is no fourth argument). For AOL Instant Messenger, the server name is <span class="emphasis"><em>login.oscar.aol.com</em></span>. For ICQ, the server name is <span class="emphasis"><em>login.icq.com</em></span>. -</p><p> -When you are finished adding your account(s) use the <span class="emphasis"><em>account on</em></span> command to enable all your accounts, type <span class="emphasis"><em>help quickstart3</em></span> to continue. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="quickstart3"></a>Managing Contact Lists: Rename</h2></div></div></div><p> - <span class="emphasis"><em>Step Three: Managing Contact Lists: Rename</em></span> - </p><p> -For most protocols (currently MSN, Jabber, Yahoo and AOL) BitlBee can download the contact list automatically from the IM server and all the on-line users should appear in the control channel when you log in. -</p><p> -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. -</p><p> -It would be easy to get these two mixed up, so BitlBee has a <span class="emphasis"><em>rename</em></span> command to change the nickname into something more suitable: <span class="emphasis"><em>rename <oldnick> <newnick></em></span></p><pre class="screen"><code class="prompt">< you> </code><strong class="userinput"><code>rename tux_ bitlbeetux</code></strong> - * tux_is now known as bitlbeetux -<code class="prompt">< root> </code><strong class="userinput"><code>Nick successfully changed</code></strong> -</pre><p> -When finished, type <span class="emphasis"><em>help quickstart4</em></span> to continue. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="quickstart4"></a>Step Four: Managing Contact Lists: Add and Remove.</h2></div></div></div><p> - <span class="emphasis"><em>Step Four: Managing Contact Lists: Add and Remove.</em></span> - </p><p> -Now you might want to add some contacts, to do this we will use the <span class="emphasis"><em>add</em></span> command. It needs two arguments: a connection ID (which can be a number (try <span class="emphasis"><em>account list</em></span>), protocol name or (part of) the screenname) and the user's handle. It is used in the following way: <span class="emphasis"><em>add <connection> <handle></em></span></p><pre class="screen"><code class="prompt">< you> </code><strong class="userinput"><code>add 0 r2d2@example.com</code></strong> - * r2d2has joined #bitlbee -</pre><p> -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. -</p><p> -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 <span class="emphasis"><em>remove</em></span> command: <span class="emphasis"><em>remove <nick></em></span></p><p> -When finished, type <span class="emphasis"><em>help quickstart5</em></span> to continue. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="quickstart5"></a>Chatting</h2></div></div></div><p> - <span class="emphasis"><em>Step Five: Chatting.</em></span> - </p><p> -First of all, a person must be on your contact list for you to chat with them (unless it's a group chat, <span class="emphasis"><em>help groupchats</em></span> for more). If someone not on your contact list sends you a message, simply add them to the proper account with the <span class="emphasis"><em>add</em></span> command. Once they are on your list and online, you can chat with them in #bitlbee: -</p><pre class="screen"><code class="prompt">< you> </code><strong class="userinput"><code>tux: hey, how's the weather down there?</code></strong> -<code class="prompt">< tux> </code><strong class="userinput"><code>you: a bit chilly!</code></strong> -</pre><p> -If you'd rather chat with them in a separate window use the <span class="emphasis"><em>/msg</em></span> or <span class="emphasis"><em>/query</em></span> command, just like you would for a private message in IRC. If you want to have messages automatically come up in private messages rather than in the #bitlbee channel, use the <span class="emphasis"><em>set private</em></span> command: <span class="emphasis"><em>set private true</em></span> (<span class="emphasis"><em>set private false</em></span> to change back). -</p><p> -You know the basics. If you want to get to know more about BitlBee, please type <span class="emphasis"><em>help quickstart6</em></span>. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="quickstart6"></a>Further Resources</h2></div></div></div><p> - <span class="emphasis"><em>So you want more than just chatting? Or maybe you're just looking for a feature?</em></span> - </p><p> -You can type <span class="emphasis"><em>help set</em></span> 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 <span class="emphasis"><em>set</em></span> to see current user settings). -</p><p> -For more subjects (like groupchats and away states), please type <span class="emphasis"><em>help index</em></span>. -</p><p> -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! -</p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="commands"></a>Chapter 5. Bitlbee commands</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#cmd_account">account - IM-account list maintenance</a></span></dt><dd><dl><dt><span class="sect2"><a href="#cmd_account_add">account add</a></span></dt><dt><span class="sect2"><a href="#cmd_account_del">account del</a></span></dt><dt><span class="sect2"><a href="#cmd_account_on">account on</a></span></dt><dt><span class="sect2"><a href="#cmd_account_off">account off</a></span></dt><dt><span class="sect2"><a href="#cmd_account_list">account list</a></span></dt></dl></dd><dt><span class="sect1"><a href="#cmd_add">add - Add a buddy to your contact list</a></span></dt><dt><span class="sect1"><a href="#cmd_info">info - Request user information</a></span></dt><dt><span class="sect1"><a href="#cmd_remove">remove - Remove a buddy from your contact list</a></span></dt><dt><span class="sect1"><a href="#cmd_block">block - Block someone</a></span></dt><dt><span class="sect1"><a href="#cmd_allow">allow - Unblock someone</a></span></dt><dt><span class="sect1"><a href="#cmd_set">set - Miscellaneous settings</a></span></dt><dt><span class="sect1"><a href="#cmd_help">help - BitlBee help system</a></span></dt><dt><span class="sect1"><a href="#cmd_save">save - Save your account data</a></span></dt><dt><span class="sect1"><a href="#set_charset">charset</a></span></dt><dt><span class="sect1"><a href="#set_private">private</a></span></dt><dt><span class="sect1"><a href="#set_save_on_quit">save_on_quit</a></span></dt><dt><span class="sect1"><a href="#set_html">html</a></span></dt><dt><span class="sect1"><a href="#set_debug">debug</a></span></dt><dt><span class="sect1"><a href="#set_to_char">to_char</a></span></dt><dt><span class="sect1"><a href="#set_typing_notice">typing_notice</a></span></dt><dt><span class="sect1"><a href="#set_ops">ops</a></span></dt><dt><span class="sect1"><a href="#set_away_devoice">away_devoice</a></span></dt><dt><span class="sect1"><a href="#set_handle_unknown">handle_unknown</a></span></dt><dt><span class="sect1"><a href="#set_auto_connect">auto_connect</a></span></dt><dt><span class="sect1"><a href="#set_auto_reconnect">auto_reconnect</a></span></dt><dt><span class="sect1"><a href="#set_auto_reconnect_delay">auto_reconnect_delay</a></span></dt><dt><span class="sect1"><a href="#set_buddy_sendbuffer">buddy_sendbuffer</a></span></dt><dt><span class="sect1"><a href="#set_buddy_sendbuffer_delay">buddy_sendbuffer_delay</a></span></dt><dt><span class="sect1"><a href="#set_default_target">default_target</a></span></dt><dt><span class="sect1"><a href="#set_display_namechanges">display_namechanges</a></span></dt><dt><span class="sect1"><a href="#set_password">password</a></span></dt><dt><span class="sect1"><a href="#set_query_order">query_order</a></span></dt><dt><span class="sect1"><a href="#set_lcnicks">lcnicks</a></span></dt><dt><span class="sect1"><a href="#cmd_rename">rename - Rename (renick) a buddy</a></span></dt><dt><span class="sect1"><a href="#cmd_yes">yes - Accept a request</a></span></dt><dt><span class="sect1"><a href="#cmd_no">no - Deny a request</a></span></dt><dt><span class="sect1"><a href="#cmd_qlist">qlist - List all the unanswered questions root asked</a></span></dt><dt><span class="sect1"><a href="#cmd_register">register - Register yourself</a></span></dt><dt><span class="sect1"><a href="#cmd_identify">identify - Identify yourself with your password</a></span></dt><dt><span class="sect1"><a href="#cmd_drop">drop - Drop your account</a></span></dt><dt><span class="sect1"><a href="#cmd_blist">blist - List all the buddies in your contact list</a></span></dt><dt><span class="sect1"><a href="#cmd_nick">nick - Change friendly name, nick</a></span></dt><dt><span class="sect1"><a href="#cmd_import_buddies">import_buddies - Copy local buddy list to server (normally only needed when upgrading)</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_account"></a>account - IM-account list maintenance</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">account <action> [<arguments>] -</pre><p> - </p><p> - Available actions: add, del, list, on, off. See <span class="emphasis"><em>help account <action></em></span> for more information. - </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="cmd_account_add"></a>account add</h3></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">account add <protocol> <username> <password> [<server>] -</pre><p> - </p><p> - 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) and Yahoo. For more information about adding an account, see <span class="emphasis"><em>help account add <protocol></em></span>. - </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="cmd_account_add_jabber"></a>account add jabber</h3></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">account add jabber <handle> <password> [<servertag>] -</pre><p> - </p><p> - Note that the servertag argument is optional. You only have to use it if the part after the @ in your handle isn't the hostname of your Jabber server, or if you want to use SSL/connect to a non-standard port number. The format is simple: [<servername>[:<portnumber>][:ssl]]. For example, this is how you can connect to Google Talk: - </p><p> - Note that Google talk is SSL-only, but officially reachable over both port 5222 and 5223. However, for some people only port 5222 works, for some people only 5223. This is something you'll have to try out. - </p><pre class="screen"><code class="prompt">< wilmer> </code><strong class="userinput"><code>account add jabber example@gmail.com hobbelmeeuw talk.google.com:5223:ssl</code></strong> -<code class="prompt">< root> </code><strong class="userinput"><code>Account successfully added</code></strong> -</pre></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="cmd_account_add_msn"></a>account add msn</h3></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">account add msn <handle> <password> -</pre><p> - </p><p> - For MSN connections there are no special arguments. - </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="cmd_account_add_oscar"></a>account add oscar</h3></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">account add oscar <handle> <password> [<servername>] -</pre><p> - </p><p> - Specifying a server is required for OSCAR, since OSCAR can be used for both ICQ- and AIM-connections. Although these days it's supposed to be possible to connect to ICQ via AIM-servers and vice versa, we like to stick with this separation for now. For ICQ connections, the servername is <span class="emphasis"><em>login.icq.com</em></span>, for AIM connections it's <span class="emphasis"><em>login.oscar.aol.com</em></span>. - </p><pre class="screen"><code class="prompt">< wilmer> </code><strong class="userinput"><code>account add oscar 72696705 hobbelmeeuw login.icq.com</code></strong> -<code class="prompt">< root> </code><strong class="userinput"><code>Account successfully added</code></strong> -</pre></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="cmd_account_add_yahoo"></a>account add yahoo</h3></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">account add yahoo <handle> <password> -</pre><p> - </p><p> - For Yahoo! connections there are no special arguments. - </p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="cmd_account_del"></a>account del</h3></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">account del <account id> -</pre><p> - </p><p> - This commands deletes an account from your account list. You should signoff the account before deleting it. - </p><p> - The account ID can be a number (see <span class="emphasis"><em>account list</em></span>), the protocol name or (part of) the screenname, as long as it matches only one connection. - </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="cmd_account_on"></a>account on</h3></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">account on [<account id>] -</pre><p> - </p><p> - This command will try to log into the specified account. If no account is specified, BitlBee will log into all the accounts. (Including accounts awaiting a reconnection) - </p><p> - The account ID can be a number (see <span class="emphasis"><em>account list</em></span>), the protocol name or (part of) the screenname, as long as it matches only one connection. - </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="cmd_account_off"></a>account off</h3></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">account off [<account id>] -</pre><p> - </p><p> - This command disconnects the connection for the specified account. If no account is specified, BitlBee will deactivate all active accounts. (Including accounts awaiting a reconnection) - </p><p> - The account ID can be a number (see <span class="emphasis"><em>account list</em></span>), the protocol name or (part of) the screenname, as long as it matches only one connection. - </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="cmd_account_list"></a>account list</h3></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">account list -</pre><p> - </p><p> - This command gives you a list of all the accounts known by BitlBee, including the numbers you'll need for most account commands. - </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_add"></a>add - Add a buddy to your contact list</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">add <connection> <handle> [<nick>] -</pre><p> - </p><p> - Adds the given buddy at the specified connection to your buddy list. The account ID can be a number (see <span class="emphasis"><em>account list</em></span>), the protocol name or (part of) the screenname, as long as it matches only one connection. - </p><p> - If you want, you can also tell BitlBee what nick to give the new contact. Of course you can also use the <span class="emphasis"><em>rename</em></span> command for that, but sometimes this might be more convenient. - </p><pre class="screen"><code class="prompt">< ctrlsoft> </code><strong class="userinput"><code>add 3 gryp@jabber.org grijp</code></strong> - * grijphas joined #bitlbee -</pre></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_info"></a>info - Request user information</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">info <connection> <handle> -info <nick> -</pre><p> - </p><p> - 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. - </p><pre class="screen"><code class="prompt">< ctrlsoft> </code><strong class="userinput"><code>info 0 72696705</code></strong> -<code class="prompt">< root> </code><strong class="userinput"><code>User info - UIN: 72696705 Nick: Lintux First/Last name: Wilmer van der Gaast E-mail: lintux@lintux.cx</code></strong> -</pre></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_remove"></a>remove - Remove a buddy from your contact list</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">remove <nick> -</pre><p> - </p><p> - Removes the specified nick from your buddy list. - </p><pre class="screen"><code class="prompt">< ctrlsoft> </code><strong class="userinput"><code>remove gryp</code></strong> - * gryphas quit [Leaving...] -</pre></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_block"></a>block - Block someone</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">block <nick> -block <connection> <handle> -</pre><p> - </p><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_allow"></a>allow - Unblock someone</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">allow <nick> -allow <connection> <handle> -</pre><p> - </p><p> - Reverse of block. Unignores the specified user or user handle on specified connection. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_set"></a>set - Miscellaneous settings</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">set [<variable> [<value>]] -</pre><p> - </p><p> - 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. - </p><p> - To get more help information about a setting, try: - </p><pre class="screen"><code class="prompt">< ctrlsoft> </code><strong class="userinput"><code>help set private</code></strong> -</pre></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_help"></a>help - BitlBee help system</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">help [subject] -</pre><p> - </p><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_save"></a>save - Save your account data</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">save -</pre><p> - </p><p> - 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... ;-) - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_charset"></a>charset</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: string</td></tr></table><p> - The charset setting enables you to use different character sets in BitlBee. These get converted to UTF-8 before sending and from UTF-8 when receiving. - </p><p> - If you don't know what's the best value for this, at least iso8859-1 is the best choice for most Western countries. You can try to find what works best for you on http://czyborra.com/charsets/iso8859.html - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_private"></a>private</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: boolean</td></tr></table><p> - If value is true, messages from users will appear in separate query windows. If false, messages from users will appear in the control channel. - </p><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_save_on_quit"></a>save_on_quit</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: boolean</td></tr></table><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_html"></a>html</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: string</td></tr></table><p> - Determines what BitlBee should do with HTML in messages. If set to nostrip, HTML in messages will not be touched. If set to strip, all HTML will be stripped from messages. Unfortunately this sometimes strips too much. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_debug"></a>debug</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: boolean</td></tr></table><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_to_char"></a>to_char</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: string</td></tr></table><p> - 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 <span class="emphasis"><em>set to_char</em></span>. - </p><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_typing_notice"></a>typing_notice</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: boolean</td></tr></table><p> - Sends you a /notice when a user starts typing a message (if the protocol supports it, MSN for example). This is a bug, not a feature. (But please don't report it.. ;-) You don't want to use it. Really. In fact the typing-notification is just one of the least useful 'innovations' ever. It's just there because some guy will probably ask me about it anyway. ;-) - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_ops"></a>ops</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: string</td></tr></table><p> - Some people prefer themself and root to have operator status in #bitlbee, other people don't. You can change these states using this setting. - </p><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_away_devoice"></a>away_devoice</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: boolean</td></tr></table><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_handle_unknown"></a>handle_unknown</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: string</td></tr></table><p> - Messages from unknown users are echoed like this by default: - </p><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_auto_connect"></a>auto_connect</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: boolean</td></tr></table><p> - With this option enabled, when you identify BitlBee will automatically connect to your accounts, with this disabled it will not do this. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_auto_reconnect"></a>auto_reconnect</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: boolean</td></tr></table><p> - 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. - </p><p> - See also the <span class="emphasis"><em>auto_reconnect_delay</em></span> setting. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_auto_reconnect_delay"></a>auto_reconnect_delay</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: integer</td></tr></table><p> - Tell BitlBee after how many seconds it should attempt to bring an IM-connection back up after a crash. It's not a good idea to set this value very low, it will cause too much useless traffic when an IM-server is down for a few hours. - </p><p> - See also the <span class="emphasis"><em>auto_reconnect</em></span> setting. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_buddy_sendbuffer"></a>buddy_sendbuffer</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: boolean</td></tr></table><p> - 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. - </p><p> - Using the <span class="emphasis"><em>buddy_sendbuffer_delay</em></span> setting you can specify the number of seconds BitlBee should wait for more data before the complete message is sent. - </p><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_buddy_sendbuffer_delay"></a>buddy_sendbuffer_delay</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: integer</td></tr></table><p> - Tell BitlBee after how many seconds a buffered message should be sent. - </p><p> - See also the <span class="emphasis"><em>buddy_sendbuffer</em></span> setting. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_default_target"></a>default_target</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: string</td></tr></table><p> - With this value set to <span class="emphasis"><em>root</em></span>, 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 <span class="emphasis"><em>last</em></span>. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_display_namechanges"></a>display_namechanges</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: boolean</td></tr></table></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_password"></a>password</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: string</td></tr></table><p> - Use this setting to change your "NickServ" password. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_query_order"></a>query_order</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: string</td></tr></table><p> - This changes the order in which the questions from root (usually authorization requests from buddies) should be answered. When set to <span class="emphasis"><em>lifo</em></span>, BitlBee immediately displays all new questions and they should be answered in reverse order. When this is set to <span class="emphasis"><em>fifo</em></span>, BitlBee displays the first question which comes in and caches all the others until you answer the first one. - </p><p> - Although the <span class="emphasis"><em>fifo</em></span> 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). - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="set_lcnicks"></a>lcnicks</h2></div></div></div><table class="simplelist" border="0" summary="Simple list"><tr><td>Type: boolean</td></tr></table><p> - Hereby you can change whether you want all lower case nick names or leave the case as it intended by your peer. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_rename"></a>rename - Rename (renick) a buddy</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">rename <oldnick> <newnick> -</pre><p> - </p><p> - 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). - </p><pre class="screen"><code class="prompt">< itsme> </code><strong class="userinput"><code>rename itsme_ you</code></strong> - * itsme_is now known as you -</pre></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_yes"></a>yes - Accept a request</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">yes [<number>] -</pre><p> - </p><p> - 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 <span class="emphasis"><em>yes</em></span> command. - </p><p> - By default, this answers the first unanswered question. You can also specify a different question as an argument. You can use the <span class="emphasis"><em>qlist</em></span> command for a list of questions. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_no"></a>no - Deny a request</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">no [<number>] -</pre><p> - </p><p> - 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 <span class="emphasis"><em>no</em></span> command. - </p><p> - By default, this answers the first unanswered question. You can also specify a different question as an argument. You can use the <span class="emphasis"><em>qlist</em></span> command for a list of questions. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_qlist"></a>qlist - List all the unanswered questions root asked</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">qlist -</pre><p> - </p><p> - This gives you a list of all the unanswered questions from root. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_register"></a>register - Register yourself</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">register <password> -</pre><p> - </p><p> - 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 <span class="emphasis"><em>register</em></span> command. - </p><p> - 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.. ;-) - </p><p> - To identify yourself in later sessions, you can use the <span class="emphasis"><em>identify</em></span> command. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_identify"></a>identify - Identify yourself with your password</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">identify <password> -</pre><p> - </p><p> - 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 <span class="emphasis"><em>register</em></span> command. - </p><p> - Once you're registered, you can change your password using <span class="emphasis"><em>set password <password></em></span>. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_drop"></a>drop - Drop your account</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">drop <password> -</pre><p> - </p><p> - 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. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_blist"></a>blist - List all the buddies in your contact list</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">blist [all|online|offline|away] -</pre><p> - </p><p> - You can get a better readable buddy list using the <span class="emphasis"><em>blist</em></span> command. If you want a complete list (including the offline users) you can use the <span class="emphasis"><em>all</em></span> argument. - </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_nick"></a>nick - Change friendly name, nick</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">nick <connection> [<new nick>] -nick -</pre><p> - </p><p> - This command allows to set the friendly name of an im account. If no new name is specified the command will report the current name. When the name contains spaces, don't forget to quote the whole nick in double quotes. Currently this command is only supported by the MSN protocol. - </p><pre class="screen"><code class="prompt">< wouter> </code><strong class="userinput"><code>nick 1 "Wouter Paesen"</code></strong> -<code class="prompt">< root> </code><strong class="userinput"><code>Setting your name on connection 1 to `Wouter Paesen'</code></strong> -</pre></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmd_import_buddies"></a>import_buddies - Copy local buddy list to server (normally only needed when upgrading)</h2></div></div></div><p><b>Syntax: </b> - </p><pre class="programlisting">import_buddies <connection> [clear] -</pre><p> - </p><p> - This command copies the locally stored buddy list to the server. This command exists for upgrading purposes. Previous versions of BitlBee didn't support server-side buddy lists for ICQ, so the list was stored locally. - </p><p> - Since version 0.91 however, server-side contact lists are supported for all protocols, so the local list is now ignored. When upgrading from an older BitlBee to version 0.91, you might need this command to get your buddy list back. - </p><p> - The only argument this command needs is your ICQ account identification. If your serverside buddy list contains some old buddies you don't want anymore, you can pass <span class="emphasis"><em>clear</em></span> as a second argument. - </p><p> - After giving this command, you have to wait for a while before all the adds are handled, because of ICQ's rate limiting. If your buddy list is very large and the ICQ server starts complaining, you might have to reconnect and enter this command again. - </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="misc"></a>Chapter 6. Misc Stuff</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#smileys">Smileys</a></span></dt><dt><span class="sect1"><a href="#groupchats">Groupchats</a></span></dt><dt><span class="sect1"><a href="#groupchats2">Creating groupchats</a></span></dt><dt><span class="sect1"><a href="#groupchats3">Groupchat channel names</a></span></dt><dt><span class="sect1"><a href="#away">Away states</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="smileys"></a>Smileys</h2></div></div></div><p> -All MSN smileys (except one) are case insensitive and work without the nose too. -</p><div class="variablelist"><dl><dt><span class="term">(Y)</span></dt><dd><p>Thumbs up</p></dd><dt><span class="term">(N)</span></dt><dd><p>Thumbs down</p></dd><dt><span class="term">(B)</span></dt><dd><p>Beer mug</p></dd><dt><span class="term">(D)</span></dt><dd><p>Martini glass</p></dd><dt><span class="term">(X)</span></dt><dd><p>Girl</p></dd><dt><span class="term">(Z)</span></dt><dd><p>Boy</p></dd><dt><span class="term">(6)</span></dt><dd><p>Devil smiley</p></dd><dt><span class="term">:-[</span></dt><dd><p>Vampire bat</p></dd><dt><span class="term">(})</span></dt><dd><p>Right hug</p></dd><dt><span class="term">({)</span></dt><dd><p>Left hug</p></dd><dt><span class="term">(M)</span></dt><dd><p>MSN Messenger or Windows Messenger icon (think a BitlBee logo here ;)</p></dd><dt><span class="term">:-S</span></dt><dd><p>Crooked smiley (Confused smiley)</p></dd><dt><span class="term">:-$</span></dt><dd><p>Embarrassed smiley</p></dd><dt><span class="term">(H)</span></dt><dd><p>Smiley with sunglasses</p></dd><dt><span class="term">:-@</span></dt><dd><p>Angry smiley</p></dd><dt><span class="term">(A)</span></dt><dd><p>Angel smiley</p></dd><dt><span class="term">(L)</span></dt><dd><p>Red heart (Love)</p></dd><dt><span class="term">(U)</span></dt><dd><p>Broken heart</p></dd><dt><span class="term">(K)</span></dt><dd><p>Red lips (Kiss)</p></dd><dt><span class="term">(G)</span></dt><dd><p>Gift with bow</p></dd><dt><span class="term">(F)</span></dt><dd><p>Red rose</p></dd><dt><span class="term">(W)</span></dt><dd><p>Wilted rose</p></dd><dt><span class="term">(P)</span></dt><dd><p>Camera</p></dd><dt><span class="term">(~)</span></dt><dd><p>Film strip</p></dd><dt><span class="term">(T)</span></dt><dd><p>Telephone receiver</p></dd><dt><span class="term">(@)</span></dt><dd><p>Cat face</p></dd><dt><span class="term">(&)</span></dt><dd><p>Dog's head</p></dd><dt><span class="term">(C)</span></dt><dd><p>Coffee cup</p></dd><dt><span class="term">(I)</span></dt><dd><p>Light bulb</p></dd><dt><span class="term">(S)</span></dt><dd><p>Half-moon (Case sensitive!)</p></dd><dt><span class="term">(*)</span></dt><dd><p>Star</p></dd><dt><span class="term">(8)</span></dt><dd><p>Musical eighth note</p></dd><dt><span class="term">(E)</span></dt><dd><p>Envelope</p></dd><dt><span class="term">(^)</span></dt><dd><p>Birthday cake</p></dd><dt><span class="term">(O)</span></dt><dd><p>Clock</p></dd></dl></div><p> -This list was extracted from <a href="http://help.msn.com/!data/en_us/data/messengerv50.its51/%24content%24/EMOTICONS.HTM?H_APP=" target="_top">http://help.msn.com/!data/en_us/data/messengerv50.its51/$content$/EMOTICONS.HTM?H_APP=</a>. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="groupchats"></a>Groupchats</h2></div></div></div><p> -Since version 0.8x, BitlBee supports groupchats on the MSN and Yahoo! networks. This text will try to explain you how they work. -</p><p> -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). -</p><p> -Of course you can also create your own groupchats. Type <span class="emphasis"><em>help groupchats2</em></span> to see how. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="groupchats2"></a>Creating groupchats</h2></div></div></div><p> -If you want to start a groupchat with the person <span class="emphasis"><em>jim_msn</em></span> in it, just join the channel <span class="emphasis"><em>#jim_msn</em></span>. BitlBee will refuse to join you to the channel with that name, but it will create a new virtual channel with root, you and jim_msn in it. -</p><p> -Of course a channel with only two people isn't really exciting yet. So the next step is to invite some other people to the channel. For this, you can use the <span class="emphasis"><em>/invite</em></span> command of your IRC client. 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. -</p><p> -This is all you'll probably need to know. If you have any problems, please read <span class="emphasis"><em>help groupchats3</em></span>. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="groupchats3"></a>Groupchat channel names</h2></div></div></div><p> -Obviously the (numbered) channel names don't make a lot of sense. Problem is that groupchats usually don't have names at all in the IM-world, while IRC insists on a name. So BitlBee just generates something random, just don't pay attention to it. :-) -</p><p> -Please also note that BitlBee doesn't support groupchats for all protocols yet. BitlBee will tell you so. Support for other protocols will hopefully come later. -</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="away"></a>Away states</h2></div></div></div><p> -As you might've expected, you can just use the <span class="emphasis"><em>/away</em></span> command in your IRC client to set an away-state. BitlBee supports most away-states supported by the protocols. -</p><p> -Not all away states are supported by all protocols, and some protocols have different names for them. BitlBee will try to pick the best available alias from this list for every connection: -</p><table class="simplelist" border="0" summary="Simple list"><tr><td>Away from computer, Away, Extended away</td></tr><tr><td>NA, N/A, Not available</td></tr><tr><td>Busy, Do not disturb, DND, Occupied</td></tr><tr><td>Be right back, BRB</td></tr><tr><td>On the phone, Phone, On phone</td></tr><tr><td>Out to lunch, Lunch, Food</td></tr></table><p> -So <span class="emphasis"><em>/away Food</em></span> will set your state to "Out to lunch" on your MSN connection, and for most other connections the default, "Away" or "Away from computer" will be chosen. -</p><p> -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. Protocols like Yahoo! and Jabber will also show this complete away message to your buddies. -</p></div></div></div></body></html> diff --git a/doc/user-guide/user-guide.txt b/doc/user-guide/user-guide.txt deleted file mode 100644 index 449dd4de..00000000 --- a/doc/user-guide/user-guide.txt +++ /dev/null @@ -1,1209 +0,0 @@ -BitlBee User Guide - -Jelmer Vernooij - -Wilmer van der Gaast - -Sjoerd Hemminga - -This is the initial release of the BitlBee User Guide. - -Permission is granted to copy, distribute and/or modify this document under the -terms of the GNU Free Documentation License, Version 1.1 or any later version -published by the Free Software Foundation with no Invariant Sections, no -Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy of the GNU -Free Documentation License from the Free Software Foundation by visiting their -Web site or by writing to: Free Software Foundation, Inc., 59 Temple Place - -Suite 330, Boston, MA 02111-1307, USA. - -------------------------------------------------------------------------------- - -Table of Contents - -1. Installation - - Downloading the package - Compiling - Configuration - -2. Usage - - Connecting to the server - The #bitlbee control channel - Talking to people - -3. Support - - BitlBee is beta software - Support channels - - The World Wide Web - IRC - Mailinglists - -4. Quickstart - - Add and Connect To your IM Account(s) - Managing Contact Lists: Rename - Step Four: Managing Contact Lists: Add and Remove. - Chatting - Further Resources - -5. Bitlbee commands - - account - IM-account list maintenance - - account add - account del - account on - account off - account list - - 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 - charset - private - save_on_quit - html - debug - to_char - typing_notice - ops - away_devoice - handle_unknown - auto_connect - auto_reconnect - auto_reconnect_delay - buddy_sendbuffer - buddy_sendbuffer_delay - default_target - display_namechanges - password - query_order - lcnicks - 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 - import_buddies - Copy local buddy list to server (normally only needed when - upgrading) - -6. Misc Stuff - - Smileys - Groupchats - Creating groupchats - Groupchat channel names - Away states - -Chapter 1. Installation - -Table of Contents - -Downloading the package -Compiling -Configuration - -Downloading the package - -The latest BitlBee release is always available from http://www.bitlbee.org/. -Download the package with your favorite program and unpack it: tar xvfz -bitlbee-<version>.tar.gz where <version> is to be replaced by the version -number of the BitlBee you downloaded (e.g. 0.91). - -Compiling - -BitlBee's build system has to be configured before compiling. The configure -script will do this for you. Just run it, it'll set up with nice and hopefully -well-working defaults. If you want to change some settings, just try ./ -configure --help and see what you can do. - -Some variables that might be of interest to the normal user: - - * prefix, bindir, etcdir, mandir, datadir - The place where all the BitlBee - program files will be put. There's usually no reason to specify them all - separately, just specifying prefix (or keeping the default /usr/local/) - should be okay. - - * config - The place where BitlBee will save all the per-user settings and - buddy information. /var/lib/bitlbee/ is the default value. - - * msn, jabber, oscar, yahoo - By default, support for all these IM-protocols - (OSCAR is the protocol used by both ICQ and AIM) will be compiled in. To - make the binary a bit smaller, you can use these options to leave out - support for protocols you're not planning to use. - - * debug - Generate an unoptimized binary with debugging symbols, mainly - useful if you want to do some debugging or help us to track down a problem. - - * strip - By default, unnecessary parts of the generated binary will be - stripped out to make it as small as possible. If you don't want this - (because it might cause problems on some platforms), set this to 0. - - * flood - To secure your BitlBee server against flooding attacks, you can use - this option. It's not compiled in by default because it needs more testing - first. - - * ssl - The MSN and Jabber modules require an SSL library for some of their - tasks. BitlBee can use three different SSL libraries: GnuTLS, mozilla-nss - and OpenSSL. (OpenSSL is, however, a bit troublesome because of licensing - issues, so don't forget to read the information configure will give you - when you try to use OpenSSL!) By default, configure will try to detect - GnuTLS or mozilla-nss. If none of them can be found, it'll give up. If you - want BitlBee to use OpenSSL, you have to explicitly specify that. - -After running configure, you should run make. After that, run make install as -root. - -Configuration - -By default, BitlBee runs as the user nobody. You might want to run it as a -seperate user (some computers run named or apache as nobody). - -Since BitlBee uses inetd, you should add the following line to /etc/inetd.conf: - -6667 stream tcp nowait nobody /usr/local/sbin/bitlbee bitlbee - -Inetd has to be restarted after changing the configuration. Either killall -HUP -inetd or /etc/init.d/inetd restart should do the job on most systems. - -You might be one of the.. ehr, lucky people running an xinetd-powered distro. -xinetd is quite different and they seem to be proud of that.. ;-) Anyway, if -you want BitlBee to work with xinetd, just copy the bitlbee.xinetd file to your -/etc/xinetd.d/ directory (and probably edit it to suit your needs). - -You should create a directory where BitlBee can store it's data files. This -should be the directory named after the value 'CONFIG' in Makefile.settings. -The default is /var/lib/bitlbee, which can be created with the command mkdir -p -/var/lib/bitlbee. This directory has to be owned by the user that runs bitlbee. -To make 'nobody' owner of this directory, run chown nobody /var/lib/bitlbee. -Because things like passwords are saved in this directory, it's probably a good -idea to make this directory owner-read-/writable only. - -Chapter 2. Usage - -Table of Contents - -Connecting to the server -The #bitlbee control channel -Talking to people - -Connecting to the server - -Since BitlBee acts just like any other irc daemon, you can connect to it with -your favorite irc client. Launch it and connect to localhost port 6667 (or -whatever host/port you are running bitlbee on). - -The #bitlbee control channel - -Once you are connected to the BitlBee server, you are automatically joined to # -bitlbee on that server. This channel acts like the 'buddy list' you have on the -various other chat networks. - -The user 'root' always hangs around in #bitlbee and acts as your interface to -bitlbee. All commands you give on #bitlbee are 'answered' by root. - -Talking to people - -You can talk to by starting a query with them. In most irc clients, this can be -done with either /msg <nick> <text> or /query <nick>. - -To keep the number of open query windows limited, you can also talk to people -in the control channel, like <nick>: <text>. - -Chapter 3. Support - -Table of Contents - -BitlBee is beta software -Support channels - - The World Wide Web - IRC - Mailinglists - -BitlBee is beta software - -Although BitlBee has quite some functionality it is still beta. That means it -can crash at any time, corrupt your data or whatever. Don't use it in any -production environment and don't rely on it. - -Support channels - -The World Wide Web - -http://www.bitlbee.org/ is the homepage of bitlbee and contains the most recent -news on bitlbee and the latest releases. - -IRC - -BitlBee is discussed on #bitlbee on the OFTC IRC network (server: -irc.oftc.net). - -Mailinglists - -BitlBee doesn't have any mailinglists. - -Chapter 4. Quickstart - -Table of Contents - -Add and Connect To your IM Account(s) -Managing Contact Lists: Rename -Step Four: Managing Contact Lists: Add and Remove. -Chatting -Further Resources - -Welcome to BitlBee, your IRC gateway to ICQ, MSN, AOL, Jabber and Yahoo Instant -Messaging Systems. - -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. - -Add and Connect To your IM Account(s) - -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 an ICQ account with UIN 72696705 with password -QuickStart, you would: - -< you> account add oscar 72696705 QuickStart login.icq.com -< root> Account successfully added - -Other available IM protocols are jabber, msn, and yahoo. Oscar is the protocol -used by ICQ and AOL. For oscar, you need to specify the IM-server as a fourth -argument (for msn and yahoo there is no fourth argument). For AOL Instant -Messenger, the server name is login.oscar.aol.com. For ICQ, the server name is -login.icq.com. - -When you are finished adding your account(s) use the account on command to -enable all your accounts, type help quickstart3 to continue. - -Managing Contact Lists: Rename - -Step Three: Managing Contact Lists: Rename - -For most protocols (currently MSN, Jabber, Yahoo and AOL) BitlBee can download -the contact list automatically from the IM server and all the on-line users -should appear in the control channel when you log in. - -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. - -Step Four: Managing Contact Lists: Add and Remove. - -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 - * r2d2has 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. - -Chatting - -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! - -If you'd rather chat with them in a separate window use the /msg or /query -command, just like you would for a private message in IRC. If you want to have -messages automatically come up in private messages rather than in the #bitlbee -channel, use the set private command: set private true (set private false to -change back). - -You know the basics. If you want to get to know more about BitlBee, please type -help quickstart6. - -Further Resources - -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! - -Chapter 5. Bitlbee commands - -Table of Contents - -account - IM-account list maintenance - - account add - account del - account on - account off - account list - -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 -charset -private -save_on_quit -html -debug -to_char -typing_notice -ops -away_devoice -handle_unknown -auto_connect -auto_reconnect -auto_reconnect_delay -buddy_sendbuffer -buddy_sendbuffer_delay -default_target -display_namechanges -password -query_order -lcnicks -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 -import_buddies - Copy local buddy list to server (normally only needed when - upgrading) - -account - IM-account list maintenance - -Syntax: - -account <action> [<arguments>] - -Available actions: add, del, list, on, off. See help account <action> for more -information. - -account add - -Syntax: - -account add <protocol> <username> <password> [<server>] - -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) and Yahoo. For more information about adding an account, see -help account add <protocol>. - -account add jabber - -Syntax: - -account add jabber <handle> <password> [<servertag>] - -Note that the servertag argument is optional. You only have to use it if the -part after the @ in your handle isn't the hostname of your Jabber server, or if -you want to use SSL/connect to a non-standard port number. The format is -simple: [<servername>[:<portnumber>][:ssl]]. For example, this is how you can -connect to Google Talk: - -Note that Google talk is SSL-only, but officially reachable over both port 5222 -and 5223. However, for some people only port 5222 works, for some people only -5223. This is something you'll have to try out. - -< wilmer> account add jabber example@gmail.com hobbelmeeuw talk.google.com:5223:ssl -< root> Account successfully added - -account add msn - -Syntax: - -account add msn <handle> <password> - -For MSN connections there are no special arguments. - -account add oscar - -Syntax: - -account add oscar <handle> <password> [<servername>] - -Specifying a server is required for OSCAR, since OSCAR can be used for both -ICQ- and AIM-connections. Although these days it's supposed to be possible to -connect to ICQ via AIM-servers and vice versa, we like to stick with this -separation for now. For ICQ connections, the servername is login.icq.com, for -AIM connections it's login.oscar.aol.com. - -< wilmer> account add oscar 72696705 hobbelmeeuw login.icq.com -< root> Account successfully added - -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. (Including accounts awaiting -a reconnection) - -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. (Including -accounts awaiting a reconnection) - -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, including -the numbers you'll need for most account commands. - -add - Add a buddy to your contact list - -Syntax: - -add <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. Of -course you can also use the rename command for that, but sometimes this might -be more convenient. - -< ctrlsoft> add 3 gryp@jabber.org grijp - * grijphas joined #bitlbee - -info - Request user information - -Syntax: - -info <connection> <handle> -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. - -< ctrlsoft> info 0 72696705 -< root> User info - UIN: 72696705 Nick: Lintux First/Last name: Wilmer van der Gaast E-mail: lintux@lintux.cx - -remove - Remove a buddy from your contact list - -Syntax: - -remove <nick> - -Removes the specified nick from your buddy list. - -< ctrlsoft> remove gryp - * gryphas quit [Leaving...] - -block - Block someone - -Syntax: - -block <nick> -block <connection> <handle> - -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. - -allow - Unblock someone - -Syntax: - -allow <nick> -allow <connection> <handle> - -Reverse of block. Unignores the specified user or user handle on specified -connection. - -set - Miscellaneous settings - -Syntax: - -set [<variable> [<value>]] - -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. - -To get more help information about a setting, try: - -< ctrlsoft> help set private - -help - BitlBee help system - -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 - Save your account data - -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... ;-) - -charset - -Type: string - -The charset setting enables you to use different character sets in BitlBee. -These get converted to UTF-8 before sending and from UTF-8 when receiving. - -If you don't know what's the best value for this, at least iso8859-1 is the -best choice for most Western countries. You can try to find what works best for -you on http://czyborra.com/charsets/iso8859.html - -private - -Type: boolean - -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. - -save_on_quit - -Type: boolean - -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. - -html - -Type: string - -Determines what BitlBee should do with HTML in messages. If set to nostrip, -HTML in messages will not be touched. If set to strip, all HTML will be -stripped from messages. Unfortunately this sometimes strips too much. - -debug - -Type: boolean - -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. - -to_char - -Type: string - -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. - -typing_notice - -Type: boolean - -Sends you a /notice when a user starts typing a message (if the protocol -supports it, MSN for example). This is a bug, not a feature. (But please don't -report it.. ;-) You don't want to use it. Really. In fact the -typing-notification is just one of the least useful 'innovations' ever. It's -just there because some guy will probably ask me about it anyway. ;-) - -ops - -Type: string - -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. - -away_devoice - -Type: boolean - -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. - -handle_unknown - -Type: string - -Messages from unknown users are echoed like this by default: - -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_connect - -Type: boolean - -With this option enabled, when you identify BitlBee will automatically connect -to your accounts, with this disabled it will not do this. - -auto_reconnect - -Type: boolean - -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. - -auto_reconnect_delay - -Type: integer - -Tell BitlBee after how many seconds it should attempt to bring an IM-connection -back up after a crash. It's not a good idea to set this value very low, it will -cause too much useless traffic when an IM-server is down for a few hours. - -See also the auto_reconnect setting. - -buddy_sendbuffer - -Type: boolean - -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. - -buddy_sendbuffer_delay - -Type: integer - -Tell BitlBee after how many seconds a buffered message should be sent. - -See also the buddy_sendbuffer setting. - -default_target - -Type: string - -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. - -display_namechanges - -Type: boolean - -password - -Type: string - -Use this setting to change your "NickServ" password. - -query_order - -Type: string - -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). - -lcnicks - -Type: boolean - -Hereby you can change whether you want all lower case nick names or leave the -case as it intended by your peer. - -rename - Rename (renick) a buddy - -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). - -< itsme> rename itsme_ you - * itsme_is now known as you - -yes - Accept a request - -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 - Deny a request - -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 - List all the unanswered questions root asked - -Syntax: - -qlist - -This gives you a list of all the unanswered questions from root. - -register - Register yourself - -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. - -identify - Identify yourself with your password - -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 - Drop your account - -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 - List all the buddies in your contact list - -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 - Change friendly name, nick - -Syntax: - -nick <connection> [<new nick>] -nick - -This command allows to set the friendly name of an im account. If no new name -is specified the command will report the current name. When the name contains -spaces, don't forget to quote the whole nick in double quotes. Currently this -command is only supported by the MSN protocol. - -< wouter> nick 1 "Wouter Paesen" -< root> Setting your name on connection 1 to `Wouter Paesen' - -import_buddies - Copy local buddy list to server (normally only needed when -upgrading) - -Syntax: - -import_buddies <connection> [clear] - -This command copies the locally stored buddy list to the server. This command -exists for upgrading purposes. Previous versions of BitlBee didn't support -server-side buddy lists for ICQ, so the list was stored locally. - -Since version 0.91 however, server-side contact lists are supported for all -protocols, so the local list is now ignored. When upgrading from an older -BitlBee to version 0.91, you might need this command to get your buddy list -back. - -The only argument this command needs is your ICQ account identification. If -your serverside buddy list contains some old buddies you don't want anymore, -you can pass clear as a second argument. - -After giving this command, you have to wait for a while before all the adds are -handled, because of ICQ's rate limiting. If your buddy list is very large and -the ICQ server starts complaining, you might have to reconnect and enter this -command again. - -Chapter 6. Misc Stuff - -Table of Contents - -Smileys -Groupchats -Creating groupchats -Groupchat channel names -Away states - -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 - -This list was extracted from http://help.msn.com/!data/en_us/data/ -messengerv50.its51/$content$/EMOTICONS.HTM?H_APP=. - -Groupchats - -Since version 0.8x, BitlBee supports groupchats on the MSN and Yahoo! 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. - -Creating groupchats - -If you want to start a groupchat with the person jim_msn in it, just join the -channel #jim_msn. BitlBee will refuse to join you to the channel with that -name, but it will create a new virtual channel with root, you and jim_msn in -it. - -Of course a channel with only two people isn't really exciting yet. So the next -step is to invite some other people to the channel. For this, you can use the / -invite command of your IRC client. 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. - -This is all you'll probably need to know. If you have any problems, please read -help groupchats3. - -Groupchat channel names - -Obviously the (numbered) channel names don't make a lot of sense. Problem is -that groupchats usually don't have names at all in the IM-world, while IRC -insists on a name. So BitlBee just generates something random, just don't pay -attention to it. :-) - -Please also note that BitlBee doesn't support groupchats for all protocols yet. -BitlBee will tell you so. Support for other protocols will hopefully come -later. - -Away states - -As you might've expected, you can just use the /away command in your IRC client -to set an away-state. BitlBee supports most away-states supported by the -protocols. - -Not all away states are supported by all protocols, and some protocols have -different names for them. BitlBee will try to pick the best available alias -from this list for every connection: - -Away from computer, Away, Extended away -NA, N/A, Not available -Busy, Do not disturb, DND, Occupied -Be right back, BRB -On the phone, Phone, On phone -Out to lunch, Lunch, Food - -So /away Food will set your state to "Out to lunch" on your MSN connection, and -for most other connections the default, "Away" or "Away from computer" 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. Protocols like Yahoo! and -Jabber will also show this complete away message to your buddies. - @@ -114,18 +114,18 @@ irc_t *irc_new( int fd ) set_add( irc, "auto_reconnect", "false", set_eval_bool ); set_add( irc, "auto_reconnect_delay", "300", set_eval_int ); set_add( irc, "buddy_sendbuffer", "false", set_eval_bool ); - set_add( irc, "buddy_sendbuffer_delay", "1", set_eval_int ); + set_add( irc, "buddy_sendbuffer_delay", "200", set_eval_int ); set_add( irc, "charset", "iso8859-1", set_eval_charset ); set_add( irc, "debug", "false", set_eval_bool ); set_add( irc, "default_target", "root", NULL ); set_add( irc, "display_namechanges", "false", set_eval_bool ); set_add( irc, "handle_unknown", "root", NULL ); - /* set_add( irc, "html", "nostrip", NULL ); */ set_add( irc, "lcnicks", "true", set_eval_bool ); set_add( irc, "ops", "both", set_eval_ops ); set_add( irc, "private", "true", set_eval_bool ); set_add( irc, "query_order", "lifo", NULL ); set_add( irc, "save_on_quit", "true", set_eval_bool ); + set_add( irc, "strip_html", "true", NULL ); set_add( irc, "to_char", ": ", set_eval_to_char ); set_add( irc, "typing_notice", "false", set_eval_bool ); @@ -485,7 +485,7 @@ int irc_exec( irc_t *irc, char **cmd ) { irc_reply( irc, 461, "%s :Need more parameters", cmd[0] ); } - else if( *cmd[1] == '#' ) + else if( *cmd[1] == '#' || *cmd[1] == '&' ) { if( cmd[2] ) { @@ -556,7 +556,7 @@ int irc_exec( irc_t *irc, char **cmd ) RFC doesn't have any reply for that though? */ else if( cmd[1] ) { - if( cmd[1][0] == '#' && cmd[1][1] ) + if( ( cmd[1][0] == '#' || cmd[1][0] == '&' ) && cmd[1][1] ) { user_t *u = user_find( irc, cmd[1] + 1 ); @@ -930,19 +930,31 @@ void irc_vawrite( irc_t *irc, char *format, va_list params ) return; } -void irc_write_all( char *format, ... ) +void irc_write_all( int now, char *format, ... ) { va_list params; GSList *temp; - + va_start( params, format ); - + temp = irc_connection_list; - while( temp!=NULL ) { + while( temp != NULL ) + { + irc_t *irc = temp->data; + + if( now ) + { + g_free( irc->sendbuffer ); + irc->sendbuffer = g_strdup( "\r\n" ); + } irc_vawrite( temp->data, format, params ); + if( now ) + { + bitlbee_io_current_client_write( irc->io_channel, G_IO_OUT, irc ); + } temp = temp->next; } - + va_end( params ); return; } @@ -1068,7 +1080,7 @@ void irc_login( irc_t *irc ) // u->send_handler = msg_echo; irc_spawn( irc, u ); - irc_usermsg( irc, "Welcome to the BitlBee gateway!\n\nIf you've never used BitlBee before, please do read the help information using the help command. Lots of FAQ's are answered there." ); + irc_usermsg( irc, "Welcome to the BitlBee gateway!\n\nIf you've never used BitlBee before, please do read the help information using the \x02help\x02 command. Lots of FAQ's are answered there." ); irc->status = USTATUS_LOGGED_IN; } @@ -1312,7 +1324,7 @@ int irc_send( irc_t *irc, char *nick, char *s, int flags ) struct conversation *c = NULL; user_t *u = NULL; - if( *nick == '#' ) + if( *nick == '#' || *nick == '&' ) { if( !( c = conv_findchannel( nick ) ) ) { @@ -1427,6 +1439,8 @@ int buddy_send_handler( irc_t *irc, user_t *u, char *msg, int flags ) if( set_getint( irc, "buddy_sendbuffer" ) && set_getint( irc, "buddy_sendbuffer_delay" ) > 0 ) { + int delay; + if( u->sendbuf_len > 0 && u->sendbuf_flags != flags) { //Flush the buffer @@ -1450,10 +1464,13 @@ int buddy_send_handler( irc_t *irc, user_t *u, char *msg, int flags ) strcat( u->sendbuf, msg ); strcat( u->sendbuf, "\n" ); + delay = set_getint( irc, "buddy_sendbuffer_delay" ); + if( delay <= 5 ) + delay *= 1000; + if( u->sendbuf_timer > 0 ) g_source_remove( u->sendbuf_timer ); - u->sendbuf_timer = g_timeout_add( set_getint( irc, "buddy_sendbuffer_delay" ) * 1000, - buddy_send_handler_delayed, u ); + u->sendbuf_timer = g_timeout_add( delay, buddy_send_handler_delayed, u ); return( 1 ); } @@ -117,7 +117,7 @@ int irc_process_line( irc_t *irc, char *line ); void irc_vawrite( irc_t *irc, char *format, va_list params ); void irc_write( irc_t *irc, char *format, ... ); -void irc_write_all( char *format, ... ); +void irc_write_all( int now, char *format, ... ); void irc_reply( irc_t *irc, int code, char *format, ... ); G_MODULE_EXPORT int irc_usermsg( irc_t *irc, char *format, ... ); char **irc_tokenize( char *buffer ); @@ -133,14 +133,14 @@ static void log_null(int level, char *message) { static void log_irc(int level, char *message) { if(level==LOGLVL_ERROR) - irc_write_all("ERROR :Error: %s", message); + irc_write_all(1, "ERROR :Error: %s", message); if(level==LOGLVL_WARNING) - irc_write_all("ERROR :Warning: %s", message); + irc_write_all(0, "ERROR :Warning: %s", message); if(level==LOGLVL_INFO) - irc_write_all("ERROR :Informational: %s", message); + irc_write_all(0, "ERROR :Informational: %s", message); #ifdef DEBUG if(level==LOGLVL_DEBUG) - irc_write_all("ERROR :Debug: %s", message); + irc_write_all(0, "ERROR :Debug: %s", message); #endif return; diff --git a/protocols/jabber/genhash.c b/protocols/jabber/genhash.c deleted file mode 100644 index e69de29b..00000000 --- a/protocols/jabber/genhash.c +++ /dev/null diff --git a/protocols/jabber/jabber.c b/protocols/jabber/jabber.c index 25b51ba4..b6dcf4b7 100644 --- a/protocols/jabber/jabber.c +++ b/protocols/jabber/jabber.c @@ -1122,7 +1122,7 @@ static void jabber_handles10n(gjconn gjc, jpacket p) * A "subscribe to us" request was received - put up the approval dialog */ struct jabber_add_permit *jap = g_new0(struct jabber_add_permit, 1); - gchar *msg = g_strdup_printf(_("The user %s wants to add you to their buddy list."), + gchar *msg = g_strdup_printf(_("The user %s wants to add you to his/her buddy list."), Jid); jap->gjc = gjc; diff --git a/protocols/jabber/jconn.c b/protocols/jabber/jconn.c deleted file mode 100644 index e69de29b..00000000 --- a/protocols/jabber/jconn.c +++ /dev/null diff --git a/protocols/jabber/karma.c b/protocols/jabber/karma.c deleted file mode 100644 index e69de29b..00000000 --- a/protocols/jabber/karma.c +++ /dev/null diff --git a/protocols/jabber/pproxy.c b/protocols/jabber/pproxy.c deleted file mode 100644 index e69de29b..00000000 --- a/protocols/jabber/pproxy.c +++ /dev/null diff --git a/protocols/jabber/rate.c b/protocols/jabber/rate.c deleted file mode 100644 index e69de29b..00000000 --- a/protocols/jabber/rate.c +++ /dev/null diff --git a/protocols/jabber/xhash.c b/protocols/jabber/xhash.c deleted file mode 100644 index e69de29b..00000000 --- a/protocols/jabber/xhash.c +++ /dev/null diff --git a/protocols/jabber/xstream.c b/protocols/jabber/xstream.c deleted file mode 100644 index e69de29b..00000000 --- a/protocols/jabber/xstream.c +++ /dev/null diff --git a/protocols/msn/msn_util.c b/protocols/msn/msn_util.c index 2f22acfc..e5f0b2c9 100644 --- a/protocols/msn/msn_util.c +++ b/protocols/msn/msn_util.c @@ -165,7 +165,7 @@ void msn_buddy_ask( struct gaim_connection *gc, char *handle, char *realname ) bla->realname = g_strdup( realname ); g_snprintf( buf, sizeof( buf ), - "The user %s (%s) wants to add you to his/her buddy list. Do you want to allow this?", + "The user %s (%s) wants to add you to his/her buddy list.", handle, realname ); do_ask_dialog( gc, buf, bla, msn_buddy_ask_yes, msn_buddy_ask_no ); } diff --git a/protocols/nogaim.c b/protocols/nogaim.c index bf1f52fc..ead86f65 100644 --- a/protocols/nogaim.c +++ b/protocols/nogaim.c @@ -183,7 +183,7 @@ int proto_away( struct gaim_connection *gc, char *away ) { gc->prpl->set_away( gc, s, away ); if( set_getint( gc->irc, "debug" ) ) - irc_usermsg( gc->irc, "Setting away state for %s to %s", gc->prpl->name, s ); + serv_got_crap( gc, "Setting away state to %s", s ); } else gc->prpl->set_away( gc, GAIM_AWAY_CUSTOM, away ); @@ -276,19 +276,19 @@ void destroy_gaim_conn( struct gaim_connection *gc ) void set_login_progress( struct gaim_connection *gc, int step, char *msg ) { - irc_usermsg( gc->irc, "%s(%s) - Logging in: %s", gc->prpl->name, gc->username, msg ); + serv_got_crap( gc, "Logging in: %s", msg ); } /* Errors *while* logging in */ void hide_login_progress( struct gaim_connection *gc, char *msg ) { - irc_usermsg( gc->irc, "%s(%s) - Login error: %s", gc->prpl->name, gc->username, msg ); + serv_got_crap( gc, "Login error: %s", msg ); } /* Errors *after* logging in */ void hide_login_progress_error( struct gaim_connection *gc, char *msg ) { - irc_usermsg( gc->irc, "%s(%s) - Logged out: %s", gc->prpl->name, gc->username, msg ); + serv_got_crap( gc, "Logged out: %s", msg ); } void serv_got_crap( struct gaim_connection *gc, char *format, ... ) @@ -307,8 +307,8 @@ void serv_got_crap( struct gaim_connection *gc, char *format, ... ) else msg = text; - /* if( g_strcasecmp( set_getstr(gc->irc, "html" ), "strip" ) == 0 ) */ - if( gc->flags & OPT_CONN_HTML ) + if( ( g_strcasecmp( set_getstr( gc->irc, "strip_html" ), "always" ) == 0 ) || + ( ( gc->flags & OPT_CONN_HTML ) && set_getint( gc->irc, "strip_html" ) ) ) strip_html( msg ); irc_usermsg( gc->irc, "%s(%s) - %s", gc->prpl->name, gc->username, msg ); @@ -336,7 +336,7 @@ void account_online( struct gaim_connection *gc ) u = user_find( gc->irc, gc->irc->nick ); - irc_usermsg( gc->irc, "%s(%s) - Logged in", gc->prpl->name, gc->username ); + serv_got_crap( gc, "Logged in" ); gc->keepalive = g_timeout_add( 60000, send_keepalive, gc ); gc->flags |= OPT_LOGGED_IN; @@ -350,7 +350,7 @@ void account_online( struct gaim_connection *gc ) break; if( u == NULL ) - irc_usermsg( gc->irc, "\x02""***\x02"" BitlBee now supports ICQ server-side contact lists. " + serv_got_crap( gc, "\x02""***\x02"" BitlBee now supports ICQ server-side contact lists. " "See \x02""help import_buddies\x02"" for more information." ); } } @@ -383,7 +383,7 @@ void signoff( struct gaim_connection *gc ) user_t *t, *u = irc->users; account_t *a; - irc_usermsg( gc->irc, "%s(%s) - Signing off..", gc->prpl->name, gc->username ); + serv_got_crap( gc, "Signing off.." ); gaim_input_remove( gc->keepalive ); gc->keepalive = 0; @@ -415,7 +415,7 @@ void signoff( struct gaim_connection *gc ) else if( !gc->wants_to_die && set_getint( irc, "auto_reconnect" ) ) { int delay = set_getint( irc, "auto_reconnect_delay" ); - irc_usermsg( gc->irc, "%s(%s) - Reconnecting in %d seconds..", gc->prpl->name, gc->username, delay); + serv_got_crap( gc, "Reconnecting in %d seconds..", delay ); a->reconnect = 1; g_timeout_add( delay * 1000, auto_reconnect, a ); @@ -429,7 +429,7 @@ void signoff( struct gaim_connection *gc ) void do_error_dialog( struct gaim_connection *gc, char *msg, char *title ) { - irc_usermsg( gc->irc, "%s(%s) - Error: %s", gc->prpl->name, gc->username, msg ); + serv_got_crap( gc, "Error: %s", msg ); } void do_ask_dialog( struct gaim_connection *gc, char *msg, void *data, void *doit, void *dont ) @@ -458,12 +458,12 @@ void add_buddy( struct gaim_connection *gc, char *group, char *handle, char *rea irc_t *irc = gc->irc; if( set_getint( irc, "debug" ) && 0 ) /* This message is too useless */ - irc_usermsg( irc, "Receiving user add from protocol: %s", handle ); + serv_got_crap( gc, "Receiving user add from handle: %s", handle ); if( user_findhandle( gc, handle ) ) { if( set_getint( irc, "debug" ) ) - irc_usermsg( irc, "User already exists, ignoring add request: %s", handle ); + serv_got_crap( gc, "User already exists, ignoring add request: %s", handle ); return; @@ -556,7 +556,7 @@ void serv_buddy_rename( struct gaim_connection *gc, char *handle, char *realname u->realname = g_strdup( name ); if( ( gc->flags & OPT_LOGGED_IN ) && set_getint( gc->irc, "display_namechanges" ) ) - irc_usermsg( gc->irc, "User `%s' changed name to `%s'", u->nick, u->realname ); + serv_got_crap( gc, "User `%s' changed name to `%s'", u->nick, u->realname ); } } @@ -589,8 +589,8 @@ void serv_got_update( struct gaim_connection *gc, char *handle, int loggedin, in { if( set_getint( gc->irc, "debug" ) || g_strcasecmp( set_getstr( gc->irc, "handle_unknown" ), "ignore" ) != 0 ) { - irc_usermsg( gc->irc, "serv_got_update() for handle %s on connection %s(%s):", handle, gc->prpl->name, gc->username ); - irc_usermsg( gc->irc, "loggedin = %d, type = %d", loggedin, type ); + serv_got_crap( gc, "serv_got_update() for handle %s:", handle ); + serv_got_crap( gc, "loggedin = %d, type = %d", loggedin, type ); } return; @@ -670,7 +670,7 @@ void serv_got_im( struct gaim_connection *gc, char *handle, char *msg, guint32 f if( g_strcasecmp( h, "ignore" ) == 0 ) { if( set_getint( irc, "debug" ) ) - irc_usermsg( irc, "Ignoring message from unknown handle %s on connection %s(%s)", handle, gc->prpl->name, gc->username ); + serv_got_crap( gc, "Ignoring message from unknown handle %s", handle ); return; } @@ -692,13 +692,13 @@ void serv_got_im( struct gaim_connection *gc, char *handle, char *msg, guint32 f } else { - irc_usermsg( irc, "Message from unknown handle %s on connection %s(%s):", handle, gc->prpl->name, gc->username ); + serv_got_crap( gc, "Message from unknown handle %s:", handle ); u = user_find( irc, irc->mynick ); } } - /* if( g_strcasecmp( set_getstr( irc, "html" ), "strip" ) == 0 ) */ - if( gc->flags & OPT_CONN_HTML ) + if( ( g_strcasecmp( set_getstr( gc->irc, "strip_html" ), "always" ) == 0 ) || + ( ( gc->flags & OPT_CONN_HTML ) && set_getint( gc->irc, "strip_html" ) ) ) strip_html( msg ); if( g_strncasecmp( set_getstr( irc, "charset" ), "none", 4 ) != 0 && @@ -752,7 +752,7 @@ void serv_got_chat_left( struct gaim_connection *gc, int id ) GList *ir; if( set_getint( gc->irc, "debug" ) ) - irc_usermsg( gc->irc, "You were removed from conversation %d", (int) id ); + serv_got_crap( gc, "You were removed from conversation %d", (int) id ); for( c = gc->conversations; c && c->id != id; c = (l=c)->next ); @@ -797,8 +797,8 @@ void serv_got_chat_in( struct gaim_connection *gc, int id, char *who, int whispe u = user_findhandle( gc, who ); for( c = gc->conversations; c && c->id != id; c = c->next ); - /* if( g_strcasecmp( set_getstr( gc->irc, "html" ), "strip" ) == 0 ) */ - if( gc->flags & OPT_CONN_HTML ) + if( ( g_strcasecmp( set_getstr( gc->irc, "strip_html" ), "always" ) == 0 ) || + ( ( gc->flags & OPT_CONN_HTML ) && set_getint( gc->irc, "strip_html" ) ) ) strip_html( msg ); if( g_strncasecmp( set_getstr( gc->irc, "charset" ), "none", 4 ) != 0 && @@ -808,7 +808,7 @@ void serv_got_chat_in( struct gaim_connection *gc, int id, char *who, int whispe if( c && u ) irc_privmsg( gc->irc, u, "PRIVMSG", c->channel, "", msg ); else - irc_usermsg( gc->irc, "Message from/to conversation %s@%d (unknown conv/user): %s", who, id, msg ); + serv_got_crap( gc, "Message from/to conversation %s@%d (unknown conv/user): %s", who, id, msg ); } struct conversation *serv_got_joined_chat( struct gaim_connection *gc, int id, char *handle ) @@ -831,12 +831,12 @@ struct conversation *serv_got_joined_chat( struct gaim_connection *gc, int id, c c->title = g_strdup( handle ); s = g_new( char, 16 ); - sprintf( s, "#chat_%03d", gc->irc->c_id++ ); + sprintf( s, "&chat_%03d", gc->irc->c_id++ ); c->channel = g_strdup( s ); g_free( s ); if( set_getint( gc->irc, "debug" ) ) - irc_usermsg( gc->irc, "Creating new conversation: (id=%d,handle=%s)", id, handle ); + serv_got_crap( gc, "Creating new conversation: (id=%d,handle=%s)", id, handle ); return( c ); } @@ -855,7 +855,7 @@ void add_chat_buddy( struct conversation *b, char *handle ) int me = 0; if( set_getint( b->gc->irc, "debug" ) ) - irc_usermsg( b->gc->irc, "User %s added to conversation %d", handle, b->id ); + serv_got_crap( b->gc, "User %s added to conversation %d", handle, b->id ); /* It might be yourself! */ if( b->gc->prpl->cmp_buddynames( handle, b->gc->user->username ) == 0 ) @@ -889,7 +889,7 @@ void remove_chat_buddy( struct conversation *b, char *handle, char *reason ) int me = 0; if( set_getint( b->gc->irc, "debug" ) ) - irc_usermsg( b->gc->irc, "User %s removed from conversation %d (%s)", handle, b->id, reason ? reason : "" ); + serv_got_crap( b->gc, "User %s removed from conversation %d (%s)", handle, b->id, reason ? reason : "" ); /* It might be yourself! */ if( g_strcasecmp( handle, b->gc->user->username ) == 0 ) @@ -1030,10 +1030,15 @@ int serv_send_im( irc_t *irc, user_t *u, char *msg, int flags ) do_iconv( set_getstr( irc, "charset" ), "UTF-8", msg, buf, 0, 8192 ) != -1 ) msg = buf; - if( u->gc->flags & OPT_CONN_HTML) { - char * html = escape_html(msg); - strncpy(buf, html, 8192); - g_free(html); + if( ( u->gc->flags & OPT_CONN_HTML ) && ( g_strncasecmp( msg, "<html>", 6 ) != 0 ) ) + { + char *html; + + html = escape_html( msg ); + strncpy( buf, html, 8192 ); + g_free( html ); + + msg = buf; } return( ((struct gaim_connection *)u->gc)->prpl->send_im( u->gc, u->handle, msg, strlen( msg ), flags ) ); diff --git a/protocols/oscar/aim_cbtypes.h b/protocols/oscar/aim_cbtypes.h deleted file mode 100644 index e69de29b..00000000 --- a/protocols/oscar/aim_cbtypes.h +++ /dev/null diff --git a/protocols/oscar/im.c b/protocols/oscar/im.c index 99661846..4ceb0716 100644 --- a/protocols/oscar/im.c +++ b/protocols/oscar/im.c @@ -1995,6 +1995,90 @@ static int msgack(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_m return ret; } +/* + * Subtype 0x0014 - Send a mini typing notification (mtn) packet. + * + * This is supported by winaim5 and newer, MacAIM bleh and newer, iChat bleh and newer, + * and Gaim 0.60 and newer. + * + */ +int aim_im_sendmtn(aim_session_t *sess, guint16 type1, const char *sn, guint16 type2) +{ + aim_conn_t *conn; + aim_frame_t *fr; + aim_snacid_t snacid; + + if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0002))) + return -EINVAL; + + if (!sn) + return -EINVAL; + + if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+11+strlen(sn)+2))) + return -ENOMEM; + + snacid = aim_cachesnac(sess, 0x0004, 0x0014, 0x0000, NULL, 0); + aim_putsnac(&fr->data, 0x0004, 0x0014, 0x0000, snacid); + + /* + * 8 days of light + * Er, that is to say, 8 bytes of 0's + */ + aimbs_put16(&fr->data, 0x0000); + aimbs_put16(&fr->data, 0x0000); + aimbs_put16(&fr->data, 0x0000); + aimbs_put16(&fr->data, 0x0000); + + /* + * Type 1 (should be 0x0001 for mtn) + */ + aimbs_put16(&fr->data, type1); + + /* + * Dest sn + */ + aimbs_put8(&fr->data, strlen(sn)); + aimbs_putraw(&fr->data, sn, strlen(sn)); + + /* + * Type 2 (should be 0x0000, 0x0001, or 0x0002 for mtn) + */ + aimbs_put16(&fr->data, type2); + + aim_tx_enqueue(sess, fr); + + return 0; +} + +/* + * Subtype 0x0014 - Receive a mini typing notification (mtn) packet. + * + * This is supported by winaim5 and newer, MacAIM bleh and newer, iChat bleh and newer, + * and Gaim 0.60 and newer. + * + */ +static int mtn_receive(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) +{ + int ret = 0; + aim_rxcallback_t userfunc; + char *sn; + guint8 snlen; + guint16 type1, type2; + + aim_bstream_advance(bs, 8); /* Unknown - All 0's */ + type1 = aimbs_get16(bs); + snlen = aimbs_get8(bs); + sn = aimbs_getstr(bs, snlen); + type2 = aimbs_get16(bs); + + if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) + ret = userfunc(sess, rx, type1, sn, type2); + + g_free(sn); + + return ret; +} + static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) { @@ -2010,6 +2094,8 @@ static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, return clientautoresp(sess, mod, rx, snac, bs); else if (snac->subtype == 0x000c) return msgack(sess, mod, rx, snac, bs); + else if (snac->subtype == 0x0014) + return mtn_receive(sess, mod, rx, snac, bs); return 0; } diff --git a/protocols/oscar/im.h b/protocols/oscar/im.h index 061ff5b5..42a8a6b1 100644 --- a/protocols/oscar/im.h +++ b/protocols/oscar/im.h @@ -13,6 +13,7 @@ #define AIM_CB_MSG_MISSEDCALL 0x000a #define AIM_CB_MSG_CLIENTAUTORESP 0x000b #define AIM_CB_MSG_ACK 0x000c +#define AIM_CB_MSG_MTN 0x0014 #define AIM_CB_MSG_DEFAULT 0xffff #define AIM_IMFLAGS_AWAY 0x0001 /* mark as an autoreply */ @@ -193,6 +194,7 @@ aim_conn_t *aim_directim_initiate(aim_session_t *, const char *destsn); aim_conn_t *aim_directim_connect(aim_session_t *, const char *sn, const char *addr, const guint8 *cookie); int aim_send_im_ch2_geticqmessage(aim_session_t *sess, const char *sn, int type); +int aim_im_sendmtn(aim_session_t *sess, guint16 type1, const char *sn, guint16 type2); int aim_send_im_ch2_statusmessage(aim_session_t *sess, const char *sender, const guint8 *cookie, const char *message, const guint8 state, const guint16 dc); #endif /* __OSCAR_IM_H__ */ diff --git a/protocols/oscar/oscar.c b/protocols/oscar/oscar.c index 7711733f..2b7f9308 100644 --- a/protocols/oscar/oscar.c +++ b/protocols/oscar/oscar.c @@ -220,7 +220,7 @@ static int gaim_offlinemsgdone (aim_session_t *, aim_frame_t *, ...); static int gaim_ssi_parserights (aim_session_t *, aim_frame_t *, ...); static int gaim_ssi_parselist (aim_session_t *, aim_frame_t *, ...); static int gaim_ssi_parseack (aim_session_t *, aim_frame_t *, ...); - +static int gaim_parsemtn (aim_session_t *, aim_frame_t *, ...); static int gaim_icqinfo (aim_session_t *, aim_frame_t *, ...); static int gaim_parseaiminfo (aim_session_t *, aim_frame_t *, ...); @@ -555,6 +555,7 @@ static int gaim_parse_auth_resp(aim_session_t *sess, aim_frame_t *fr, ...) { aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_SSI, AIM_CB_SSI_LIST, gaim_ssi_parselist, 0); aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_SSI, AIM_CB_SSI_SRVACK, gaim_ssi_parseack, 0); aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_LOC, AIM_CB_LOC_USERINFO, gaim_parseaiminfo, 0); + aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_MSG, AIM_CB_MSG_MTN, gaim_parsemtn, 0); ((struct oscar_data *)gc->proto_data)->conn = bosconn; for (i = 0; i < (int)strlen(info->bosip); i++) { @@ -1675,6 +1676,7 @@ static int gaim_icbm_param_info(aim_session_t *sess, aim_frame_t *fr, ...) { va_end(ap); /* Maybe senderwarn and recverwarn should be user preferences... */ + params->flags = 0x0000000b; params->maxmsglen = 8000; params->minmsginterval = 0; @@ -2432,6 +2434,25 @@ static int gaim_parseaiminfo(aim_session_t *sess, aim_frame_t *fr, ...) return 1; } +int gaim_parsemtn(aim_session_t *sess, aim_frame_t *fr, ...) +{ + struct gaim_connection * gc = sess->aux_data; + va_list ap; + guint16 type1, type2; + char * sn; + + va_start(ap, fr); + type1 = va_arg(ap, int); + sn = va_arg(ap, char*); + type2 = va_arg(ap, int); + va_end(ap); + + if(type2 == 0x0001 || type2 == 0x0002) + serv_got_typing(gc, sn, 0); + + return 1; +} + static char *oscar_get_status_string( struct gaim_connection *gc, int number ) { struct oscar_data *od = gc->proto_data; @@ -2460,6 +2481,12 @@ static char *oscar_get_status_string( struct gaim_connection *gc, int number ) } } +int oscar_send_typing(struct gaim_connection *gc, char * who, int typing) +{ + struct oscar_data *od = gc->proto_data; + return( aim_im_sendmtn(od->sess, 1, who, typing ? 0x0002 : 0x0000) ); +} + void oscar_init() { struct prpl *ret = g_new0(struct prpl, 1); @@ -2481,6 +2508,7 @@ void oscar_init() ret->keepalive = oscar_keepalive; ret->cmp_buddynames = aim_sncmp; ret->get_status_string = oscar_get_status_string; + ret->send_typing = oscar_send_typing; register_protocol(ret); } diff --git a/protocols/util.c b/protocols/util.c index 073ee36d..6a2f2e46 100644 --- a/protocols/util.c +++ b/protocols/util.c @@ -376,8 +376,6 @@ char *escape_html( const char *html ) if( html == NULL ) return( NULL ); - if( g_strncasecmp( html, "<html>", 6 ) == 0 ) - return( g_strdup( html ) ); ret = g_string_new( "" ); diff --git a/protocols/yahoo/yahoo.c b/protocols/yahoo/yahoo.c index a3ebd28c..e55b30af 100644 --- a/protocols/yahoo/yahoo.c +++ b/protocols/yahoo/yahoo.c @@ -844,8 +844,6 @@ void ext_yahoo_conf_userjoin( int id, char *who, char *room ) if( c ) add_chat_buddy( c, who ); - else if( set_getint( gc->irc, "debug" ) ) - serv_got_crap( gc, "Got ext_yahoo_conf_userjoin() from %s for unknown conference %s", who, room ); } void ext_yahoo_conf_userleave( int id, char *who, char *room ) @@ -857,8 +855,6 @@ void ext_yahoo_conf_userleave( int id, char *who, char *room ) if( c ) remove_chat_buddy( c, who, "" ); - else if( set_getint( gc->irc, "debug" ) ) - serv_got_crap( gc, "Got ext_yahoo_conf_userleave() from %s for unknown conference %s", who, room ); } void ext_yahoo_conf_message( int id, char *who, char *room, char *msg, int utf8 ) @@ -126,16 +126,16 @@ void query_answer( irc_t *irc, query_t *q, int ans ) q = query_default( irc ); disp = 1; } - + //Using irc_usermsg instead of serv_got_crap because \x02A is a char too, so a SPACE is needed. if( ans ) { q->yes( NULL, q->data ); - irc_usermsg( irc, "Accepted: %s", q->question ); + serv_got_crap( q->gc, "Accepted: %s", q->question ); } else { q->no( NULL, q->data ); - irc_usermsg( irc, "Rejected: %s", q->question ); + serv_got_crap( q->gc, "Rejected: %s", q->question ); } q->data = NULL; @@ -148,11 +148,13 @@ void query_answer( irc_t *irc, query_t *q, int ans ) static void query_display( irc_t *irc, query_t *q ) { if( q->gc ) - irc_usermsg( irc, "Question on %s connection (handle %s):", q->gc->prpl->name, q->gc->username ); + { + serv_got_crap( q->gc, "New request: %s\nYou can use the \2yes\2/\2no\2 commands to accept/reject this request.", q->question ); + } else - irc_usermsg( irc, "Question:" ); - - irc_usermsg( irc, "%s\nYou can use the yes/no commands to answer this question.", q->question ); + { + irc_usermsg( irc, "New request: %s\nYou can use the \2yes\2/\2no\2 commands to accept/reject this request.", q->question ); + } } static query_t *query_default( irc_t *irc ) |