! DQUERY LIST REHASH WALLOPS # ECHO LOAD RESTART WHICH : ENCRYPT LUSERS SAVE WHILE ADMIN EVAL ME SAY WHO ALIAS EXEC MLOAD SEND WHOIS ASSIGN EXIT MODE SENDLINE WHOWAS AWAY FLUSH MOTD SERVER WINDOW BIND FOREACH MSG SET XECHO BYE HELP NAMES SIGNOFF XTYPE CD HISTORY NICK SLEEP basics CHANNEL HOOK NOTE SQUIT commands CLEAR IF NOTICE STATS etiquette COMMENT IGNORE NOTIFY SUMMON expressions CONNECT INFO ON TIME intro CTCP INPUT OPER TIMER ircII DATE INVITE PARSEKEY TOPIC menus DCC JOIN PART TRACE news DEOP KICK PING TYPE newuser DESCRIBE KILL QUERY USERHOST rules DIE LASTLOG QUIT USERS DIGRAPH LEAVE QUOTE VERSION DMSG LINKS REDIRECT WAIT =========================================================================== !: Usage: ![|] The ! command is used to recall previous commands in your command history for re-execution. The ! command is unique in that when it is used, it leaves the matching history entry in the input line for re-editing. You can specify a history entry either by its number in the history list, or by a match with a given wildcard expression. For example: !10 will put entry 10 in the history list into the input line. The following: !/MSG will search the history list for a line beginning with /MSG and put it in the input line (an * is implied at the end of /MSG). When using ! command with a wildcard expression, subsequent uses of the ! command continue their search in the history list from where they left off. This is reset to the end of the list when a command is executed that adds an entry to the history list. Also, if a wildcard expression is used once, subseqent uses of ! with no expression will use the previous wild card expression. For example, the following: !/MSG ! The first call returns the first match of /MSG in the history list, and the second returns the next match, and so on. This is useful in the following key binding: BIND ^R PARSE_COMMAND /!$"Search: " With this, you can hit ^R and you will be prompted for a search string in the history list. If you want to then repeat the search you simply have to hit ^R and hit return, since it will use the previous search by default. Lastly, ! may be used in command aliases as well. When it is embedded in an alias it simply executes the matching history entry without first putting it in the input line for re-editing. See Also: HISTORY =========================================================================== #: See COMMENT for more information about #. =========================================================================== :: See COMMENT for more information about :. =========================================================================== ADMIN: Usage: ADMIN [|] Displays the administrative details about the given server. If no server is specified, the server you are connected to is used. If a nickname is supplied then it gives the administrative information for that person's current server. =========================================================================== ALIAS: ALIAS functions quote special width =========================================================================== Usage: ALIAS [[-] []] Creates a command alias for . Commands do not need to be prefixed with a command character, in fact they shouldn't! If you want an alias to type something to the channel or query use SEND or SAY. You can use ';' to put multiple commands in a row. Special character sequences, usually ircII variables, are prefixed with '$'. There are certain $ sequences built in to IRCII for getting such information as your nickname and current channel, plus you can expand your own variables and system variables using the $ format. You can also expand functions, substituting their return values. See ASSIGN for more on this. Here are some simple alias examples: ALIAS HELLO MSG $0 Hello, $0! $1- This alias can be used by typing: HELLO BigCheese How are you? This would act as though you had typed: MSG BigCheese Hello, BigCheese! How are you? ALIAS with just the argument shows the current alias for that word. ALIAS with no argument shows all current aliases. To remove an alias, use ALIAS -. To use more than one command in an alias, separate them by ';'. When using ALIAS in a script it is frequently useful to surround the contents of your alias with { }s when you want to put more than one commands in an alias. E.g: ALIAS loadcommon { LOAD netsplit LOAD troy } is the same as ALIAS loadcommon LOAD netsplit;LOAD troy but lacks the ; and it much easier to read in a script or the .ircrc file. For more specific information about the $ uses and more examples, see the specific help files listed below. See Also: SET INPUT_ALIASES SEND SAY ircII programming ASSIGN expressions (note also Special Cases at the end) =========================================================================== IRCII Functions IRCII functions are substituted with the format $FUNCTION(arguments). A function is an ALIAS which assigns a value to FUNCTION_RETURN. For example: ALIAS DOUBLE assign FUNCTION_RETURN ${[$0]+[$0]} which is the same as: ALIAS DOUBLE @ function_return = [$0] * 2 used with: ALIAS SHOWDOUBLE echo $DOUBLE($0) will cause SHOWDOUBLE 7 to display "14". The following built-in functions already exist and cannot be overriden: LEFT(COUNT STRING) Returns the COUNT leftmost bytes from the STRING. RIGHT(COUNT STRING) Returns the COUNT rightmost bytes from the STRING. MID(INDEX COUNT STRING) Returns COUNT bytes starting at position INDEX in STRING. INDEX(CHARLIST STRING) Returns the index to the first character in STRING which appears in CHARLIST. RINDEX(CHARLIST STRING) Returns the index to the last character in STRING which appears in CHARLIST. TIME() Returns the current system time as a long integer STIME(TIMEVAL) Returns the date and time in English that corresponds to the long integer TIMEVAL. TDIFF(TIME_INTERVAL) Takes a TIME_INTERVAL in seconds and returns it in the format.. dd days hh hours mm minutes ss seconds Any fields with 00 are omitted. RAND(LIMIT) Returns a random number x such that 0<=x where c is the character to be quoted, and is one of the special sequences. For example, you may wish to do the following: alias foo eval echo $^$* and you do foo This is a $Test Since $ expressions are parsed first, the $^$* is the first thing parsed. The ^$ part tells IRCII to quote all $ in the resultant string. So, the $^$* is expanded just like $* and becomes: This is a $Test and the ^$ causes it to quote all $, which becomes: This is a \$Test This is then replaced in the original alias for parsing, so /foo becomes: eval echo This is a \$test When eval goes through the line and reparses it the $ is protected by the new \, and thus the final output will be "This is a $Test". If $ was not quoted, eval would try to expand any $'s into the contents of the associated variable. Eg. one$two would try to expand the variable $two The ^ modifier must be first after the initial $. You may specify more than one character to be quoted simply be adding more ^c to the expression: $^$^\B will quote all occurences of $ and \ in the body of the last message you received. Remember, you can use both forms of modifiers, but they must be in the correct order. All ^ modifiers must be first, followed by any [] modifier. For example: $^.[-10]S This will right justify your server name and quote any . in the server name with \. See Also: ALIAS WIDTH EVAL =========================================================================== Special character sequences for ALIAS: All special character sequences begin with a $. In their simpliest form, the following have special meaning in aliases: $* Expands to the rest of the arguments on the command line. $n Where n is a non-negative number, expands to the nth arg. $n-m Where n and m are non-negative numbers, expands to the nth thru mth arguments inclusive. $n- Where n is a non-negative number, expands from the nth argument to the end of the argument list. $-m Where m is a non-negative number, expands from the beginning of the argument list to the mth argument. This is the same as $0-m. $~ Expands to the last word on a line. $, Expands to the nickname of the last person who send you a /MSG $. Expands to the nickname of the last person to whom you sent a /MSG $variable Expands to the value of one of the following: 1) Matching ASSIGN'd variable 2) Matching IRCII SET variable 3) Matching environment variable 4) Nothing It checks in the order shown. Thus, if 1 doesn't match, 2 is tried. If 2 doesn't match, 3 is tried, etc. See ASSIGN for more details. $[number]variable Expands the variable and shows only 'number' of characters. e.g. $blue == "nonsense" $[3]blue == "non" and $[20]blue == "nonsense " In the second case note it is left justified in the space. $[-number]variable Expands as above but it is right justified when the 'number' is bigger than the number of chars in variable. $[20]blue == " nonsense" $#variable Expands to the number of words in the variable. $@variable Expands to the number of letters in the variable. $"Prompt" Will prompt you (using the text between the double quotes) for input which will be replaced in the alias. ***WARNING*** This is no longer supported. use the INPUT command instead. $(sub-alias) This expands out the sub-aliases, then uses that result in place of the (sub-alias) expression. For example $($0) will first expand $0... suppose it expands to S. Then it replaces that in the original text, giving you $S, which is then expanded to the name of your current server. $!history! This expands to a matching entry in your command history. The text between the ! may contain wildcards. $: Expands to the nickname of the last person to join your channel $; Expands to the nickname of the last person to send a public message to your channel $A Expands to the text of your AWAY message $B Expands to the body of the last MSG you sent. $C Expands to your current channel $D Expands to the nickname of the person whose sign-on was last detected by the NOTIFY mechanism $H Expands to the current numeric being processed $I Expands to the name of the channel to which you were last INVITED $K Expands to the current value of CMDCHAR. Useful to have aliases work even when you change CMDCHAR. $L Expands to the current contents of the input line $N Expands to your nickname $O Expands to the value of STATUS_OPER if you are currently an operator $P Expands to "@" if you are a chanop on the current channel $Q Expands to the nickname of the person you are QUERYing. $S Expands to the name of your server $T Expands to the 'target' of your input (either a QUERY nick or a current channel) $U Expands to the last thing cut from the command line. e.g. ^U to clear line will put the line in the variable $U $V Expands to the internal ircII release date $W Expands to the current working directory $Z Expands to the time of day $$ Expands to $ Argument to aliases will automatically be appended to the expanded alias unless you use one of the following forms in the alias: $* $n $n-m $-m $n- $(sub-alias) If one of these forms is used in the alias arguments are not appended. For example: ALIAS M /MSG will be treated as: ALIAS M /MSG $* However, ALIAS M /MSG $0 $1- will not have the arguments appended. If you have an alias and you wish to prevent arguments from being appended, add $() to the alias. The $() with nothing between the parenthesis expands to nothing and prevents arguments from being appended. Any alias may be surrounded by {}s so that it can be imbedded within another string. For example: a${N}a will expand to (assuming your nickname is BigCheese): aBigCheesea Aliases are automatically delimited by certain characters. For example: "$N" expands to: "BigCheese" =========================================================================== ALIAS MODIFIER: This modifier is a width specifier for any of the forms of alias. This is done by placing [] after the $ (and after and ^c expressions). For example: $[10]C This expand to your current channel, but it will truncate any characters beyond 10 in the channel name. If the channel is less than 10 characters, it will be padded on the right with blanks. Specifying a negative width will justify the field on the right and pad on the left with blanks. A width of 0 is treated as though no width specifier was used. If you get real tricky, you can do things like this: $([$CHANNEL_NAME_WIDTH]C) The value of the IRCII variable CHANNEL_NAME_WIDTH will be expanded in the $() expression. If CHANNEL_NAME_WIDTH is 10, this will result in $[10]C which will then expand as described above. Remember, you can use both forms of modifiers, but they must be in the correct order. All ^ modifiers must be first, followed by any [] modifier. For example: $^.[-10]S This will right justify your server name and quote any . in the server name with \. See Also: ALIAS QUOTE =========================================================================== ASSIGN: Usage: ASSIGN [[-] []] ASSIGN lets you create user variables which are automatically expanded by ircII in aliases using the $variable-name format. For example, if you had defined: ASSIGN me The Big Cheese Then, in an alias, $me would expand to "The Big Cheese". These are straight textual substitutions. You can use these kind of variables as counters and indexes into lists as well. For example: ASSIGN index 0 ASSIGN index ${index+1} The first line sets "index" to 0, the seconds increments index by 1. Note that the second will always be expanded if used in another alias (where $ are normally expanded). If you want it to be expanded if typed at the input line, you must first set INPUT_ALIASES to ON. Note: In the above example, the mathematical expression must be enclosed by {}'s otherwise the + would be treated as an alias delimiter and the addition not performed. (See @ as well) Suppose now you wanted to use index to get a single word in a list, you could do: ALIAS WORD ECHO $($index) Then doing: WORD This is a test would display the index'th word in the list. The $($index) format does the following: it parses the text between the () as a sub-alias. The "$index" is thus evaluated and returns it's value. This value is then replaced for the () expression and evaluated. So, if you had: ASSIGN index 1 Then, the following would be evaluated: $index becomes 1 which given $(1) which becomes simply $1 Thus the $1 argument is used. This functionality can be nested. This the following: ASSIGN A Hey You! ASSIGN B A ASSIGN C B ALIAS NESTING echo $($($C)) will cause NESTING to display "Hey You!" The following format are also legal: $#name evaluates to the number of words in name $@name evaluates to the number of characters in name You can use these with the mathematical expressions as well, for example: ASSIGN foo Testing One Two ECHO $#foo $@foo ASSIGN junk ${#foo + @foo} The ECHO line will display 3 15 and the variable junk have the value 18. Additionally, values assigned to FUNCTION_RETURN are taken to be the return value of a function. IMPORTANT NOTE: There is a special version of this command called '@' for use in aliases and scripts. It is well suited to mathematical operations. Its use over ASSIGN is highly recommended. See Also: @ ALIAS IF SET INPUT_ALIASES ALIAS functions =========================================================================== AWAY: Usage: AWAY [] [] Marks you as "away". Whenever someone sends you a MSG or a does a WHOIS on you, they automatically see whatever message you set. While you are away, all messages you receive will be timestamped and you will optionally get beeped (see SET BEEP_WHEN_AWAY) for each message. Using AWAY with no parameters marks you as no longer being away. Available Flags: -one Send away message to only the server in the current window. -all (default) send away message to all servers you may be on. See Also: SET BEEP_WHEN_AWAY SET SHOW_AWAY_ONCE =========================================================================== BIND: BACKSPACE FORWARD_CHARACTER SCROLL_END BACKWARD_CHARACTER FORWARD_HISTORY SCROLL_FORWARD BACKWARD_HISTORY FORWARD_WORD SCROLL_START BACKWARD_WORD HELP_CHARACTER SELF_INSERT BEGINNING_OF_LINE META1_CHARACTER SEND_LINE BIND META2_CHARACTER STOP_IRC CLEAR_SCREEN META3_CHARACTER SWITCH_CHANNELS COMMAND_COMPLETION META4_CHARACTER TOGGLE_INSERT_MODE DELETE_CHARACTER NEXT_WINDOW TOGGLE_STOP_SCREEN DELETE_NEXT_WORD NOTHING TRANSPOSE_CHARACTERS DELETE_PREVIOUS_WORD PARSE_COMMAND TYPE_TEXT END_OF_LINE PREVIOUS_WINDOW UNSTOP_ALL_WINDOWS ENTER_DIGRAPH QUIT_IRC YANK_FROM_CUTBUFFER ENTER_MENU QUOTE_CHARACTER examples ERASE_LINE REFRESH_INPUTLINE keys ERASE_TO_BEG_OF_LINE REFRESH_SCREEN ERASE_TO_END_OF_LINE SCROLL_BACKWARD =========================================================================== Usage: BIND BACKSPACE The BACKSPACE function deletes the character to the left of the cursor and moves the cursor one space to the left. If the cursor is at the first position in the input line, BACKSPACE has no effect. =========================================================================== Usage: BIND BACKWARD_CHARACTER The BACKWARD_CHARACTER function moves the cursor one space to the left. If the cursor is at the first character in the input buffer, this function has no effect. =========================================================================== Usage: BIND BACKWARD_HISTORY Replaces the contents of the input buffer with the previous command in the command history buffer. The command history buffer is a circular buffer that wraps at the end. =========================================================================== Usage: BIND BACKWARD_WORD Moves the cursor to the first character of the previous word. If the cursor is in the middle of a word, the cursor is moved to the first character of the same word. If the cursor is on the first character of a word or on whitespace, the cursor is moved to the first character of the previous word. =========================================================================== Usage: BIND BEGINNING_OF_LINE Moves the cursor to the first character in the input buffer. This need not be the first character visible on the screen, since the input buffer wraps when the line gets too long. This is always the first characters in the input buffer. =========================================================================== Usage: BIND [] Binds a keystroke sequence to an IRC function. The QUOTE_CHARACTER key (by default ^Q) may be used to override any key binding and have IRC insert the actual value of the key in the input line. See Also: BIND KEYS for information on allowable [key] parameters BIND EXAMPLES for some examples. BIND for help on individual key binding functions PARSEKEY =========================================================================== Usage: BIND CLEAR_SCREEN This function will clear the display and restart a screen that has been stopped by HOLD_MODE or by the TOGGLE_STOP_SCREEN function. =========================================================================== Usage: BIND COMMAND_COMPLETION The COMMAND_COMPLETION function will cause IRCII to attempt to complete the command you have typed in the input line. If a match is found, it is expanded to its full length in the input line. If multiple matches are found, the complete list of matching commands is displayed. If no match is found, the input line is left unchanged. =========================================================================== Usage: BIND DELETE_CHARACTER Deletes the character under the cursor. The cursor is not moved by this operation. If the cursor is at the end of the input buffer, this function has no effect. =========================================================================== Usage: BIND DELETE_NEXT_WORD Deletes from the cursor position to the end of the next word. If the cursor is in the middle of a word, all characters from the cursor position to the end of the word are deleted. If the cursor is on whitespace, all following whitespace up through the end of the next word is deleted. =========================================================================== Usage: BIND DELETE_PREVIOUS_WORD Deletes to the beginning of the previous word. If the cursor is in the middle of a word, all characters from the left of the cursor to the beginning of the word. If the cursor is on whitespace, all whitespace through to the beginning of the previous word are deleted. =========================================================================== Usage: BIND END_OF_LINE Moves the cursor to the last character of the input buffer. =========================================================================== Usage: BIND ENTER_DIGRAPH The ENTER_DIGRAPH function allows you to enter digraphs or compose letters not normally available on your keyboard. If you have not made any changes to the internal digraph table (using DIGRAPH), you could for example enter a German sharp "s"; enter the key to activate the ENTER_DIGRAPH function, followed by two "s". Note that, in order to display this character on your screen, your terminal must be capable of doing so. If you, for instance, have an American 7-bit ASCII terminal, and have informed ircII of this (by entering the command "SET TRANSLATION ASCII"), only a normal "s" will displayed, eventhough it will be treated as a German sharp "s" internally. To view the available digraphs, enter the "DIGRAPH" command with no arguments. By default, ircII uses the same sequences as available on Digital VT320/VT420 terminals as well as in the editor Elvis. See Also: DIGRAPH SET TRANSLATION =========================================================================== Usage: BIND ENTER_MENU Enters the menu what was loaded by MLOAD and set into MENU. See Also: MENUS SET MENU MLOAD =========================================================================== Usage: BIND ERASE_LINE Erases the contents of the input buffer, leaving it very empty. =========================================================================== Usage: BIND ERASE_TO_BEG_OF_LINE Erases from the cursor position to the beginning of the input line. =========================================================================== Usage: BIND ERASE_TO_END_OF_LINE Erases from the cursor position to the end of the input buffer. =========================================================================== Usage: BIND FORWARD_CHARACTER Moves the cursor to the right one position. If the cursor is at the end of the input buffer, this function has no effect. =========================================================================== Usage: BIND FORWARD_HISTORY Replaces the contents of the input buffer with the next entry in the command history buffer. The command history buffer is circular and wraps at the end. =========================================================================== Usage: BIND FORWARD_WORD Moves the cursor to the end of the next word. If the cursor is in the middle of a word, it is moved to the end of that word. If the cursor is already at the end of a word or on whitespace, it is moved to the end of the next word. =========================================================================== Usage: BIND HELP_CHARACTER This shows help on the current input buffer without disturbing the contents of the buffer. It is as though you had typed HELP followed by whatever is in the input buffer. =========================================================================== Usage: BIND META1_CHARACTER This function switches to an "alternate" keymap. That is, after this character is hit, the next key hit can have a new definition. This is how the Escape sequences are done. In fact, the escape key's default binding is META1_CHARACTER. For example: BIND ^X META1_CHARACTER binds this function to ^X. You may then bind meta key sequences with either of the two following formats: BIND ^X? HELP_CHARACTER or BIND META1-? HELP_CHARACTER =========================================================================== Usage: BIND META2_CHARACTER This function switches to an "alternate" keymap. That is, after this character is hit, the next key hit can have a new definition. This is how the Escape sequences are done. In fact, the escape key's default binding is META1_CHARACTER. For example: BIND ^X META2_CHARACTER binds this function to ^X. You may then bind meta key sequences with either of the two following formats: BIND ^X? HELP_CHARACTER or BIND META2-? HELP_CHARACTER =========================================================================== Usage: BIND META3_CHARACTER This function switches to another "alternate" keymap. That is, after this character is hit, the next key hit can have a new definition. This is how the Escape sequences are done. In fact, the escape key's default binding is META1_CHARACTER. For example: BIND meta1-[ META3_CHARACTER binds this function to ^[[. You may then bind meta key sequences with either of the two following formats: BIND ^[[A BACKWARD_HISTORY or BIND META3-A BACKWARD_HISTORY Works just like the META1_CHARACTER and the META2_CHARACTER but the default binding is meta1-[ which is very useful for binding arrow keys and other escape sequences. =========================================================================== Usage: BIND META4_CHARACTER The META4_CHARACTER is just like the other meta keys except that it is now sticky. That is, Meta4-C-D-E-F-G invokes the meta4 versions of C, D, E, F and G. This effect lasts until meta4 is invoked again. Additionally, the Meta4 characters ^h, SPACE, h, i, j, k, x, H, I, J, K, L and X have been bound in such a way that BIND ^[ META4_CHARACTER now gives a vi editing mode. It will stay 'stuck' until it is unstuck with any key bindings that happen to activate the META4_CHARACTER. =========================================================================== Usage: BIND NEXT_WINDOW Switches the "current window" to be the next window in the window list. This is the window "below" the current window on the screen. At the bottom of the screen, this will jump to the top most window on the screen. =========================================================================== Usage: BIND NOTHING The NOTHING function does nothing. Effectively, it disables the key it is bound to (to which it is bound for you grammatical types). =========================================================================== Usage: BIND PARSE_COMMAND The PARSE_COMMAND function cause the supplied string to be executed as an ircII command (or alias). It doesn't need to be prefixed by the command character. This function does not disturb the contents of the input line and is not added to the command history. You may also include any of the special $ sequences available in ALIAS and they will be expanded before the line is parsed. The sequences that deal with command line arguments ($*, $n, $-n) are expanded as though there were no command line arguments. See Also: ALIAS ircII programming =========================================================================== Usage: BIND PREVIOUS_WINDOW Switches the "current window" to be the previous window in the window list. This is the window "above" the current window on the screen. At the top of the screen, this will jump to the bottom most window on the screen. =========================================================================== Usage: BIND QUIT_IRC Exit irc and return to whatever excuse for a shell you're using. Sorry. Didn't mean that. =========================================================================== Usage: BIND QUOTE_CHARACTER This function "quotes" the next key hit. What this really means is that it overrides the key binding for the next key and forces it to insert itself into the input buffer. For example, if you have Control D bound to delete character, and you hit the quote character (defaults to Control Q) then Control D, it will insert a Control D (shows up as an inverse video D) and does not delete the character. Got it? =========================================================================== Usage: BIND REFRESH_SCREEN Amazingly, this refreshes the input line, in case some other nasty program has munged it up. =========================================================================== Usage: BIND REFRESH_SCREEN This redraws the screen, in case some other nasty program has munged it up. =========================================================================== Usage: BIND SCROLL_BACKWARD When SCROLL is set on, this will allow you to scroll back through your lastlog entries 1/2 page at a time. The default binding for this is meta1-p. A key must be bound to SCROLL_END to exit this (default meta1-e). It is suggested that you have HOLD_MODE set on or otherwise when you get out of the history all your new messages will flash by. See Also: BIND SCROLL_FORWARD BIND SCROLL_END BIND SCROLL_START =========================================================================== Usage: BIND SCROLL_END This binding is absolutely necessary if you plan to use the features found with SCROLL_BACKWARD and SCROLL_FORWARD. It allows you to exit from the viewing of the lastlog. It is the counterpart of SCROLL_START. Default binding is meta1-e. See Also: BIND SCROLL_START BIND SCROLL_FORWARD BIND SCROLL_BACKWARD =========================================================================== Usage: BIND SCROLL_FORWARD When SCROLL is set on, this will allow you to move forward through your lastlog entries 1/2 page at a time. This is after you have entered the lastlog viewing mode with SCROLL_BACKWARD. The default binding for this is meta1-n a key must be bound to SCROLL_END to exit this (default meta1-e). A good way to use this is to use SCROLL_START and then SCROLL_FORWARD to the end of the lastlog. It is suggested that you have HOLD_MODE set on or otherwise when you get out of the history all your new messages will flash by. See Also: BIND SCROLL_BACKWARD BIND SCROLL_END BIND SCROLL_START =========================================================================== Usage: BIND SCROLL_START This binding allows you to go to the start of the lastlog buffer immediately, rather than using SCROLL_BACKWARD a heap of times. It is the opposite of SCROLL_END. Default binding is meta1-<. See Also: BIND SCROLL_END BIND SCROLL_FORWARD BIND SCROLL_BACKWARD =========================================================================== Usage: BIND SELF_INSERT Causes the key it is bound to to insert itself into the input buffer. This is the default binding for the alphabet keys, numbers, etc. If this is bound to a meta sequence, it will only insert the last key hit in the meta sequence. Note: This is how you "unbind" a key. =========================================================================== Usage: BIND SEND_LINE This "sends" the input buffer to the server. Well, really it first expands aliases, etc... but you get the idea. It is normally bound to the return key or enter key... or both. See Also: SENDLINE =========================================================================== Usage: BIND STOP_IRC Sends a Stop signal to IRC II, returning you to the shell. Normally, you can then return to IRC II by typing fg. Please read about your shell to find out about this. The default binding for stop_irc is meta2-^Z or for most people ^X^Z =========================================================================== Usage: BIND SWITCH_CHANNELS Changes the current channel for the current window. This will only switch to a channel not currently directed to another window. That is, if you are on three channels, #Foo, #Bar, and #Cheese, and #Foo and #Bar are currently directed to two windows but #Cheese isn't, then SWITCH_CHANNELS will only toggle between #Cheese and either #Foo or #Bar (depending upon which window this is done in) =========================================================================== Usage: BIND TOGGLE_INSERT_MODE Toggles the INSERT_MODE variable. This function is equivalent to doing: SET INSERT_MODE TOGGLE =========================================================================== Usage: BIND TOGGLE_STOP_SCREEN Stops and starts the screen display if it is scrolling madly out of your control. The display is also restarted after the SEND_LINE function is executed. =========================================================================== Usage: BIND TRANSPOSE_CHARACTERS Swaps the two characters before the cursor. Thats all. =========================================================================== Usage: BIND TYPE_TEXT Causes the given string to be typed into the input buffer using the current setting of the INSERT_MODE variable. =========================================================================== Usage: BIND UNSTOP_ALL_WINDOWS When activated, all currently stopped windows will be restarted. =========================================================================== Usage: BIND YANK_FROM_CUTBUFFER Restores the last deleted thing. The following functions store what they deleted to the cutbuffer: DELETE_NEXT_WORD DELETE_PREVIOUS_WORD ERASE_LINE ERASE_TO_END_OF_LINE =========================================================================== Examples of the BIND function: BIND ^X META2_CHARACTER Makes control X a meta key. BIND ^Xl parse LIST Binds the meta sequence control X followed by l to perform a LIST. This binding is only valid if ^X was previously bound to a meta function (as was done in the first example). BIND META1-u BACKWARD_HISTORY by default, the escape key is bound to META1_CHARACTER, so this binding makes the escape u key sequence show the last command history entry. Note that more than one key may be bound to *any* function. BIND ! type Bang! This binds the ! (exclamation mark) to type the word "Bang!" into the input line whenever it is hit. BIND META1-[ meta2 BIND meta2-A BACKWARD_HISTORY BIND meta2-B FORWARD_HISTORY BIND meta2-D BACKWARD_CHARACTER BIND meta2-C FORWARD_CHARACTER This sequence would bind your arrow keys to the functions listed. =========================================================================== Allowable key sequences for use with the BIND function: 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). =========================================================================== BYE: See QUIT for more information about BYE. =========================================================================== CD: Usage: CD [] If a is specified, this changes ircIIs working directory. This is the default directory for EXEC's and other things (such as logs) that don't have absolute paths specified. CD with no arguments shows you the current directory. See Also: WHICH =========================================================================== CHANNEL: See JOIN for more information about CHANNEL. =========================================================================== CLEAR: Usage: CLEAR [-ALL] Clears the current window. If the -ALL flag is used, clears all visible windows. =========================================================================== COMMENT: Usage: COMMENT [] This is a comment, it does nothing. Useful in .ircrc files. COMMENT, : and # are identical in operation. =========================================================================== CONNECT: Usage: CONNECT [[] ] Tells to attempt to connect to on port with defaulting to the default port for that server (probably 6667) and defaulting to the local server CONNECT is a server operator command. See Also: SQUIT TRACE =========================================================================== CTCP: ACTION CTCP FINGER TIME UTC CLIENTINFO ECHO PING USERINFO VERSION =========================================================================== Usage: CTCP ACTION This command can be used to send a description of what you are doing or how you are feeling or just about anything concerning you, to the current channel or query. It's just the low-level version of ME and DESCRIBE. See Also: ME DESCRIBE =========================================================================== Usage: CTCP CLIENTINFO [] CLIENTINFO returns the known CTCP commands from another client in a list. You can inspect commands further by calling 'CLIENTINFO VERSION' for example. You will (or should) be given a one-line explanation of what this command is supposed to do. To find out about your own client services, execute a CLIENTINFO on yourself: CTCP mynick CLIENTINFO Warning: Some CTCP commands are not supposed to be sent by hand, in particular ERRMSG, DCC, and SED. =========================================================================== Usage: CTCP [] CTCP allows you access to the client-to-client protocol used to perform certain client specific actions between different clients on the network. The CTCP mechanism works by sending a specially coded message to another user whose client is supposed to reply with a reply message of the type, or with an error message, unless you sent it to a channel. For example, if you do: CTCP BigCheese VERSION you will receive: *** CTCP REPLY VERSION from BigCheese: ircII 2.2.2 *IX. The field may be of several types, new ones are introduced all the time, but there is a mechanism for you to find out what you can use: see CLIENTINFO. If the nickname is "*" the output is sent to the current channel. See Also: CTCP CLIENTINFO ON CTCP ON CTCP_REPLY =========================================================================== Usage: CTCP ECHO Simply asks the remote client to return whatever you send to it. =========================================================================== Usage: CTCP FINGER FINGER will attempt to show the real name and idle time for the specified nickname. =========================================================================== Usage: CTCP PING Current time is the same as what the function $TIME() returns and represents the number of seconds since Jan 1, 1970. Other ircII clients will take a CTCP ping and bounce the time back to you. This CTCP function is used by the PING command. See Also: PING =========================================================================== Usage: CTCP TIME TIME will return the current time for the nickname specified. This differs from the /TIME command in that it asks the user's client for the time instead of the user's server, which can be a long distance away. =========================================================================== Usage: CTCP USERINFO USERINFO returns whatever information a person choses to put in their USER_INFORMATION variable. See Also: SET USER_INFORMATION =========================================================================== Usage: CTCP UTC This is primarily for robots to send date and time information to users and have it displayed in local time. The format of the UTC CTCP is: UTC number where number is the ASCII representation of the 32 bit integer representing the time as is used on UNIX machines. When IRCII receives this CTCP, it replaces the text of the local time expressed in the local language back into the original message. Thus if you send the following: NOTICE nick The time is ^AUTC 702777074^A The user might see: -yournick- The time is Thu Apr 9 09:51:14 1992 (if their timezone is Australian Eastern Standard Time). Obviously you can use the $TIME() function here effectively. =========================================================================== Usage: CTCP VERSION VERSION will show you the version of the client that a particular person is using. Note: SL0 means Script Level 0 =========================================================================== DATE: Usage: DATE [|] Shows the current time of day and date. If a server is specified, the time of day and date are reported from that server. If a nickname is specified it shows you the above information for that person's current server. DATE and TIME are identical. =========================================================================== DCC: CHAT CLOSE DCC GET LIST RAW RENAME SEND TALK TMSG =========================================================================== Usage: DCC CHAT NICK DCC CHAT initiates a direct client connection chat to the given nick, who must respond with DCC CHAT. This is the most secure form of communication available on IRC. Messages sent via a DCC CHAT connection are not sent through IRC, but are sent by a direct connection between your client and the remote client. Messages are sent over a DCC CHAT connection with /MSG =nick See Also: MSG =========================================================================== Usage: DCC CLOSE [] DCC CLOSE closes an unwanted DCC connection or offer. The type, nick and arguments are the same as those shown by DCC LIST. If the arguments are not specified, the oldest connection of the specified type is closed. See Also: DCC LIST DCC RENAME =========================================================================== Usage: DCC [ []] DCC handles direct connections to remote clients. The behaviour of DCC is determined by the FUNCTION specified. DCC called with no function is the same as DCC LIST See Also: DMSG ALIAS functions ($connect() and $listen()) =========================================================================== Usage: DCC GET DCC GET accepts a file transfer by direct client connection. If the filename is not supplied then it defaults to the first file offered by that nickname. The sender must first have offered the file with DCC SEND. See Also: DCC RENAME DCC SEND =========================================================================== Usage: DCC LIST DCC LIST lists all the current DCC connections showing the type of connection, the nick of the person on the other end of the connection, the current state of that connection and any other information associated with that connection. See Also: DCC CLOSE =========================================================================== Usage: DCC RAW After a connection has been established with the $CONNECT() function DCC RAW is used to talk to that connection. $CONNECT(HOST PORT) returns the (fd) of the connection which is then used by DCC RAW. E.g: ALIAS socktest ECHO $connect(host 7) Which will echo the file descriptor. Then send messages to it with: DCC RAW fd host message These will be echoed back at you by the remote host. Incoming messages can be intercepted with ON DCC_RAW. See Also: ON DCC_RAW ALIAS FUNCTIONS =========================================================================== Usage: DCC RENAME [ [ ...]] DCC RENAME renames a file prior to a DCC GET from filename1 to filename2. If filename1 is not specified, the oldest file connection to the given nick is renamed. See Also: DCC GET DCC LIST =========================================================================== Usage: DCC SEND DCC SEND initiates a file transfer by direct client connection. The recipient must accept your offer of a file transfer with DCC GET. See Also: DCC GET =========================================================================== Usage: DCC TALK [@] DCC TALK initiates a talk connection to the user at the named host, or responds to one initiated by that user if one exists. Messages are sent across a DCC TALK connection with DCC TMSG or MSG @user See Also: DCC CHAT DCC TMSG MSG =========================================================================== Usage: DCC TMSG [@] DCC TMSG sends a message across a talk connection to the given user. If only one connection with the given username exists, the host need not be supplied. Another way of doing this is with MSG @user[@host]. See Also: DMSG MSG DCC TALK =========================================================================== DEOP: Usage: DEOP Removes your IRC operator status. See Also: OPER MODE =========================================================================== DESCRIBE: Usage: DESCRIBE | This command can be used to send a description of what you are doing or how you are feeling or just about anything concerning you, to the person or channel you pass as first argument. DESCRIBE BigCheese takes a flask of whisky out of the fridge. is supposed to produce a line on BigCheese's screen stating: * Lynx takes a flask of whisky out of the fridge. This command makes use of CTCP and is not understood by all clients. If you get an error message, your description has not arrived properly. See Also: ME LOAD ACTION LOAD MUDLIKE CTCP CTCP ACTION CTCP CLIENTINFO =========================================================================== DIE: Usage: DIE Causes your server to exit, die, pack it in, give up the ship, kick the bucket, etc. DIE is a server operator command. 2.8 Servers: DIE may not work anymore on 2.8 servers. =========================================================================== DIGRAPH: Usage: DIGRAPH [- [ ...]] A command for maintaining the internal digraph table. See BIND ENTER_DIGRAPH for information on entering digraphs. Use the DIGRAPH command without any arguments to display the current digraph table. Note that if you are using a map other than Latin-1, (your TRANSLATION variable is set to something else than LATIN-1), many characters might be converted on the screen to something that your terminal is capable of displaying. Available flags: -ADD Adds a digraph to the table, where and are the two characters that should result in the digraph represented by the character . The arguments can be given in several formats. DIGRAPH -ADD a b c will result in a digraph entry for the letter "c", that will be given by composing the letters "a" and "b". DIGRAPH -ADD a b !c would result in a digraph entry for the letter represented by an "a" with a tilde above, which is the same as "c" with MSB (bit 8) set in the ISO 8859/1 map. The very same result is achieved with DIGRAPH -ADD 61 62 227 thus giving the values in directly in decimal. All modes can be combined. -REMOVE Removes a digraph entry in the table, in a similar fashion as DIGRAPH -ADD. -CLEAR Removes ALL digraph entries from the table. Use this command only if you know what you are doing. It's primary use is when loading the .ircrc file. If you do any changes in the digraph table, using -ADD, -REMOVE or -CLEAR flags, they will be recorded in your .ircrc file if you chose to save it. See Also: BIND ENTER_DIGRAPH SET TRANSLATION =========================================================================== DMSG: Usage: DMSG DMSG is an alias for MSG =, and as such sends a message across a DCC CHAT connection. If you don't install the 'script' directory then this command will not work. See Also: MSG DCC CHAT =========================================================================== DQUERY: Usage: DQUERY [] DQUERY is an alias for QUERY =, thus allowing you to QUERY a DCC CHAT connection. See Also: DCC CHAT MSG QUERY =========================================================================== ECHO: Usage: ECHO [] This simply displays all of it's arguments. However, it's not that simple. ECHO will work even if DISPLAY is set to OFF, making it useful in your .ircrc file. Also, ECHO will work in the action portion of an ON command in all modes. This can be used to redefine the way messages appear. See Also: ON SET DISPLAY XECHO =========================================================================== ENCRYPT: Usage: ENCRYPT [| []] ENCRYPT allows you to hold an encrypted conversations with a person or a whole channel. Once a nickname/channel and key is specified, all messages you send to that nickname/channel will automatically be encrypted using the given key. Likewise, any messages from that nickname/channel will automatically be decrypted. ircII is smart enough to know if the incoming message isn't encrypted and will not attempt to decrypt it. If you received an encrypted message from someone for whom you haven't specified a key, it will be displayed as [ENCRYPTED MESSAGE]. The can be any text which is to be used an they key for encryption/decryption of the conversation. It is up to you and the people you wish to talk to about how to agree upon a key and how to communicate it to one another. For example, if user CheeseDog wishes to talk encryptedly with user DogCheese, they must first agree on an encryption key (case sensitive), say foo. Then user CheeseDog must issue a ENCRYPT DogCheese foo and user DogCheese must issue a ENCRYPT CheeseDog foo Thereafter, all messages sent between CheeseDog and DogCheese will be encrypted and decrypted automatically. If ENCRYPT is given with a nickname but no key, then encrypted conversation is ended with that user. If ENCRYPT is given with no arguments, the list of encrypted user and keys are displayed. IrcII uses a built in encryption method that isn't terribly secure. You can use another if you so choose, see SEE ENCRYPT_PROGRAM for information about this. If you are sending encrypted messages to a user or channel, you can toggle it off and on in a message line by inserting the control-E character in the input line. This is usually done by hitting control-Q then control-E. An inverse video E will appear in the input line. Note: Control-q is bound (see BIND) to quote_character by default. It is frequently necessary to change this to some other char. See Also: SET ENCRYPT_PROGRAM =========================================================================== EVAL: Usage: EVAL EVAL passes the commands through the inline parser and executes them. This means that variables are expanded, and ;'s are honored. Note: You HAVE to use EVAL in a script if you want it to expand aliases and vars while it loads. The value of INPUT_ALIASES is ignored when loading scripts. See Also: LOAD SET INPUT_ALIASES =========================================================================== EXEC: Usage: EXEC EXEC -NAME EXEC -OUT [%| [%|] EXEC -NOTICE [%|] EXEC -IN % EXEC -WINDOW [%|] EXEC - % EXEC -CLOSE % EXEC allows you to start subprocesses in ircII and manipulate them in various ways. You can start multiple subprocesses simultaneously and access them via a process number assigned by ircII. You can list all currently running subprocesses by using EXEC with no parameters. The process id of a process is the number assigned by ircII for that process, or the name of the process given by the -NAME flag. If a NAME is given to a process, that name may be used anyway in place of the process number assigned by ircII. The first form of EXEC will simply start a subprocess and send it's output to your display. The second form tells IRCII to send the output of the process to your current channel. For example: EXEC -OUT ls sends the output of ls to your channel. EXEC -OUT %1 tells ircII to send the output of subprocess 1 to your channel. Subprocess 1 must exist already by a previous call to EXEC. The third form is much like the second, except that it sends to the specified nickname or nicknames (the format of the nicknames is the same as for MSG). As with the second form, you can start a subprocess with -MSG, or you can change an already running process to send it's output to the given nicknames. The fourth form is identical to the first, except the messages are send as NOTICEs not as PRIVMSG's. The fifth form lets you send a line of input to a running subprocess. For example: EXEC -IN %shell This is a test. Sends "This is a test." to subprocess 0. This processes must have previously been started with a call to EXEC -NAME shell. An alternate method of sending text to processes is using the MSG or QUERY command. In the place of a nickname, you may specify %n, when n is a current running processes id. For example: MSG %shell This is a test. is equivalent to the previous example. The sixth form lets you specify that you want all output from the process to go to the current window. Normally, output from processes goes to whichever window has a level setting of CRAP. This locks the output into the current window. EXEC -WINDOW %1 Sends the output of process 1 to the current window. The last form lets you send various signals to subprocesses. The allowable signals are: HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 USR2 What these signals do depends on the process running, etc. EXEC -KILL %0 Sends a KILL signal to process 0, forcing it to exit immediately. If you want to read more about these signals, do a "man kill" at your shell prompt. The last form is for really ornery processes that simply won't die. Sometimes this is because an EXEC'd process has forked off subprocesses which don't die when you use -KILL (or other flag). Doing a: EXEC -CLOSE %0 closes all of ircII's connections to that processes. This means that even if the processes is still sending output you won't see it. This also means (in most cases) that the process will be killed by a SIGPIPE when it tries to send to ircII. See Also: SET SHELL SET SHELL_FLAGS SET SHELL_LIMIT SET NOTIFY_ON_TERMINATION =========================================================================== EXIT: See QUIT for more information about EXIT. =========================================================================== FLUSH: Usage: FLUSH Flushes all pending output from the server. This has the effect of stopping long lists from the server, such as a LINKS command which can get quite lengthy. It also flushed any output pending from the client itself. It is useful for wiping away anything pending when you have HOLD_MODE set. =========================================================================== FOREACH: Usage: FOREACH { } This causes to be executed once for each element in the structure. The aliases inside the {} are not expanded until execution unless the leading { is quoted like \{ Here are a couple examples of basic foreach commands. assign blue.1 one assign blue.2 two assign blue.3 three foreach blue ii { echo $ii $blue[$ii] } will return 1 one 2 two 3 three FOREACH can also be imbedded such as in the following example. assign blue.1.1 one one assign blue.1.2 one two assign blue.2.1 two one assign blue.2.2 two two alias showblue { foreach blue ii { foreach blue.$ii jj { echo $ii $jj $blue[$ii][$jj] } } } And /showblue returns.. 1 1 one one 1 2 one two 2 1 two one 2 2 two two Note: When using this format the {} in the foreach must be on separate lines by themselves. This is true for IF and WHILE as well. Notice that variable names 'ii' and 'jj' were used. Any name can be used for the index but keep in mind that single letter vars can interfere with the built in single char vars. See ALIAS special See Also: expressions ALIAS special =========================================================================== HELP: Usage: HELP [ []] Shows help on the given command. The help documentation is set up in a hierarchical fashion. That means that certain help topics have sub-topics under them. For example, doing HELP ADMIN gives help on the admin command, while: HELP SET gives help on the set command and also displays a list of sub-topics for SET. If you are using a help service, like help_US or help_AU, then to get help on the subtopics, you would do: HELP SET where is one of the subtopics. If you are using the built in help, then you need only type the subtopic name. The input prompt will indicate what help level you are on. Hitting return will move you up one level. At any time, you can specify a ? to get a list of subtopics without the associated help file, for example: HELP ? gives a list of all main help topics. The following: HELP BIND ? gives the list of all BIND subtopics. If you use a ? with a topic that has no subtopics, you will simply get the standard help file for that topic. Note: Case is unimportant even when viewing the lower case filenames such as 'newuser' or 'intro'. See Also: intro =========================================================================== HISTORY: Usage: HISTORY [] Displays the command history to the screen. You can specify the number of history entries you wish to view as well. See Also: SET HISTORY =========================================================================== HOOK: Usage: HOOK This command sends in such a way that it can be caught by ON HOOK "anything you want" or any regular ON syntax. E.g. if you have ON HOOK * echo one $* three and you send HOOK two it will display "one two three" as the ON is activated. This is useful if you want to put a special hook in a script or alias that you can act upon with an ON HOOK or ignore at will. See Also: ON ON HOOK =========================================================================== IF: Usage: IF () {} [{}] IF tests the value of the variable expression for truth. An expression is true if it is either a non empty string or a non zero number. If the expression is true, the true-commands are executed. If it is false, and the false-commands are given, they are executed. Usually the expressions will be formed by using combinations of the following: ( exp ) ( exp1 ^^ exp2 ) ( exp1 == exp2 ) ( exp1 >= exp2 ) ( exp1 != exp2 ) ( exp1 <= exp2 ) ( exp1 > exp2 ) ( exp1 || exp2 ) ( exp1 < exp2 ) ( exp1 && exp2 ) Here exp is evaluated as though it were in ${} which means that if (blah) expands the contents of $blah. Numbers are treated as constants and thus to expand $0 it must be passed to the regular parser with []. eg. IF ([$0]) ... IF (!exp) is also possible which will negate a number or a string. In the other expressions, if both exp1 and exp2 expand to numbers, then the following cause true-command to be executed: == if exp1 is equal to exp2 != if exp1 is not equal to exp2 > if exp1 is greater than exp2 < if exp1 is less than exp2 >= if exp1 is greater than or equal to exp2 <= if exp1 is less than or equal to exp2 ^^ Logical XOR of exp1 and exp2 (1 ^^ 1) == 0 (1 ^^ 0) or (0 ^^ 1) == 1 || Logical OR of exp1 and exp2 && Logical AND or exp1 and exp2 Otherwise, false-command (if present) is executed. If both exp1 and exp2 are non-numeric, then the above operations are string value comparisons. And for the logical operations A NULL string is treated as 0 with the possible exception of the ^^ operator. To put a string in an expression it must be passed to the regular parser with []. eg IF ([string1] == [string2]) .. All string comparisons are case-insensitive: so ([Hello]==[HELLO]) is true. Examples: IF (C) { set input_prompt $C } { set -input_prompt } IF (C!=0) { set input_prompt $C } { set -input_prompt } Both of the above evaluate the same way, since $C will either expand to your current channel or 0 if none. Notice the (C) format which means that it will expand exactly like ${C}. $ expansion is always performed on the contents of an the true-commands and false commands, regardless of the setting of the INPUT_ALIASES variable. IF (USER==[ms5n]) { echo Hello Mike! } { echo Who the hell are you? } This example will look for an ASSIGN'd variable named USER, and if found replace it and compare to ms5n. If no ASSIGN'd variable exists, it will check the environment variables for USER and return that. IF (index > max*2) { echo Limit reached } This checks the ASSIGN'd variable against the ASSIGN'd variable max times 2 and displays "Limit reached" if the first is greater than the second. It does nothing if this is not true. IF's can now be imbedded within each other. It is inconvient to write it out on a single line, so I will show the format needed in a script file. if (time() - lasttime > 600) { if (thud == [gone home]) { echo Bill went home over ten minutes ago echo $stime($time()) } { echo Bill is still here. } } This will first expand the function time() and the ASSIGN'd var 'lasttime' to their current values, subtract (seconds) and see if its more than 600 seconds, (10 minutes). If that is true, then it checks to see if the ASSIGN'd var 'thud' equals the string "gone home". If that is ALSO true then it will echo "Bill went home over ten minutes ago" and the current date and time. If the second IF is not true then it will display "Bill is still here.". Note there is no 'false' clause for the first IF. See Also: @ FOREACH WHILE expressions =========================================================================== IGNORE: Usage: IGNORE [] [-|+|^][] IGNORE [] [-][] The standard form of IGNORE allows you to specify which type of messages you wish to ignore from a user. The message type parameter can be one of the following: MSGS All MSGs received NOTICES All NOTICEs received PUBLIC All normal channel conversation INVITES All INVITEs received WALLOPS All WALLOPS received NOTES All NOTEs received CTCP All CTCPs received CRAP Anything else ALL All of the above message types NONE No message types You can ignore by nickname or by specifying a userid@hostname format. Wildcards may be used in all formats. You can specify multiple types of messages to ignore on the command line. Preceeding a type with a - indicates removal of ignoring of that type of message. For example: IGNORE BigCheese MSGS INVITES ignores MSGs and INVITES from BigCheese. IGNORE *@*.cmu.edu ALL -NOTES ignores all types of messages except NOTES from anyone from CMU. You may also specify a + before any message type to cause messages of that type from that user to be displayed with the nickname highlighted. (See SET HIGHLIGHT_CHAR) For example: IGNORE *Cheese* +MSGS will cause all MSGs from anyone with Cheese in their nickname to appear with their nickname highlighted. IGNORE * +PUBLIC +NOTES will highlight all PUBLIC messages and NOTES received. The + has no effect with the user@host name format. If you specify a ^ before a message type, then messages from the matching nicknames will be displayed no matter what. This allows you to exclude certain nicknames from larger matching lists. For example: IGNORE * MSG IGNORE BigCheese ^MSG This will ignore private messages from everyone except BigCheese. All forms of IGNORE use the - to remove ignore attributes, and the type NONE will remove the user from the list completely. All forms of IGNORE will match against the nickname with the most true matching characters. What this means is if you have: IGNORE BigCheese MSGS IGNORE * +ALL Then MSG's from BigCheese will be ignored, and all other types of messages from BigCheese will be unaffected. All messages of all types from any other user will be highlighted. See Also: SET HIGHLIGHT_CHAR =========================================================================== INFO: Usage: INFO [] Shows information about the IRC creators, debuggers, slaves and a lot of other people who no longer have much to do with irc. =========================================================================== INPUT: Usage: INPUT "" Where it displays "prompt" and then calls command, with args, and with the line prompted for as $*. The use of this is strongly encouraged over the use of variable $"..". Similar problems that occur in /wait. E.g: ALIAS ex INPUT "Enter shell command >" exec $$* =========================================================================== INVITE: Usage: INVITE [] Invites another user to a channel. If no channel is specified, your current channel is used. To go to the last channel to which you were INVITEd, use JOIN -invite See Also: JOIN =========================================================================== JOIN: Usage: JOIN [-INVITE| []] Changes your current channel to the channel specified. If no parameters are given, your current channel is displayed. Channel names begin with a # or & and may contain any character except space, carriage return, null and line feed. For example, #My_Channel, # or #!@$%^&* are valid channel names. Channel names beginning with the character '&' are local to your server. If the specified channel does not already exist, it will be created. Otherwise, if MODE +k is enabled on the channel, you will have to supply the to complete join. Available flags: -INVITE If the -INVITE switch is used, you will join the channel that you were last INVITED to. Or, if we wish to be grammatically correct, you will join the channel to which you were last invited. Note: Joining a channel does not cause you to leave your previous channel unless NOVICE is set to ON. See SET NOVICE If you have NOVICE off, it is possible to join several channels at the same time.. with JOIN #channel1,#channel2,#channel3 You must use commas and no spaces to separate the channel names. CHANNEL and JOIN are identical. See Also: SET NOVICE MODE for information about changing channel characteristics. =========================================================================== KICK: Usage: KICK *| [] Kicks specified user off a given channel. Only channel operators are privileged to use this command. Channel operator privileges can be given to other users of channel using: MODE +o and taken away with: MODE -o KICK * is just like the first usage but it always specifies the current channel. So KICK * idiot will kick 'idiot' off your current active channel. KICK can be very effective if used in a combination with MODE #channel +i and possibly MODE #channel +b. First line of defense should be IGNORE and KICK then then the channel can be made invite only, and if all else fails a person can be banned from the channel. The is to supply some reason for the kick to the user affected as well as to other people on your channel. IMPORTANT NOTE: Be careful with your use of KICK and MODE #channel -o as they can throw the network permanently out of sync. This generally occurs when two people are bickering about channel op status and de-op each other. This generates 'Fake MODE' notices which are an indication that something is wrong. The best way to avoid this is to not use ON and MODE together. See Also: MODE IGNORE =========================================================================== KILL: Usage: KILL Removes a person from irc. This is an operator command and should be used with extreme caution (if at all). The comment is necessary to let others the reason for the kill. If you don't give a comment, you will probably be bombarded with messages saying "why the kill?" Regarding so called 'ghosts'. These are generated typically when someone accidently does a shell escape out of irc, (see BIND STOP_IRC) and they start a new process. They think the old one is a 'ghost'. The way to get rid of these ghosts is to QUIT the current session and type 'ps -gx' or 'ps -f' at the unix command prompt. This will generate a listing looking something like. unix> ps -gx PID TT STAT TIME COMMAND 15472 p8 S 1:20 irc Daemon Where all the user has to do now is type unix> kill -9 15472 and the problem is fixed. This is preferable to the IRC KILL command which is not 100% effective. kill -9 is. If you cannot manage to get the above to work, try typing at the unix command prompt: kill -9 -1 This will often kill all your processes, then you only have to log in again. With the advent of auto-reconnecting clients KILL is almost totally worthless as a tool for punishment. More effective methods to deal with obnoxious people are the IGNORE, KICK and various MODE's on channels, such as +i and +b. See Also: MODE IGNORE =========================================================================== LASTLOG: Usage: LASTLOG [] [[]|[ []]] Displays the contents of the lastlog. This is a list of the most recent messages that have appeared on the screen. LASTLOG is useful to redisplay the screen if you inadvertantly do a CLEAR or miss messages for other reasons. If no arguments are given, the entire lastlog is displayed. If the first argument is a number, it determines how many log entries to show. Otherwise it is searched for in every lastlog entry. The second argument determines how many lines back to start display from. Thus LASTLOG 4 8 Shows 4 lines of the lastlog, starting at line 8... lines 8, 9, 10, 11 are displayed. Furthermore: LASTLOG bigcheese displays only those lastlog entries that contain the word "bigcheese". Available flags: You can further limit the display of the lastlog by specifying one of the following flags: -PUBLIC Normal channel messages -MSG Private messages -NOTICE Notices -NOTE Notes -WALL Walls -WALLOP Wallops -CRAP Anything not included in the other categories The lastlog will only display messages of the type specified by the flag. See Also: SET LASTLOG SET LASTLOG_LEVEL =========================================================================== LEAVE: Usage: LEAVE Leave a channel. This is used to leave a single channel. It no channel is specified your current active channel is assumed. LEAVE * also assumes your current channel. PART and LEAVE are identical. See Also: JOIN SET NOVICE =========================================================================== LINKS: Usage: LINKS [[] ] Shows all of the servers currently connected to the IRC network. If is specified, LINKS shows any servers that match the given expression. If a is specified, it's asked for the relevant information. LINKS *.au coombs* will query whatever server is calling itself *.au for a list of servers matching coombs*, then send the information back to you. =========================================================================== LIST: Usage: LIST [ []] [] LIST gives you a listing of channels which includes channel name, number of users, and a topic (if one is set). If no channel is specified, all channels are shown, otherwise only channels that match are displayed (the channel may contain wildcards) If the channel given is the character "*" LIST only returns the information for the current channel. The displayed list may also be limited by using one or more of the following flags: -MIN n When n the minimum number of user. Channels with less than n users are not shown. -MAX n When n the maximum number of user. Channels with more than n users are not shown. -PUBLIC Only shows Public channels -PRIVATE Only shows Private (*) channels -ALL Overrides previous -PUBLIC and/or -PRIVATE -TOPIC Show channels with topic set -WIDE Shows channel names and sizes in as little space as possible. Listing can be sorted using: -NAME Sort by name of the channel -USERS Sort by number of users in the channel =========================================================================== LOAD: ACTION EDIT KICKMENU NEMESIS SMILEYS ALIAS ENGLISH KILLPATH NETSPLIT TABKEY AUTOOP EVENTS KPSTAT NICKS TIME BASICAL EXTENSIONS LIST OLDPING TRACES BIGCHEESE FINGER LOAD OPER TROY BRC FINGER.WHO LOCAL PREFIX VERSION CHANNEL FLOOD LOG RECURSION VOICE COLUMNS FNET LYNX_IRCRC REPEAT WALLOPSTAT COMMANDER FUNCTIONS META1 SCREEN WHOWAS CURSOR HISTORY META2 SERVICE WINDOW DEUTSCH IRCIIHELP MSG SHELL suggestions DISC IRCPRIMER MUDLIKE SILENT =========================================================================== Usage: LOAD action Several Multi-User-Dungeon-like aliases are defined here. They make use of the ME command, and are transmitted to the current channel or the current query via CTCP ACTION. Some incomplete client variants might not support this type of communication messages. These commands can be used with or without an adverb of your choice: APPLAUD BOUNCE CHUCKLE CLAP GIGGLE GRIN GROAN MOAN NOD PURR SCRATCH SHRUG SIGH SMILE WAVE WINK YAWN These act differently depending on presence of arguments: LAUGH [] SING [] The following can only be used without arguments. BOW BURP COUGH CRY GASP SCREAM SHIVER SNAP SNEEZE SNORE WHISTLE WIGGLE These instead, require a nickname as argument (or 'you' if you are in a /query): COMFORT CUDDLE HUG KISS LOVE PAT POKE SLAP SPIT THANK These can be used with or without a nickname: DANCE SHAKE Some of these commands use a possessive pronoun, the pronoun is generated at loading time depending on the setting of a variable 'GENDER'. If you care, you should include a line assign gender f (or 'm' for male) in your .ircrc before 'load action'. However sentences will make sense even if GENDER is undefined. New commands have been added which act like 'private-msg actions': PING [] and PONG See also: ME DESCRIBE =========================================================================== Usage: LOAD alias Aliases defined here are: MA Send another message to the person you last sent one. Same as: /m . MR Send a reply to the person who last sent you a msg. Same as: /m , WA Show the WHOIS of the person you last sent a message to. IA Invite the person you last sent a message to. UNALIAS An alias to unalias an alias ;-) UNSET An alias to unset a set.. huh? :) ALARM