CCTR IRC


| Site | Docs | Ref | Resources | Community   | FeedBack |
| Mail | Web | Software | Classes | FAQs |

    Welcome to DIRC! Many thanks to my beta-testers. Without you, i'd still be back working on 'on' :-)

    This client is always being changed, so any suggestions or bug reports are greatly appreciated. I can be reached at 'masdough@ubvms.cc.buffalo.edu'

    --->
    ---> Do not type in commands that someone else tells you to.
    --->

    NOTE: parts of this help file are from the UN*X ircII help.

    All irc commands must be preceeded with a '/'. Type '?' for a list of help topics.

    see command, parseing, intro


    Intro

    This help file is originally made by Douglas Lewis and has been edited by Jer Horwitz.

    The set "[" and "]" in the usage part of a help entry means that the stuff in between those 2 characters is optional.

    When the set [] is found elsewhere in a help entry, it means that the text between the 2 brackets should be typed as if it was a command.

    see commands


    Channels

    All channel names must begin with a "#" or "&". Channel names that begin with a "&" are specific to the server that you are on.


    Commands

    All commands must be preceded by a "/". All help entries that are in UPPER CASE, are commands and should be preceded by the "/".


    #

    usage: # [<string>]
    example: [# this is a comment line]

    comment out a line - useful in scripts.

    see commands


    :

    usage: : [<string>]
    example: [: this is a comment line]

    see comment


    @

    usage: @ var = some_expression
    example: [@ a = [this is what i assign to a]]

    assign a value to a variable.

    see assign


    ADMIN

    usage: ADMIN [<server>|<nick>]
    example: [ADMIN] OR [ADMIN penfold.ece.uiuc.edu]

    ADMIN will give you information about who runs a particular server. If you have trouble with a particular user, type:

    /admin nick_name

    and either /msg or mail one of the people on the list. If no server or nick is sepecified, your current server is used.


    ALIAS

    usage: ALIAS [[-]<alias_name> [<command>]
    example: [ALIAS tz join Twilight_Zone;say hi]

    ALIAS will create an alias for a list of command(s), so that all of the commands can be executed by issuing just a single command.

    If you place a - in front of the alias name, the alias will be deleted. If the alias does not start with a - and no commands are specified, then you will be shown the current contents of all aliases that begin with the alias_name that you specified.

    Multiple commands can be specified for an alias by seperating individual command with a ';'. Note that space is important when you use multiple commands.

    When an alias is executed, it is expanded according to the rules of parseing.

    Example: ALIAS hello msg $0 Hello $0, how are you.
    Then you can do:
    /hello no_nick
    And it will send:
    MSG no_nick Hello no_nick, how are you.

    ALIASes can have return values - commonly called functions.

    see ASSIGN, parseing

    return values

    If one of the commands directly executed by an alias ASSIGN's a value to FUNCTION_RETURN, then that value will be used as the return value for the alias.

    functions

    See the main topic: functions

    quote[nd]
    special

    When expanding aliases, there are some builtin aliases that will expand as follows:

    $, - expands to the nick of the person who last messaged you
    $. - expands to the nick of the person that you last messaged
    $: - expands to the nick of the person who last joined a channel that you are on
    $; - expands to the nick of the person who last said something on a channel that you are on
    $B - expands to the body of the last message that you received
    $C - expands to the name of the channel that you are currently talking to
    $I - expands to the channel that you were last invited to
    $K - expands to the current command character [usually the '/']
    $N - expands to your current nick
    $P - expands to 'o' if you are a chanop on your current channel
    $Q - expands to whatever you are currently querying
    $S - expands to the name of the current server
    $T - value of $Q if it is not the empty string, else expands to $C
    $V - expands to the version of the client
    $Z - expands to the current time 
    

    width

    If you would like an alias expanded to have a certain field width, you can use the form $[number]var - for example: $[5]C. If you do this, the channel_name ($C) will be shortened to 5 characters. If you specify a number greater than the length of the variable, it will be padded on the right with spaces. If you use a negative number for the width, the padding will be on the left.


    ASSIGN

    usage: ASSIGN [[-]<assign_name>] [<text>]
    example: [ASSIGN lame dork+1] OR [ASSIGN lame userhost()]

    ASSIGN lets you create user variables which are expanded in aliases when used in the format: $assign_name.

    Example:
    ASSIGN index 0
    assign = "0"
    ASSIGN index ${index+1} -- this will increment the variable.
    assign = "1"
    ASSIGN index $index+1
    assign = "0+1"

    see parseing, EVAL

    function_return

    usage: assign function_return some_return_value.

    Function_return is a special assign. This is used when you want to return a value from an alias.


    AWAY

    usage: AWAY [<message>]
    example: [AWAY] OR [AWAY Not here right now..]

    If <message> is not present, you will be marked as being here. If a <message> is specified, you will be marked as being away, with <message> given as the reason. If someone messages you when you are away, then will see whatever <message> you have set.

    see SET BEEP_WHEN_AWAY


    BIND

    usage: BIND [<key>|METAx|METAx-<key> [<function> [<param>]]]
    example: [BIND ^L parse_command clear]

    BINDS an irc function to a keystroke. If you need to bind a function to a series of keystrokes, then you must use meta-keys. For example, if you wanted to bind the function backspace to ^X^C then you would have to do something like:
    BIND ^X META1
    BIND META1-^C backspace

    Currently up to 9 META keys are supported. You should be careful that multiple keys aren't bound to the same META key. If there are, then there will be more than one way to get to the same function. Sometimes this is desireable, but most of the time it isn't.

    BACKSPACE

    bind the given character to a destructive backspace - useful when you have terminal problems. You may want to bind ^H to backspace.

    BACKWARD_CHARACTER

    moves the cursor backwards in the input line. (left arrow)

    BACKWARD_HISTORY

    get your previous command and put it in the input line.

    BEGINNING_OF_LINE

    Move the cursor at the beginning of the input line.

    DELETE_CHARACTER

    Delete the character under the cursor and move everything to the right of the cursor 1 character left.

    END_OF_LINE

    Move the cursor to the end of the line. (Typically ^E)

    ERASE_TO_BEGINNING

    Erase everything from the cursor position to the beginning of the line (typically ^U).

    FORWARD_CHARACTER

    move the cursor to the right in the input line (right arrow)

    FORWARD_HISTORY

    Get your 'next' command. If you are at the end of the input list, it will get your first command.

    NOTHING

    Used to unbind a key.

    PARSE_COMMAND

    Execute the test as if you had typed it in yourself on the command line. As an example, I use: /bind ^L PARSE_COMMAND clear

    QUOTE_CHARACTER

    Treat the next character as if it were not bound to anything. For example, if ^A is bound to some command and ^T is bound to QUOTE_CHARACTER, hitting ^T^A would produce a ^A in the input line.

    REFRESH_SCREEN

    Redraw the screen (typically ^R ^W or ^L).

    SEND_LINE

    End the current input line and process the current line.

    STOP_IRC

    Spawn from irc. Use eoj to return to irc.

    TOGGLE_INSERT_MODE

    Toggle between insert and overwrite mode.

    TYPE_TEXT

    Treat the text as if you had typed it yourself. Example: /bind ^I type ^U/msg So, when you hit the tab, it will clear your input line and print /msg for you.

    NOTE: see the 'tabkey' script that came with this client.

    METAx

    Where x is between 0 and 9, treat the character as a meta character. This is useful when you want to bind a command to a key sequence (not a single key). You can effectively bind the keypad keys on a vt terminal if you know what you are doing.
    Example:
    BIND ^[ META1 -- escape key
    BIND META1-O META2 -- some terminals use <esc>O
    BIND META1-[ META2 -- some terminals use <esc>[
    BIND META2-s PARSE_COMMAND echo You hit keypad-3.
    BIND META2-t PARSE_COMMAND echo You hit keypad-4.
    ..and so on..


    Functions

    The IRCII functions are substituted with the format $FUNCTION(arguments). A functions in an ALIAS which assigns a value to the FUNCTION_RETURN. For example,
    ALIAS DOUBLE assign function_return ${[$0]+[$0]}
    which is the same as:
    ALIAS DOUBLE @ function_return = [$0] * 2
    If you: ALIAS SHOWDOUBLE echo $DOUBLE($0) you can then do: showdouble 7 (and it should print out 14)

    The following are the builtin functions:

    $ALIAS(alias_name) - returns the contents of the alias specified
    $CONNECT(server port) - returns a channnel (-1 on error)
    $CONNECT_START(chan) - start reading from the channel specified
    $CURRTIME() - returns the current time
    $DECODE(string) - decodes a previously encoded string
    $ENCODE(string) - encodes a string (to alphabetic characters)
    $FCLOSE(file_id) - closes the given file_id (file descriptor)
    $FOPEN_READ() - NOT AVAILABLE.
    $FOPEN_WRITE(file append) - opens the file for writing. returns the file descriptor (-1 on error) The return value should is the file_id that $fwrite() and $fclose() use. If the append flag is not 0 and the file exists, it will be openned and any writes to the file will be appended to the end.
    $FWRITE(file_id crlf string) - writes the given string to the file associated with file_id. If crlf is non zero, it writes a carriage return at the end Returns the number of characters written.
    $INDEX(chars string) - returns the index of the first occurance of a character in CHARS in STRING. Returns -1 if no characters were found.
    $IP() - Returns the IP of the host that the client is running on.
    $ISCHANNEL(string) - returns 1 if the string is a channel. returns 0 otherwise.
    $ISCHANOP(nick chan) - returns 1 if NICK is a channel operator on CHAN. Returns 0 otherwise.
    $LEFT(num string) - returns the NUM leftmost characters in string.
    $LISTEN() - binds a socket descriptor. Returns the socked descriptor and port on success. Returns "-1 -1" on error.
    $LOGDCC(file is_send) - Log a dcc entry for the given file. If is_send does not equal 0, then it assumes that the the file is being sent to us. Requests are logged to/from the nick FTP.
    $MATCH(pattern word_list) - Returns the word number of the first word in word_list that matches the pattern. Pattern may contain the %,*,? wildcards. Word numbering starts at 1. Returns 0 on failure.
    $MID(start num string) - starting at character START in STRING, returns NUM characters.
    $MYCHANNELS() - returns a comma seperated list of all of the channels that you are currently on.
    $RAND(num) - returns a random number between 0 and num.
    $RIGHT(num string) - returns the NUM rightmost characters in string.
    $RINDEX(charlist string) - returns the index of the last occurance of a character in CHARLIST that is in string. returns -1 if no characters were found.
    $RMATCH(string pattern_list) - returns the index into PATTERN_LIST of the pattern that best matches STRING. returns 1 for the first pattern and returns 0 if no patterns match.
    $SRAND() - initialize the random number generator
    $STIME(time) - converts the integer TIME into a string
    $STRIP(charlist string) - strips all occurances of any character in CHARLIST from STRING.
    $TDIFF(time) - converts the time difference TIME into a string in the format: dd days hh hours mm minutes ss seconds.
    $TIME() - returns the current time as an integer.
    $TOLOWER(string) - returns the given string in lowercase.
    $TOUPPER() - returns the given string in uppercase.
    $USERHOST() - returns the user@host of the most recent message received from the server.
    $WINNUM() - returns the number of the current window.
    $WORD(num word_list) - returns the given word NUM from WORD_LIST.
    $WRITE(file_id crlf string) - writes the string to the file associated with file_id. If crlf is non zero, it writes a carriage return at the end. Returns the number of characters written. Returns -1 on failure.
    

    BYE

    See quit for more information.


    CD

    usage: CD [<directory>]
    example: CD [.irc], CD [-]

    Change your working directory. Useful for DCC. Note: it is sometimes neccessary to specify the full path when you attempt to change your directory.


    CHANNEL

    see JOIN for more information.


    CLEAR

    usage: CLEAR

    Clear the current window.


    COMMENT

    usage: COMMENT <string>
    example: [COMMENT This is a dummy line to split up a script file.]

    COMMENT, : and # are identical. Anything following COMMENT will be ignored. Useful in scripts.


    CONNECT

    usage: CONNECT <serverx> [<port> <servery>]

    Tell servery to connect to serverx on port <port>. If servery and port are not specified, it defaults to the local server and 6667.


    CTCP

    usage: CTCP <nick> <message>|FINGER|VERSION
    example: [CTCP no_nick FINGER]

    CTCP stands for client-to-client protocol. It has nothing to do with the server, so what works on one client may not work on another.

    Command usage varies depending upon the options. Common options: FINGER VERSION PING ACTION DCC CLIENTINFO

    see DCC, ME

    FINGER

    If you CTCP FINGER someone, the username and real name (sometimes) of the users will be returned to you. FINGER does not work for all clients.

    VERSION

    CTCP VERSION will tell the person that you send it to, to send back to you the version of the client that they are using.


    DATE

    usage: DATE [<server>|<nick>]
    example: [DATE] OR [DATE penfold.ece.uiuc.edu]

    DATE will give you the current time and date for a particular server. If a nick is specified, it will use the server that nick is currently on. I find this command most useful when measureing the lag between servers. [note: use ping instead]

    see PING


    DCC

    usage: DCC [chat|list|get|send] [<nick> [<file> [<new_name>]]]
    example: [DCC LIST]

    DCC makes a direct connection between 2 clients for the purpose of sending files or text. If you have problems with this, you should mail: masdough@ubvms.cc.buffalo.edu

    GET

    GET allows you to receive an incoming file from another user. You can rename the file if you use the NEW_NAME paramater.

    LIST

    LIST will list all of the DCC connections that you currently have, along with the status of each connection.

    SEND

    SEND allows you to send a file to another user.

    CHAT

    CHAT will attempt to open a private link with the nick specified. To send messages on the channel, use: MSG =nick some_msg -- where nick is the nick that you are dcc chatting with.

    CLOSE

    CLOSE will attempt to close the dcc connection (used for inactive and active DCC's)


    DESCRIBE

    usage: DESCRIBE <nick>|<channel> <description>

    This command is used to send 'actions' to a channel or a user.

    DESCRIBE no_nick slaps you.
    should appear as
    * your_nick slaps you.
    on the other persons screen.

    This command uses CTCP and is not understood by a few clients.

    see: ME, CTCP, ctcp.doc from cs.bu.edu.


    ECHO

    usage: ECHO <string>
    example: [ECHO Hello there.]

    ECHO's the text that you specify to the screen. It will work regardless of the setting of DISPLAY. Useful in scripts and on's.

    see: ON, SET DISPLAY


    EVAL

    EVAL passes the text through the inline parser before executing it. Useful for when you are entering commands on the command line.
    Example: /eval part $C --- leave whatever channel you are on.

    See parseing.


    EXEC

    usage: EXEC [-CLOSE|-KEEP_OPEN|-NAME name|-OUT|-MSG target] command

    Execute the command specified in a subshell. Useful if you need to do a quick command, but you don't want to exit out of irc to do it.

    keep_open

    Keep the exec shell open after the command is done executing, This is useful if you want to run more than 1 command in the same shell. If this flag is not specified, the shell will be closed as soon as the command is done executing.

    NOTE: some data may be lost if this flag is not used. This is a known problem.

    name

    Give a name to the shell. Not currently useful.

    out

    Specify that the output of the exec should be sent to the current channel.

    msg

    Specify that the output of the exec should be sent to the target specified on the command line.

    close

    Close an exec that was left open by using the keep_open flag.


    EXIT

    see QUIT for more help on EXIT.


    EXPAND

    Similar to EVAL, but it doesn't execute the command after it parses it. It just prints it to your screen. I find this useful for testing.


    FLUSH

    usage: FLUSH
    example: [FLUSH]

    FLUSH will kill all data coming from the server. This command is useful when you are receiving a long list of information from the server.

    see SET HOLD_MODE


    FOREACH

    usage: FOREACH <structure> <variable> { <command> }

    COMMAND will be execute for each variable that is in the structure.

    example:
    assign blue.1 one
    assign blue.2 two
    assign blue.3 three
    assign blue.lame dork
    foreach blue ii {echo $ii $blue[$ii] } will output:
    1 one
    2 two
    3 three
    lame dork

    see parseing


    IF

    usage: if (<expression>) {<true commands>} [{<false commands>}]

    Expression is evaluated and if it is non-null, then "true commands" are executed. If it is false and "false commands" are specified, then they are executed.

    To compare a string, enclose it in []. valid operators: ==, !=, >, <, >=, <=, ||, &&

    see parseing


    IGNORE

    usage: IGNORE [<nick>|<user@host> [level]]
    example: [IGNORE no_nick none]

    IGNORE will allow you to ignore message from a given nickname or username.

    level

    The available levels of ignore are: ALL, NONE, PUBLIC, MSG, NOTICE, WALL, WALLOP, ACTIONS, DCC, CRAP. Without a level, IGNORE will tell you what level you are currently ignoring the given nickname for.


    INFO

    usage: INFO
    example: [INFO]

    INFO will give you some information about the beginnings of IRC.


    INPUT[ND]


    INVITE

    usage: INVITE <nick> [<channel>]
    example: [INVITE no_nick #eyes]

    INVITE will invite a user to the given channel. If no channel is specified, then the user will be invited to the current channel. If the MODE for the channel is +i, then you have to be channel operator to INVITE someone.

    see MODE


    JOIN

    usage: JOIN <channel> [<key>]
    example: [JOIN #eyes]

    JOIN will change your current channel to the one that you specified.
    NOTE: If you join more than one channel, whatever you type will go to the more recent channel. To get back to an older channel, you can either JOIN it again, or LEAVE the current channel.

    see channels


    KICK

    usage: KICK <channel> <user> [<comment>]
    example: [KICK #twilight_zone tychy SeeYa]

    KICK will kick the specified user off of the given channel. Only channel operators can use this command. You can also specify * as the channel name to specify the current channel you are on. The <comment> supplies a reason for the KICK to the user that you are kicking as well as to the others on the channel.

    NOTE - This command should be used with caution, as it can throw the network out of sync. Play nice.

    see MODE


    KILL

    usage: KILL <nickname> <comment>
    example: KILL dweeb propagating FAKE notices

    KILL removes a person from IRC altogether. This is an operator command and should be used with a good deal of restraint. The <comment> is not only proper etiquette, but you will more than likely be killed yourself if you fail to leave a valid reason.

    Regarding user requests for a KILL. Irc Operators will not kill a users 'ghost' or stuck process, nor should they. A far more effective means is to take care of the process yourself. The way to do this is as follows:

    To kill a ghost of yourself, do: CTCP OtherNick PID, get the number shown to you and then type: STOP/ID=<the PID number> from your VMS prompt. (or optionally /exec stop/id=the_pid)

    From Unix prompt- ps x, find the irc process, then type: kill -9 <PID number> If you can't get that to work, try 'kill -9 -1' (this may kill you as well)


    LASTLOG

    usage: LASTLOG [<flag> [arg]] [<pattern>|<number ofentries>]
    example: LASTLOG -msgs -pattern no_nick

    LASTLOG displays the contents of the lastlog buffer. This is a list of the most recent text that has appeared on the screen. If no arguments are given, the entire lastlog is displayed. If the first non-flag argument is a number, it determines how many log entries to show.

    Available Flags:

    -PUBLIC Normal channel messages
    -MSG Private messages
    -NOTICE Notices
    -NOTE Notes
    -WALL Walls
    -WALLOP Wallops
    -CRAP Anything not included in the other categories
    -NUM # alternate way to enter the number of entries to display.
    -PATTERN <word> The search string.
    -MAX_DEPTH # The maximum number of lines to go back and look through.

    see commands, SET LASTLOG SET LASTLOG_LEVEL

    PATTERN

    Specifies the pattern to look for in the text. If you want to search for a numeric pattern (i.e. 5) you must use the -PATTERN flag, or the number will be treated like the number of entries to show. Wildcard patters are acceptable. If you do not specify any wildcards, a * is prefixed and postfixed to the pattern that you specified. The searching pattern may be specified with the -PATTERN flag, or as the rest of the line after all flags are processed.

    NUMBER

    The maximum number of entries to show.

    MAX_DEPTH

    This specificies how many lines in the history we can go back. If you don't specify it, the entire history is valid. This argument is useful for really large lastlog's.


    LEAVE

    usage: LEAVE <channel>
    example: [LEAVE #eyes]

    LEAVE will make you leave the channel that you specify. If you are currently talking to that channel, a new channel will be picked (if you are on multiple channels.)

    see JOIN, channel


    LINKS

    usage: LINKS [[<server>] <wildcard>]
    example: LINKS *.edu

    LINKS shows all of the servers currently connected to the IRC network. If <wildcard> is specified then LINKS will show only the servers that match the given wildcard expression. If a <server> is specified then LINKS will only query the given server(s) in its search.


    LIST

    usage: LIST [<channel>]
    example: [LIST] OR [LIST #eyes]

    LIST will return the channel name, the number of users on the channel, and the topic for that channel.

    NOTE: [LIST *] will return the same information for the current channel.

    see channel


    LOAD

    usage: LOAD <filename>

    executes the commands in file <filename> as if you had typed then from the keyboard.


    LUSERS

    usage: LUSERS

    LUSERS will tell you how many people are currently using IRC.


    ME

    usage: ME <message>
    example: [ME looks around the room.]

    ME will print the message in the format: "* <YourNick> <message>." For example, the above example would print: "* no_nick looks around the room."

    see DESCRIBE


    MODE

    usage:
    MODE *|<channel> [+|-]<modechars> [<parameters>]
    MODE *|<channel>[+|-]b [<nick>[!<user>[@<host>]]]
    MODE <nick> [+|-]<umodechars>

    Mode command is quite complicated and it allows channel operators to change the channel mode, or any user to change their personal mode. For a channel mode, <modechars> is one of the following:

    A + or - sign determines whether the specified mode should be added or deleted. If you supply * as channel name, modes will apply to your current channel.

    The second form of the MODE command allows you to ban somebody from a channel. This is done by specifying a sting of the form nick!user@host.

    For example: MODE #eyes +b *!dalewis@*.buffalo.edu

    The third form of the MODE command allows you to modify your personal parameters. You can precede any combination of the following with + or - (+ to switch that mode on, - to switch it off)


    Attempting to avoid a ban placed on you may result in forcible removal from IRC or being banned from your server.

    MOTD

    usage: MOTD [<server>]
    example: [MOTD] OR [MOTD penfold.ece.uiuc.edu]

    MOTD will give you the message of the day for a particular server.


    MSG

    usage: MSG <nick> <message>
    example: [MSG no_nick hello there]

    MSG will send a private message to the given nickname.


    NAMES

    usage: NAMES [<flag> [<arg>]] [<channel>]
    example: NAMES #twilight_zone

    NAMES shows the nicknames of all users on all visible channels. If no channel is specified, all channels are shown, otherwise only matching channels are shown (wildcards are acceptible). If the channel specified is * then only the NAMES for your current active channel will be shown. The display of NAMES may also be moderated by the following flags :

    -MIN n Where n is the minimum number of users that must be on a channel for it to be shown.
    -MAX n Where n is the maximum number of users that can be on a channel for it to be shown.
    -PUBLIC Only shows public channels.
    -PRIVATE Only shows private channels.
    -ALL Overrides previous limiting flags.


    NICK

    usage: NICK <nick>
    example: [NICK funky_fresh]

    NICK will change your nickname to the nick that you specify, if someone is not already using that nick. The new nickname can be at most 9 characters long. If you get a message from NICKSERV, that means that you have picked a nick name that someone else has registered as their own. You can use that nick, but if the person that owns the nick requests the nick back for him/her self, you *should* change your nick to a new one.


    NOTICE

    usage: NOTICE <nick>|<channel> <message>
    example: [NOTICE no_nick Hello there.]

    NOTICE will send the given message to the nick or channel that you specify. NOTICE is the same as MSG except that automated messages can not be sent back from NOTICE's.

    see channels, MSG


    NOTIFY

    usage: NOTIFY [+|<nicklist>]
    example: [NOTIFY] OR [NOTIFY +] OR [NOTIFY no_nick ranlhach]

    Every 15 seconds, the client will automatically check to see if the people on your notify list are currently logged into IRC. NOTIFY without any paramaters will tell you which users are logged in, and which aren't. [NOTIFY +] will tell you which users are logged in. [NOTIFY <nicklist>] will add the nicks in the nick list (spaces between nicks) to your notify list.


    ON

    usage: ON [#][^|-|+]<event> [serial] [-|^]<string> <commands>

    If a message is received from the server that is of type TYPE and matches the string (string may contain wildcards) then the commands will be executed.

    + makes things noisy.
    - makes it quiet.
    ^ same as - but do not execute the default commands associated with the event. Be careful with this as you may screw up the internal database if you don't know what you are doing.
    NOTE: if # and <serial> are used, it will not prevent the default commands from being executed.

    <string> can either be a single word, or a phrase inside quotes. If <string> is preceded by a - it will DELETE the ON.
    NOTE: if the - is present and string is null [ON MSG -] all actions for that <event> will be deleted.
    The wildcards %, ? and * are used for matching <string> against the message from the server.
    % represents any text(one or more characters) accept a space.
    ? represents and single character.
    * represents anything (even nothing)

    <commands> should be a ; seperated list of commands. Each command is passed through the inline parser before being executed.

    If you have any problems with ON, mail masdough@ubvms.cc.buffalo.edu

    Events: ACTION, CONNECT, CTCP, CTCP_REPLY, DCC_CHAT, DCC_RAW, DISCONNECT, SEND_ACTION, SEND_PUBLIC, SEND_MSG, SEND_NOTICE, JOIN, LEAVE, MSG, PUBLIC, PUBLIC_OTHER, NOTICE, NICKNAME, INVITE, MODE, SIGNOFF, TOPIC, NUMERIC, RAW_IRC, NOTIFY_SIGNON, NOTIFY_SIGNOFF

    I suggest you experiment for now.

    see serial_numbers, parseing

    SERIAL_NUMBERS[ND]

    Sorry, there is no documentation at this time.


    OPER

    usage: OPER [<nickname> [<password>]]
    example: OPER matt foo

    OPER gives you operator priveleges if the correct nickname and password are given. If password is not given (the preferred method) then you will be prompted for one. If no nickname is given your current nickname will be substituted.


    PART

    see LEAVE for more information about PART.


    QUERY

    usage: QUERY [<nick>]
    example: [QUERY no_nick] OR [QUERY]

    QUERY without a nick or channel will stop the querying. All text that you type at the prompt will be sent to the given nickname, instead of the current channel.


    QUIT

    usage: QUIT [<message>]
    example: [QUIT I will be back later.]

    QUIT will quit you out of IRC and write the <message> to the channels that you are on when you QUIT.


    QUOTE

    usage: QUOTE <string>
    example: [QUOTE PRIVMSG #eyes :hello everyone!]

    QUOTE will send the string to the server as is. I.E. the client will not try to parse the <message>.


    REDIRECT[ND]


    REHASH

    Server operator command - if you don't know what it is, you shouldn't be doing it.


    RESTART

    Server operator command to restart the server - you shouldn't do it if you needed to look at the help for it.


    SAVE

    This command is still in a testing phase.


    SAY

    usage: SAY <message>
    example: [SAY Hello everyone.]

    SAY will send message to the current channel.


    SCROLL

    usage: SCROLL #lines
    example: [SCROLL 4]

    Physically scroll the screen the number of lines specified. Useful when you want to directly control the screens contents.

    See WRITE


    SERVER

    usage: SERVER <servername> [port]
    example: [SERVER penfold.ece.uiuc.edu]

    SERVER will attempt to connect to the given server. Only use this command when the server that you are using is currently unavailable.

    servers

    Some common servers:
        irc.escape.com
        irc.colorado.edu
        cs-pub.bu.edu


    SET

    usage: SET [<variable> [<newvalue>]]
    example: [SET] OR [SET SEND] OR [SET SEND_IGNORE ON]

    Set a bunch of different options.

    AUTO_WHOWAS

    If TRUE and you receive an 'unknown nickname' message, a WHOWAS will automatically be sent to the server.

    BEEP

    If you don't want to hear beeps, turn this off.

    BEEP_WHEN_AWAY

    If TRUE and you are AWAY and someoen messages you, it will be you.

    CHANNEL_NAME_WIDTH

    Specifies the default field width used when printing out channels.

    DEBUG

    Mainly used for debugging. set DEBUG 31 is a good level. (I use SET DEBUG 2047)

    DISPLAY

    Turns the screen display on and off.

    HELP_PATH

    Sets the directory of where the help file is. You should never need to change this. If you do, make sure you specify a full path.

    HISTORY

    Sets the size of the input history (the commands that you enter).

    HOLD_MODE

    If TRUE, when the screen is filled with messages from the server, any new messages will be put in an buffer. Hitting returns dumps another page of output to your screen. Useful for when you expect long lists from the server.

    HOLD_MODE_MAX

    Set the maximum number of messages to hold in the buffer. When this number is exceeded, all messages in the buffer are output to the screen.

    INPUT_ALIASES

    If TRUE, when you hit return, the text that you entered will be passed through the inline parser.

    see parseing

    INPUT_PROMPT

    Defines what your prompt should look like. The prompt is passed through the inline parser.

    see parseing

    INSERT_MODE

    If TRUE, and characters under the cursor in the input line will be shifted to the right when you type.

    LASTLOG

    Specifies the number of messages that the client should remember.

    see LAST

    LASTLOG_LEVEL

    Specifies what types of messages should be remembered by the client.

    see LAST

    LOAD_PATH

    If you attempt to LOAD a file, the directories in LOAD_PATH will be searched for the file.

    LOGFILE

    Specifies the default logfile for any newly created window.

    see WINDOW

    MAX_RECURSIONS

    Sets the maximum number of times that an alias can be recursively called.

    NO_CTCP_FLOOD

    If TRUE, multiple CTCP's in one message would be ignored. If you turn this off, your client can be killed.

    SCROLL

    If TRUE, when something is printed on the last line of the screen, the screen will be scrolled up. Otherwise, the cursor will be placed at the top of the screen and overwrite whatever is there.

    SEND_IGNORE_MESSAGE

    If TRUE and someone you are ignoring messages you, it will reply to them saying that you are ignoring them. I strongly discourage this option.

    SHOW_END_OF_MSGS

    If TRUE, the "End of list" messages will be displayed.

    STATUS_AWAY

    %A in status_format will be replaced by this string.

    STATUS_CHANNEL

    %C in status_format will be replaced by this string. If STATUS_CHANNEL contains a %C, it wil be replaced by whatever channel you are on. If you are not on a channel, STATUS_CHANNEL will be replaced with an empty string.

    STATUS_CLOCK

    %T in status_format will be replaced by this string.

    STATUS_FORMAT

    Specifies the format of the status bar. For every %x sequence - where x is a char, other STATUS information may be inserted.

    see SET STATUS_xxxxxxxx

    STATUS_HOLD_LINES

    %B in status_format will be replaced by this string. If STATUS_HOLD_LINES contains a %B it will be replaced by the number of lines that are being held. If no lines are being held, STATUS_HOLD_LINES will be replaced with an empty string.

    STATUS_MODE

    %+ in status_format will be replaced by this string. If STATUS_MODE contains a %+, it will be replaced with the current mode of the channel you are on. If you are not on a channel, STATUS_MODE will be replaced with an empty string.

    STATUS_QUERY

    %Q in status_format will be replaced by this string. If stats_query contains a %Q it will be replaced by the person you are quering. If you are not querying anyone, status_query will be replaced with nothing.

    STATUS_WINDOW

    If you have multiple windows, the string will be inserted im place of %W in status_format.


    SPAWN

    usage: SPAWN
    example: [SPAWN]

    SPAWN will allow you to temporarily leave IRC and put you at your main prompt. To get back to IRC, type EOJ. If you are spawned out for long, your connection to the server may be terminated.


    SQUIT

    SQUIT a server from the irc network. Don't use this unless you know what you are doing.


    STATS

    usage: STATS [c|h|l|m|o|k|i] [<server>]

    Left as a exerice for the reader.


    TIME

    usage: TIME [<server>|<nick>]
    example: [TIME] OR [TIME penfold.ece.uiuc.edu]

    TIME is functionally equivalent to DATE


    TOPIC

    usage: TOPIC [<channel>] [<new topic>]
    example: [TOPIC] OR [TOPIC #eyes] OR [TOPIC #eyes Wow dude!]

    You have to be on a channel to change the topic. If the channel mode is +t, then you must also be a channel operator to change the topic. TOPIC without a channel uses the current channel. TOPIC without a new topic will list the current topic for the channel.


    TRACE

    usage: TRACE <nick>|<server>

    Trace the path a message takes to get from you to the give nick or server.


    TYPE

    TYPE the text as if you had entered it manually. All control character should be preceeded by a ^. Example. TYPE ^U/msg masdough hi!^M


    USERHOST

    usage: USERHOST -cmd <command> <nick>

    Command will be executed when a response is seen to the userhost query. USERHOST should return the following information for the nick: server, username, away or here, ircop or not (other information may be returned)


    VERSION[ND]


    WAIT[ND]


    WHILE[ND]


    WHO

    usage: WHO [<pattern>]
    example: [WHO #eyes] or [WHO *buffalo*]

    WHO will list the users that are on IRC. If a pattern is specified, only those users that fit the given pattern will be returned.

    NOTE: [WHO *] will list the users on your current channel.


    WHOIS

    usage: WHOIS <wildcard>
    example: [WHOIS no_nick] OR [WHOIS *no*]

    WHOIS will give you a little more information about the user that you specify.


    WHOWAS

    usage: WHOWAS <nick>

    If someone signs off of irc and you are quick enough, you can do a whowas on their nick to find out who they were. The time that the information is still available is highly dependent on what else is happening on the net.


    WINDOW

    usage: WINDOW [<command> [<args>] <command> [<args>] ...]
    example: [WINDOW new hide server azure.acsu.buffalo.edu:new_nick]
    

    Window is still under construction, so not all options may work as you expect. I believe that most of the bugs have been worked out.

    BACK

    window back will make the previous window the current window.

    FORWARD

    window forward will take you to the next window that you have created.

    GOTO

    window goto #, will take you to visible window #.

    GROW

    window grow x, will make the current window larger by x number of lines if possible.

    HIDE

    window hide will hide the current window

    HIDE_OTHER

    window hide_other will hide all windows except for the current window

    KILL

    window kill will kill the current window

    KILL_OTHER

    WINDOW KILL_OTHER will kill all windows except the current window.

    LEVEL

    WINDOW LEVEL <x,y,z> will set the level of the current window to x+y+z.

    LIST

    WINDOW LIST will list all of your windows.

    LOG

    WINDOW LOG [ON|OFF|TOGGLE] will turn window logging on or off.

    LOGFILE

    WINDOW LOGFILE <file> will set the file to log to.

    NAME

    WINDOW NAME <name> will set the name of the current window.

    NEW

    WINDOW NEW will split the current window into 2 seperate windows.

    NEXT

    WINDOW NEXT will make the next window on the screen the current window.

    REFNUM

    WINDOW REFNUM num will make window number <num> the current window. If the window is hidden, it will swap it with the current window.

    SERVER

    WINDOW SERVER [server:port:password:nick] will attempt to connect the current window to the server you specify (with the given nick). ex. /WINDOW SERVER azure.acsu.buffalo.edu:::new_nick

    SHOW

    WINDOW SHOW will show you the statistics for the current window.

    SHRINK

    WINDOW SHRINK <num> will attempt to shrink the current window by num number of lines.

    SWAP

    WINDOW SWAP refnum, will attempt to swap the current window with the window specified by refnum. If window refnum is hidden, the current window will be hidden and the new window will be visible.


    WRITE

    usage: WRITE row col eol string example: WRITE 10 10 1 Hello there

    Write the string specified starting at the given row and column. If eol is non zero then clear from the starting position to the end of the line before writing the string.

    See SCROLL


    XECHO[ND]


    WebMaster@umkc.edu

    Information Services, Central Computing
    University of Missouri Kansas City