1. Contents
2. About this document
2.1 What's it about?
2.2 What it's not about
3. About BitchX
3.1 What is BitchX
3.2 Obtaining BitchX
3.3 More documentation on BitchX
4. Chatting
4.1 Connecting to a server
4.2 Chatting on a channel (public)
4.2.1 Joining the channel
4.2.2 Leaving the channel
4.3 Chatting on multiple channels (public)
4.4 Chatting to a user (private)
4.5 Protecting yourself
4.6 Quiting BitchX
4.7 Other chatting thingies
5. Windows
5.1 Creating a new window
5.2 Changing windows
5.3 Using a window
5.3.1 Channel (public)
5.3.2 User (private)
5.3.3 Multiple servers
5.4 Settings a window's level
5.5 Removing a window
5.6 Other window options
5.7 Usefull aliases
6. Customizing BitchX
6.1 Aliases
6.2 Keybindings
6.2.1 Keys
6.2.2 Functions
6.3 Settings
6.4 Changing formats
6.4.1 About formats
6.4.2 Formats
6.4.3 Timestamps
6.4.4 Colors
6.5 Misc settings
7. Operator options
7.1 Setting channel modes
7.2 Protecting your channel
7.2.1 Kicking users
7.2.2 Banning users
7.2.3 Modes for channel protection
7.3 Automatically protecting other users
8. References
9. Document information
9.1 History
9.2 To Do
9.3 Contributing
10. Copyright
BitchX can be a real Bitch to work with. The documentation is poorly written, or so it seams if you do not know where to look for the right documentation. It the interface can be complicated and do one thing at one time and another the next day. Due to my dissatisfaction with current documentations, I decided to write up this small document in the hope of providing some usefull information to the newbie bitchx users out there. But even if you've been using BitchX for quite some time, you might still find this document usefull.
Please note that this is not an installation guide to BitchX, and neither is it a tutorial for IRC. A working BitchX client and some knowledge about what IRC is, and how it generally works is needed in order to understand this document. This document is about BitchX, the commandline client. It's not about the Gtk version of BitchX, though most (if not all) features discussed here, will probably also work with gtk-bitchx.
BitchX is based on another very popular IRC client, named IrcII, one of the first irc clients. Since ircII is open source software, they were able to take it's sourcecode, and simply extend it with various elements. BitchX is sometimes known as the 'hackers irc client', mainly because of it's advanced IRC features/hacks and because of it's cryptic interface.
Because most of BitchX's code base lies in ircII, most of ircII's documentation can also be applied on BitchX. Knowing this will put you one step further into getting to know BitchX. Many documents and tutorials can be found on the internet about ircII, as well as the documents distributed with ircII. At the end of this document, I have put a couple of links which refer to more documentation about ircII and BitchX in the hope that you may use them to extend your knowledge about BitchX.
First of all, I'll teach you some basic IRC-ing features of BitchX.
Connecting to an IRC server is easy. In this example, we'll connect to the irc.nl.uu.net server (IRCNet) with the username toDDie:
[todsah@sharky]~$ bitchx toDDie irc.nl.uu.net
You'll now see bitchx being started, and connecting to the specified server, namely irc.nl.uu.net:
-:- Connecting to port 6667 of server irc.nl.uu.net [refnum 0]
After a while, the client will connect to the server, and some information will fly over the screen. Some modes will be changed, and the client will then wait for input from the user (that's you). In some cases, it will take extremely long before bitchx can connect to the server. Waiting for about 10 to 20 seconds is not unusual in these cases. If this also happens to you, your ident may be the problem. When connecting to an IRC server, the server requests your ident. For this to work, the machine you are connecting from (please note that this is the machine through which you connect to the internet, and may not be the machine you are running bitchx from. It might also be your networks gateway) must run an ident server. You can check if it is running this by either running the following command on the commandline :
[todsah@sharky]~$ ps ax | grep identd
When you don't see a line like this:
283 ? S 0:01 identd
something is wrong, and you should start/fix your identd server. Identd seems to have some difficulties when running from inetd (the internet super server). This was at least the case with my Debian GNU/Linux v2.2 machine. The fix was to not start identd from inetd, but as a normal daemon.
In order to start chatting, you will either need to join a channel, or know some usernames. To find out what channels are on the current IRC server, just type the IRC command:
/list
The bitchx client will now tell you that this is not a good idea, and that you should add -YES to the command of you really want to run this command. BitchX isn't kidding when it said this wasn't a good idea. Why? Because most public IRC servers have so many channels, that it'll take forever to list them all. Neither you, nor the IRC server you are connected to will like it if you do this. You might even be disconnected.
It's easier to just ask somebody who's already on IRC on which channel they reside, and join that channel. For instance: #toktok.
/j #toktok
BitchX will join the channel, and show you some information about the channel:
-:- Topic (#toktok): Welcome to #toktok. -:- [Users(#toktok:10)] [ toDDie ] [ BirdSgool ] [@Crasp ] [@toDSaH ] [ DoingK|Na ] [ AczWeg ] [ Zew[AWAY] ] [ Fluxi ] [ tribbel ] [@Ztn-na ] -:- BitchX: Join to #toktok was synched in 5.656 secs!!
Each channel can have a topic. In order to set the topic, you can use the /topic command:
[#toktok] /topic Hey, I'm the new guy! Grtz, toDDie.
Some channels will not allow you to change the topic. In this case the channel operators (the people with an @ infront of their name) have set the mode of the channel '-t', which means that only other operators may change the topic.
When joining the channel, bitchx will automatically show you the number of users currently on the channel, and a list of their nicknames. You can get this list yourself at anytime (as long as you are on the channel) by typing:
/scan
A more extensive list can be retrieved by typing:
/who
This will also show the users mode, hostname and realname. Yet another method is pressing F2 and F3. F2 shows which operators are on the channel, and F3 shows which non-operators are on the channel.
If you want to say something to the channel, just type it at the prompt. The text you typed will then appear on the channel, for everybody on the channel to see. If you want to see something on the channel to which you say to someone specific, it's general to type in their nickname, followed by a colon (':"), or a comma (','):
[#toktok] Zetion: Hey, how are you doing?
The receiving user (in this case user 'Zetion') will see his nickname highlighted in this sentence. BitchX has tab-completion, which means that you only have to enter part of the name, i.e 'Ze' and then can press the tab key, and bitchx will complete the name from 'Ze' to 'Zetion' if possible. If you're on a slow channel, and your already talking to a specific user, and he's talking to you, this isn't neccesary. Just use your common sence. If the user will know you're talkin to him/her, there's no need to prefix your sentence with their nickname. (Also see the Netiquette chapter somewhere else in this document)
If you want to express somehthing, you can use the /me command (talk in the third person about yourself):
[#toktok] /me doesn't like it here
This will be shown on the channel as:
* toDSaH doesn't like it here
If you get tired of the channel, you can leave it by typing:
[#toktok] /part #toktok
or:
[#toktok] /part #toktok I'm tired of you people
In which case the users which remain on the channel will see something like:
-:- toDDie has left #toktok: I'm tired of you people
Most users don't just wanna chat on one channel, but on several channels at the same time. This is possible in bitchx. There are multiple ways in which you can do this. If you want to join, for example, channels #channel1 and #channel2, you can simply type:
[0] /j #channel1 [#channel1] /j #channel2
You can now talk on both channel1 and channel2. Things said on the channel will appear on the same screen, pre- or appended with the channel it was said on. You can tell to which channel things you type will be sent by looking at the name of the channel in front of the prompt ( [#channel1] ). You can change channels by pressing Ctrl-x.
This method can be quite confusing. When somebody says something on #channel1, it's not uncommon to make the mistake of replying on #channel2. You'll probably get used to it, but there are better ways of doing it. To do it better, you'll have to read the Windows section elsewhere in this document.
The time will come at which you will want to gossip about a user, but that user just happens to be on the channel you're on too. In this case you can send a user a private message, which only they will see. To do this, you use the /msg command. Just type:
[#channel1] /msg joe Hey joe, I think John is such a loser, don't you?
Only user 'joe' will see this message
*** INSERT EXAMPLES OF BITCHX FORMATS FOR PRIVATE MESSAGES.Tab completion also works in this case. When typing '/msg jo', followed by the tab key, the name will be completed. But be carefull, because user 'joe' starts with 'jo', but user 'john' does too! It's only a guess to which username bitchx will complete the 'jo' part. It might very well complete it to 'john'. Upon recieving a private message from someone, it's possible to simply press the 'tab' key right away, and bitchx will automatically generate a command to send a private message to the last person from whom you recieved a private message.
Hitting tab can become teadeous after a while. If you're planning long private conversations with someone, you might want to use the /query command. The /query command allows you to talk privately to a user like you would publically to a channel. When used like this:
[#toktok] /query ZetionYou'll see a message notifiyng you of the fact that you have now started a conversation with Zetion. [Query: Zetion] will appear in the status bar. Everything you now type will be sent to user Zetion (eventhough your commandprompt may still say: [#toktok] ). To end the conversation, type /query without a nickname. Note that if the user you are querying changes his or her nickname, you will still send the messages to the old nickname. BitchX will tell you that 'no such nickname' exists. If you want to quickly say something to the channel instead of the person you have a conversation with, you don't need to end the query, say what's on your mind and restart the query. You can also send a message to the channel, just like you would to a user:
[#toktok] /msg #toktok Hey new guy. Wait a minute okay? I'm talking to zetion right now*** ADD /WINDOW NEW QUERY INFORMATION
Just as in real life, IRC also has irritating persons whom like to annoy you, send you virusses and stalk you. BitchX has some built in protection agianst such activities.
ctcp cloacking: If you press the 'del' key, you'll turn on (or off) ctcp cloacking. This will prevent other users from getting extended information about i.e your bitchx version and stuff.
*** ADD MORE OPTIONS LIKE FLOODING, IGNORING, SHITLISTS, ETCWhen you've had it with IRCing, you can quit the client by using the /quit command. This will also quit any channels you were on at the time.
[#toktok] /quit I'm off again.
This will make you leave all channels you were on with the quit message "I'm off again.", and quit the bitchX client. Sometimes you'll not be able to type anything at the commandprompt, because i.e you are connecting to an IRC server. At this moment BitchX will not seem to respond to what you type. If you still wish to quit BitchX at this moment, you can type 'Ctrl-c' 5 times. You're quit message will be 'User aborted with 5 Ctrl-c's'.
BitchX supports (just like ircII does) chatting in multiple windows. Do mind, that a 'window' is nota window as you probably know it. If you are using a terminal emulator under i.e the X windowing System, a 'window' does not mean a new terminal emulator window will be brougt up. BitchX windows all remain in the same X window.
Using BitchX windows can be used quite nicely to keep your chatting sessions clean. I.e. you can chat on different channels in different windows.
To create a new BitchX window, you generally type:
[#channel1] /window new double on hide
All windowing commands start with /window. 'new' means a new window will be created. 'double on' means that the command prompt will be the same as the first window (a 2 lined command prompt which shows information about you and the current channel). 'hide' means the new window should be fullscreen (according to the size of the terminal emulator window of working under X) and should not be visible immediately. If you do not specify 'hide', the current screen will be split, and the new 'window' will be on the same screen as the current one. You can create as many new windows as you'd like. (*** FIXME:might be limited to about 10??)
Now that you've created a new window, you'd like to change to that window , so that you may use it. For this there are also a number of ways to do it. There are many ways of doing many thing in BitchX, aren't there?).
When changed to the new window, you can use it like you would normally. Just type in commands at the command prompt, and the'll be run in the current window (most of the time, anyway).
Typing /j #foobar joins #foobar. Consequentely, typing something will appear on #foobar. Changing back the previous window (/window prev, or ctrl-w p, or alt-1) allows you to talk to the channel which you joined in that window.
If you want to talk to a user privately in the new window, just use the /query command. Remember, you don't have to be on the same channel as the user you want to chat privately with.
It may sometimes be desirable to chat on different IRC networks (or differenent IRC servers, it's all the same). In this case, BitchX allows you to connect to a different IRC server in the new window. This won't work with the normal /server command, but you'll have to tell bitchx to only connect to the other server in the current window. You can do it like this:
[0] /window server irc.nl.undernet.org
This will connect you to the Undernet IRC network, but only in the current channel. Do be aware that it can sometimes become a bit messy when using multiple servers. Especially when you create new windows when you're already connected to two different servers.
If you want to quit the chatting on a specific server, you can switch to that server's window, and type /window discon. You will now be disconnected from the current server.
You can tell BitchX what information you want in a window, by adjusting it's level. When BitchX recieves information (i.e: a private message from another user) it will (by default) display it in the current window. All messages recieved from the IRC server (like splits and the like) are by default displayed in the current window. This can be anoyying, because it will generate a lot of random crap in between the normal channel flow. (this is especially the case when you're IRCing in Undernet, which generated enormous amounts of server messages)
If you only want to have all things said to #channel1 in the window for #channel1, you can use the '/window level' command:
[#channel1] /window level public
This will only allow public messages in the current window. Do note, that if another window is not present with a level which will allow other messages (like server message) the messages will still be shown in the current window. A list of available levels:
PUBLIC | : Everything said publically on a channel. (/me amonst other commands) |
CRAP | : Random crap, like errors when switching channels and stuff. |
MSGS | : All private messages which are sent to you. (/msg command) |
NOTICES | : All notices send to you (/notice command) |
WALLS | : All wall messages from channel operators (/wall , /wallmsg commands) |
WALLOPS | : All wallop messages from IRC operators (NOT channel operators). (/wallops command) |
NOTES | : ?? Notes you have recieved. Notes are not in common use anymore. (/note command) |
OPNOTES | : ?? |
SNOTES | : ?? |
ACTIONS | : CTCP actions sent to you. (/ctcp [user] action command) |
DCC | : DCC information (/dcc command) |
CTCP | : CTCP requests from other persons (/ctcp command) |
USERLOG1 | : ?? |
USERLOG2 | : ?? |
USERLOG3 | : ?? |
USERLOG4 | : ?? |
USERLOG5 | : ?? |
BEEP | : ?? (Should be beeps, but doesn't seem to work?) |
TCL | : ?? (tcl scripting errors/debugging?) |
SEND_MSG | : ?? (messages you sent out, but doesn't seem to work?) |
KILL | : ?? (server kills, but doesn't seem to work?) |
MODEUSER | : Changes in user modes done by other users. If you change a mode yourself, it will still be shown. |
MODECHAN | : Changes in channel modes done by other users. If you change a mode yourself, it will still be shown. |
KICK | : ?? (kicks on a channel (perhaps by other users only), but doesn't seem to work) |
KICKUSER | : ?? (kicks on a channel (perhaps by other users only), but doesn't seem to work) |
PARTS | : ?? (Parts on a channel, but doesn't seem to work) |
INVITES | : Recieved invites to channels. (/invite command) |
JOIN | : ?? (joins on channels, but doesn't seem to work) |
TOPIC | : ?? (topic changes on channels, but doesn't seem to work) |
HELP | : Bitchx help information (/help , /bhelp , /window help commands.Not /ehelp ) |
NOTIFY | : Notices which you send and which are sent to you (/notice command) |
ALL | : All of the above levels. |
NONE | : None of the above levels. |
Please note that (like so many things in BitchX) window levels are not consistent or logical. When, for instance, setting window #1's level to ALL (which includes CRAP), and window #2's level to just PUBLIC, CRAP will still appear on window #2. This I call 'The BitchX uncertainty principle': Your milage may vary.
To remove a window, you can do the following:
Mind you, that you will not quit any channels you were on in that window. You can still send messages to the channels you were on in the window, by using the '/msg' command or sometimes by changing to the channel with ctrl-x . With Ctrl-x, you're millage may vary though. BitchX is quite random with this.
To get a list of things you can do with windows, type:
[#channel2] /window help
I'll cover a couple of neat options:
I myself use some aliases quite frequently, because I'm just too lazy to type '/window new double on hide' everytime. With the following alias, you can simply type '/wnq joe' to start a new query with user 'joe' in a new hidden window:
/alias wnq window new double on;query $0;window hide
(for a detailed description of the /alias command, see the 'Customizing BitchX' chapter)
On of BitchX's strongest features is it's custumizability. Almost everything shown can be adapted to your liking. The interface can be changed and adapted to how you want it to work and look. Scripting commands can be used to make a 'link' between the system you're working on and the BitchX client. Speed up your daily chatting with aliases and keybindings and more.
An alias is a kind of macro. It replaces another command (or set of commands) and it's (their) parameter(s) with a single command. This will greatly improve the usage of bitchx, because some commands can be quite tedious to type everytime (see the Windows chapter). New aliases can be created by using the /alias command. To get a list of current aliases which have been defined type:
[#toktok] /alias WNQ window new double on;query $0;window hide
This shows one alias, named WNQ. It runs three commands: 'window', 'query' and the 'window' command again. This alias takes 1 argument ($0) and creates a new window with the nickname, (or channel, or whatever) given as the paramter to WNQ, in a query. It then hides the window.
Aliases are not case sensetive. So you may say both /wnq joe, or /WNQ joe
. Multple commands in aliases must be seperated by a ';'. Do mind that you
may not have a space in front or after that ';'. Parameters are passed as
$0, $1 .. $9. $* contains all parameters which where passed to the alias.
Aliases are entered as follows: /alias [name] [command];[command]
To remove an alias, you can prepend it's name with a '-' (hyphen). So:
[#toktok] /alias -wnq
Will remove the wnq alias.
Keybindings give you the ability to change the default keys used in
bitchx for editing, changing windows, scrolling, etc. These keybindings are
controlled via the /bind command. If /bind is run without any parameters,
a list with current keybindings will be shown. To add new keybindings (or
change existing ones, use the following command: /bind <key>
<function> [<string>]
Allowed key sequences (taken directly from the ircII manual):
c | where c is any key (case sensitive) |
^c | where c is one of A thru Z or one of the following quoted set '?[]\^@' (^? == delete key) |
METAn-c | where n is 1, 2, 3 or 4 and c is the same as the first form above |
METAn-^c | where n is 1, 2, 3 or 4 and c is the same as the second form above |
mc | where m has been previously bound to META1_CHARACTER, META2_CHARACTER, META3_CHARACTER, or META4_CHARACTER and c is the same as the first form above. m may be either of the first two forms above (m or ^m). |
m^c | where m has been previously bound to META1_CHARACTER, META2_CHARACTER, META3_CHARACTER, or META4_CHARACTER and c is the same as the second form above. m may be either of the first two forms above (m or ^m). |
Allowed functions which can be binded on keys (taken directly from the ircII manual):
BACKSPACE |
BACKWARD_CHARACTER |
BACKWARD_HISTORY |
BACKWARD_WORD |
BEGINNING_OF_LINE |
CLEAR_SCREEN |
COMMAND_COMPLETION |
DELETE_CHARACTER |
DELETE_NEXT_WORD |
DELETE_PREVIOUS_WORD |
END_OF_LINE |
ENTER_DIGRAPH |
ENTER_MENU |
ERASE_LINE |
ERASE_TO_BEG_OF_LINE |
ERASE_TO_END_OF_LINE |
FORWARD_CHARACTER |
FORWARD_HISTORY |
FORWARD_WORD |
HELP_CHARACTER |
META1_CHARACTER |
META2_CHARACTER |
META3_CHARACTER |
META4_CHARACTER |
NEXT_WINDOW |
NOTHING |
PARSE_COMMAND |
PREVIOUS_WINDOW |
QUIT_IRC |
QUOTE_CHARACTER |
REFRESH_INPUTLINE |
REFRESH_SCREEN |
SCROLL_BACKWARD |
SCROLL_END |
SCROLL_FORWARD |
SCROLL_START |
SELF_INSERT |
SEND_LINE |
STOP_IRC |
SWITCH_CHANNELS |
TOGGLE_INSERT_MODE |
TOGGLE_STOP_SCREEN |
TRANSPOSE_CHARACTERS |
TYPE_TEXT |
UNSTOP_ALL_WINDOWS |
YANK_FROM_CUTBUFFER |
Possible settings:
|
|
BitchX's look can be changed by altering something called Formats. The
client keeps a table of how things should look like. These formats can be
changed by using /fset
. You can change anything from how the
status bar looks like to how messages are displayed. I.e: when something
is said on the channel, bitchx internally takes this as a couple of fields,
namely the time it was said, the nickname of who said it and the hostname of
who said it. The rest is everything that was said. These fields can be used
in the formats as a sort of parameters. $0 is the always the time, the other
parameters differ. So, when something is said, BitchX takes (in this case)
the format_public
format, reads it, substitutes all parameters
found in the format with the internal fields, renders the colors and then
displays it. So if user 'Flunk' said 'Hey man!' at 10:40, and
format_public
is: [$0|$1> $3-
, this will be displayed
as: [10:40|Flunk> Hey man!
. When a '-' is appended to a
parameter, this means 'this parameter and all that follows'. 'Hey man!'
would be broken up in $3 ('Hey') and $4 ('man!'), but $3- would become 'Hey
man'. Colors can be inserted in the formats by using the '%' in formats.
I.e: %B$0%n$1
would show the time in blue and the nickname in
the normal color. More about colors in the Color section of this chapter.
The following formats are available in bitchx:
ACTION | : Description somebody else sends to you privately (/describe) | ( [time] [nick] [hostname] [your nick] [text] ) |
ACTION_AR | : | ( ) |
ACTION_CHANNEL | : Description somebody else sends to a channel (/me) | ( [time] [nick] [hostname] [channel] [text] ) |
ACTION_OTHER | : Description you send to somebody else privately (/describe) | ( [time] [your nick] [reciever nick] [text] ) |
ACTION_OTHER_AR | : | ( ) |
ACTION_USER | : | ( ) |
ACTION_USER_AR | : | ( ) |
ALIAS | : | ( ) |
ASSIGN | : | ( ) |
AWAY | : Shown when you go away (/away) | ( [time] [message] ) |
BACK | : | ( ) |
BANS | : | ( ) |
BANS_FOOTER | : | ( ) |
BANS_HEADER | : | ( ) |
BITCH | : | ( ) |
BOT | : | ( ) |
BOT_FOOTER | : | ( ) |
BOT_HEADER | : | ( ) |
BWALL | : | ( ) |
CHANNEL_SIGNOFF | : | ( ) |
COMPLETE | : | ( ) |
CONNECT | : | ( ) |
CSET | : | ( ) |
CTCP | : When someone sends you a CTCP request. | ( [time] [nick] [hostname] [your nick] [ CTCP request] ) |
CTCP_CLOAK | : | ( ) |
CTCP_CLOAK_FUNC | : | ( ) |
CTCP_CLOAK_FUNC_USER | : | ( ) |
CTCP_CLOAK_UNKNOWN | : | ( ) |
CTCP_CLOAK_UNKNOWN_USER | : | ( ) |
CTCP_CLOAK_USER | : | ( ) |
CTCP_FUNC | : | ( ) |
CTCP_FUNC_USER | : | ( ) |
CTCP_REPLY | : When somebody replies to a CTCP request you sent them. | ( [time] [nick] [host] [CTCP request] [response]) |
CTCP_UNKNOWN | : | ( ) |
CTCP_UNKNOWN_USER | : | ( ) |
CTCP_USER | : | ( ) |
DCC | : | ( ) |
DCC_CHAT | : | ( ) |
DCC_CONNECT | : | ( ) |
DCC_ERROR | : | ( ) |
DCC_LOST | : | ( ) |
DCC_REQUEST | : | ( ) |
DESYNC | : | ( ) |
DISCONNECT | : | ( ) |
EBANS | : | ( ) |
EBANS_FOOTER | : | ( ) |
EBANS_HEADER | : | ( ) |
ENCRYPTED_NOTICE | : | ( ) |
ENCRYPTED_PRIVMSG | : | ( ) |
FLOOD | : | ( ) |
FRIEND_JOIN | : | ( ) |
HELP | : | ( ) |
HOOK | : | ( ) |
IGNORE_INVITE | : | ( ) |
IGNORE_MSG | : | ( ) |
IGNORE_MSG_AWAY | : | ( ) |
IGNORE_NOTICE | : | ( ) |
IGNORE_WALL | : | ( ) |
INVITE | : | ( ) |
INVITE_USER | : | ( ) |
JOIN | : When you or another user joins a channel | ( [time] [nick] [hostname] [channel] ) |
KICK | : When a user is kicked from a channel | ( [time] [nick of kicker] [channel] [nick of kicked] [reason] ) |
KICK_USER | : | ( ) |
KILL | : | ( ) |
LASTLOG | : | ( ) |
LEAVE | : Whe you or another user leaves a channel | ( [time] [nick] [host] [channel] [reason] ) |
LINKS | : | ( ) |
LIST | : | ( ) |
: | ( ) | |
MODE | : When a users mode is changed on a channel | ( [time] [nick of changer] [hostname of changer] [channel] [mode change] ([nickname]) ) |
MODE_CHANNEL | : | ( ) |
MSG | : Private messages sent to you | ( [time] [nick] [hostname] [text] ) |
MSGCOUNT | : | ( ) |
MSGLOG | : | ( ) |
MSG_GROUP | : | ( ) |
NAMES | : Shows number of users on channel on join | ( [time] [channel] [nr of users] ) |
NAMES_BANNER | : | ( ) |
NAMES_BOT | : | ( ) |
NAMES_BOTCOLOR | : | ( ) |
NAMES_FOOTER | : | ( ) |
NAMES_FRIEND | : | ( ) |
NAMES_FRIENDCOLOR | : | ( ) |
NAMES_IRCOP | : | ( ) |
NAMES_NICKCOLOR | : | ( ) |
NAMES_NONOP | : | ( ) |
NAMES_OP | : | ( ) |
NAMES_OPCOLOR | : | ( ) |
NAMES_SHIT | : | ( ) |
NAMES_SHITCOLOR | : | ( ) |
NAMES_VOICE | : | ( ) |
NAMES_VOICECOLOR | : | ( ) |
NETADD | : | ( ) |
NETJOIN | : | ( ) |
NETSPLIT | : | ( ) |
NETSPLIT_HEADER | : | ( ) |
NICKNAME | : | ( ) |
NICKNAME_OTHER | : | ( ) |
NICKNAME_USER | : | ( ) |
NICK_AUTO | : | ( ) |
NICK_COMP | : | ( ) |
NICK_MSG | : | ( ) |
NONICK | : When the server tells you that the nick doesn't exist | ( [time] [nick] [server] [failure reason] ) |
NOTE | : | ( ) |
NOTICE | : | ( ) |
NOTIFY_OFF | : | ( ) |
NOTIFY_ON | : | ( ) |
NOTIFY_SIGNOFF | : | ( ) |
NOTIFY_SIGNON | : | ( ) |
OPER | : | ( ) |
OV | : | ( ) |
PASTE | : | ( ) |
PUBLIC | : Everything others say on channels. | ( [time] [nick] [channel] [text]) |
PUBLIC_AR | : | ( ) |
PUBLIC_MSG | : | ( ) |
PUBLIC_MSG_AR | : | ( ) |
PUBLIC_NOTICE | : | ( ) |
PUBLIC_NOTICE_AR | : | ( ) |
PUBLIC_OTHER | : | ( ) |
PUBLIC_OTHER_AR | : | ( ) |
REL | : | ( ) |
RELM | : | ( ) |
RELN | : | ( ) |
RELS | : | ( ) |
RELSM | : | ( ) |
RELSN | : | ( ) |
SEND_ACTION | : Description you send (to a channel), or make (/me, also away)) | ( [time] [your nick] [channel] [text]) |
SEND_ACTION_OTHER | : | ( ) |
SEND_AWAY | : | ( ) |
SEND_CTCP | : When you send a CTCP command to a user | ( [time] [nick] [ctcp request] ) |
SEND_DCC_CHAT | : | ( ) |
SEND_ENCRYPTED_MSG | : | ( ) |
SEND_ENCRYPTED_NOTICE | : | ( ) |
SEND_MSG | : Private messages you send | ( [time] [recieving nick] [your nick] [text] ) |
SEND_NOTICE | : | ( ) |
SEND_PUBLIC | : Everthing you say on channels | ( [time] [channel] [nick] [text]) |
SEND_PUBLIC_OTHER | : | ( ) |
SERVER | : | ( ) |
SERVER_MSG1 | : | ( ) |
SERVER_MSG1_FROM | : | ( ) |
SERVER_MSG2 | : | ( ) |
SERVER_MSG2_FROM | : | ( ) |
SERVER_NOTICE | : | ( ) |
SERVER_NOTICE_BOT | : | ( ) |
SERVER_NOTICE_BOT1 | : | ( ) |
SERVER_NOTICE_BOT_ALARM | : | ( ) |
SERVER_NOTICE_CLIENT_CONNECT | : | ( ) |
SERVER_NOTICE_CLIENT_EXIT | : | ( ) |
SERVER_NOTICE_CLIENT_INVALID | : | ( ) |
SERVER_NOTICE_CLIENT_TERM | : | ( ) |
SERVER_NOTICE_FAKE | : | ( ) |
SERVER_NOTICE_GLINE | : | ( ) |
SERVER_NOTICE_KILL | : | ( ) |
SERVER_NOTICE_KILL_LOCAL | : | ( ) |
SERVER_NOTICE_KLINE | : | ( ) |
SERVER_NOTICE_NICKC | : | ( ) |
SERVER_NOTICE_OPER | : | ( ) |
SERVER_NOTICE_REHASH | : | ( ) |
SERVER_NOTICE_STATS | : | ( ) |
SERVER_NOTICE_TRAFFIC_HIGH | : | ( ) |
SERVER_NOTICE_TRAFFIC_NORM | : | ( ) |
SERVER_NOTICE_UNAUTH | : | ( ) |
SET | : | ( ) |
SET_NOVALUE | : | ( ) |
SHITLIST | : | ( ) |
SHITLIST_FOOTER | : | ( ) |
SHITLIST_HEADER | : | ( ) |
SIGNOFF | : | ( ) |
SILENCE | : | ( ) |
SMODE | : | ( ) |
STATUS | : Top bar of bottom status lines (double bars and single bar) | ( ) |
STATUS1 | : Bottom bar of bottom status lines (double bars) first update after refresh | ( ) |
STATUS2 | : | ( ) |
STATUS3 | : | ( ) |
TIMER | : | ( ) |
TOPIC | : Displayed when requesting the topic with /topic command | ( [time] [channel] [topic] ) |
TOPIC_CHANGE | : | ( [time] [nick of changer] [channel] [topic] ) |
TOPIC_CHANGE_HEADER | : Header displayed before the new topic when topic changed | ( [time] [nick of changer] [channel] [topic] ) |
TOPIC_SETBY | : | ( ) |
TOPIC_UNSET | : When somebody unsets the topic (/untopic) | ( [time] [nick] [channel] ) |
TRACE_OPER | : | ( ) |
TRACE_SERVER | : | ( ) |
TRACE_USER | : | ( ) |
USAGE | : Shown when usage help is given on command | ( [text] ) |
USERLIST | : Line of userlist info (/userlist) | ( [binary repr. of modes for user] [username] [password?] [usermask] [channel] ) |
USERLIST_FOOTER | : Shown after userlist output (/userlist) | ( [time] [nr of users]) |
USERLIST_HEADER | : Shown before userlist output (/userlist) | ( ) |
USERMODE | : | ( ) |
USERS | : One line of output from /users command | ( [?] [channel] [nickname] [hostname] [?] [mode(@)] ) |
USERS_HEADER | : Shown before /user output and after USER_TITLE | ( [time] [channel]) |
USERS_SHIT | : | ( ) |
USERS_TITLE | : Shown before /user output and USER_HEADER | ( [channel] ) |
USERS_USER | : | ( ) |
VERSION | : | ( ) |
WALL | : | ( ) |
WALLOP | : | ( ) |
WALL_AR | : | ( ) |
WATCH_SIGNON | : | ( ) |
WATCH_SIGNOFF | : | ( ) |
WHO | : One line (containing 1 user) when you issue a /who command | ( [channel] [nick] [mode] [ident username] [hostname] [server] [fullname] ) |
WHOIS_ADMIN | : | ( ) |
WHOIS_AWAY | : /Whois output line: If user is away | ( [text] ) |
WHOIS_BOT | : | ( ) |
WHOIS_CHANNELS | : /Whois output line: channels user is on. Also if a user is in userlist: channels a user is allowed on. | ( [channels] ) |
WHOIS_FOOTER | : Shown after /whois command output | ( none ) |
WHOIS_FRIEND | : /Whois output line: When user is in userlist shows info | ( [friend-modes] [hostmask] ) |
WHOIS_HEADER | : Shown before /whois output | ( none ) |
WHOIS_HELP | : | ( ) |
WHOIS_IDLE | : /Whois output line: Idle time (time user hasn't sent anything to the server | ( [hours] [minutes] [seconds] ['seconds idle'] ) |
WHOIS_NAME | : /Whois output line: full name | ( [Fullname] ) |
WHOIS_NICK | : /Whois output line: nickname | ( [nickname] [username] [hostname] [tld countryname] ) |
WHOIS_OPER | : | ( ) |
WHOIS_REGISTER | : | ( ) |
WHOIS_SERVER | : /Whois output line: Server user is on | ( [hostname] [Description] ) |
WHOIS_SERVICE | : | ( ) |
WHOIS_SHIT | : | ( ) |
WHOIS_SIGNON | : | ( ) |
WHOLEFT_FOOTER | : | ( ) |
WHOLEFT_HEADER | : | ( ) |
WHOLEFT_USER | : | ( ) |
WHOWAS_HEADER | : | ( ) |
WHOWAS_NICK | : | ( ) |
WIDELIST | : | ( ) |
WINDOW_SET | : | ( ) |
XTERM_TITLE | : | ( ) |
381 | : | ( ) |
471 | : | ( ) |
473 | : | ( ) |
474 | : | ( ) |
475 | : | ( ) |
476 | : | ( ) |
Adding timestamps can be done in two ways. You can either set the
TIMESTAMP
option to 'ON
', which will give you
some limited timestamps. For instance, public messages will be
timestamped, but things you say yourself won't. The other method is
defining all timestamps yourself by using the BitchX formats settings. This
will allow you to add timestamps to just about everything. But it can be
tidious work finding out all the different formats for messages and the
likes. Therefor I've included here my own formats for timestamping (and
some more stuff):
/fset public %B[%n$0%B|%n$1%B>%n $3- /fset send_public %P[%n$0%P|%n$2%P>%n $3- /fset msg %B[%n$0%B|%G$1%B<%n $3- /fset send_msg %P[%n$0%P|%n%R$1%P> %n$3- /fset public_ar %B[%n$0%B|%Y$1%B>%n $3- /fset action %B[%n$0%B|%W$1%n $4- /fset action_ar %B[%n$0%B|%W$1%n $4- /fset action_channel %B[%n$0%B|%W$1/$3%n $4- /fset send_action %B[%n$0%B|%W$1%n $3- /fset send_action_other %B[%n$0%B|%W$2%n->%W$1%n $3- /fset channel_signoff %G[%n$0%G|%n$1%n%G|%n%CQUIT%n%G|%n$3%G>%n $4- /fset join %G[%n$0%G|%n$1%n%G|%n%CJOIN%n%G|%n$3%G>%n /fset leave %G[%n$0%G|%n$1%n%G|%n%CPART%n%G|%n$3%G>%n $4- /fset nickname %G[%n$0%G|%n$1%n%G|%n%CNICK%n%G>%n $3 /fset nickname_other %G[%n$0%G|%n$1%n%G|%n%CNICK%n%G>%n $3 /fset nickname_user %G[%n$0%G|%n$1%n%G|%n%CNICK%n%G>%n $3
Above format settings will add timestamps to public messages, private messages (by others and by yourself), channel joins, parts, quits, actions (/me's by you and by others). It will change the display of private messages too. While normally you would see something like:
[toDS-na(todsah@d44200.upc-d.chello.nl)] Hello there [msg(toDS-na)] Hello to you to!
you will now see the following (where red is what you said to toddie, and green is what toddie said to you):
[14:23|toddie> Hello there [14:24|toddie< Hello to you to!
v0.2
To Do's on this document are spread throughout this document in the form
of '*** TODO DESCRIPTION
'. At these places informations needs
to be added, changed or whatever else is stated in the description. Global
ToDo's are stated here:
The reason this document has been discontinued is very simple. BitchX doesn't cut it for me anymore, and I therefor do not feel the need to complete this document. Instead, I've switched do another, much better (IMHO, IMHO) irc client, namely Irssi
If you feel like helping out finishing this document, making it the most complete guide to BitchX, your help is greatly appreciated. Things which you can help out with are i.e: removing spelling errors, finishing to do's, writing new sections, make suggestions, etc, etc, etc. All help, I repeat ALL HELP is more than welcome.
When contributing, please mention on which version of this document you made the changes. You may send any contributions to the email address in the copyright section.
copyright (c) 2000, ferry boender
this document may be freely distributed, in part or as a whole, on any medium, without the prior authorization of the author, provided that this copyright notice remains intact, and there will be no obstruction as to the further distribution of this document. you may not ask a fee for the contents of this document, though a fee to compensate for the distribution of this document is permitted.
modifications to this document are permitted, provided that the modified document is distributed under the same license as the original document and no copyright notices are removed from this document. all contents written by an author stays copyrighted by that author.
failure to comply to one or all of the terms of this license automatically revokes your rights granted by this license
all brand and product names mentioned in this document are trademarks or registered trademarks of their respective holders.
Author:
Ferry Boender
De Cotelaer 28
3772 BP
Barneveld,
The Netherlands
EMail: f (DOT) boender (AT) electricmonk (DOT) nl