1 HELP
  
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 fileare 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
1 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
1 channels
    
All channel names must begin with a "#" or "&". Channel names
that begin with a "&" are specific to the server that you are
on.
1 commands
     
All commands must be preceded by a "/".  All help entries that
are in UPPER CASE, are commands and should be preceded by the "/".
1 #
      
usage: # [<string>]
example: [# this is a comment line]
    
comment out a line - useful in scripts.
     
see commands
1 :
      
usage: : [<string>]
example: [: this is a comment line]
       
see comment
1 @
        
usage: @ var = some_expression
example: [@ a = [this is what i assign to a]]
         
assign a value to a variable.
          
see assign
1 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.
1 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
2 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.
2 functions
  
See the main topic: functions
2 quote[nd]
2 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
2 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.
1 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
2 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.
1 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
1 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.
  
2 BACKSPACE
        
bind the given character to a destructive backspace -
useful when you have terminal problems.
You may want to bind ^H to backspace.
2 BACKWARD_CHARACTER
         
moves the cursor backwards in the input line. (left arrow)
2 BACKWARD_HISTORY
          
get your previous command and put it in the input line.
2 BEGINNING_OF_LINE
          
put the cursor at the beginning of the input line.
2 BEGINNING_OF_LINE
  
Move the cursor to the beginning of the line.
2 DELETE_CHARACTER
  
Delete the character under the cursor and move everything to
the right of the cursor 1 character left.
2 END_OF_LINE
  
Move the cursor to the end of the line. (Typically ^E)
2 ERASE_TO_BEGINNING
  
Erase everything from the cursor position to the beginning
of the line (typically ^U).
2 FORWARD_CHARACTER
         
move the cursor to the right in the input line (right arrow)
2 FORWARD_HISTORY
       
Get your 'next' command. If you are at the end of the input
list, it will get your first command.
2 NOTHING
  
Used to unbind a key.
2 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
2 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.
2 REFRESH_SCREEN
  
Redraw the screen (typically ^R ^W or ^L).
2 SEND_LINE
  
End the current input line and process the current line.
2 STOP_IRC
  
Spawn from irc. Use eoj to return to irc.
2 TOGGLE_INSERT_MODE
  
Toggle between insert and overwrite mode.
2 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.
2 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..
1 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.
1 BYE
        
See quit for more information.
1 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.
1 CHANNEL
           
see JOIN for more information.
1 CLEAR
            
usage: CLEAR
         
Clear the current window.
1 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.
1 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.
1 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
2 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.
2 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.
1 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
1 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
 
2 GET
  
GET allows you to receive an incoming file from another user. You
can rename the file if you use the NEW_NAME paramater.
2 LIST
  
LIST will list all of the DCC connections that you currently
have, along with the status of each connection.
2 SEND
  
SEND allows you to send a file to another user.
2 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.
2 CLOSE
 
CLOSE will attempt to close the dcc connection (used for inactive
and active DCC's)
1 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.
1 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
1 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.
1 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.
 
2 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.
2 name
 
Give a name to the shell. Not currently useful.
2 out
 
Specify that the output of the exec should be sent to the current
channel.
2 msg
 
Specify that the output of the exec should be sent to the target
specified on the command line.

2 close
 
Close an exec that was left open by using the keep_open flag.
1 EXIT
   
see QUIT for more help on EXIT.
1 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.
1 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
1 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
1 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
1 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.
2 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.
1 INFO
  
usage: INFO
example: [INFO]
  
INFO will give you some information about the beginnings of
IRC.
1 INPUT[ND]
1 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
1 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
1 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
1 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 was 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)
1 LASTLOG
 
usage: LASTLOG [<flag> [arg]] [<pattern>|<number of entries>]
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
2 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.
2 NUMBER
  The maximum number of entries to show.
2 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.
1 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
1 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.
 
1 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
1 LOAD
 
usage: LOAD <filename>
 
executes the commands in file <filename> as if you had typed
then from the keyboard.
1 LUSERS
   
usage: LUSERS
   
LUSERS will tell you how many people are currently using IRC.
1 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
1 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:
 
    i           - channel is invite    
    k <key>     - Adds join key <key> to the channel.  Keys
                  can added or removed
                  [MODE <channel> -k <key>], but not changed.
    l <number>  - channel is limited, where <number> is the
                  maximum number of users allowed.
    m           - channel is moderated (only channel operators
                  talk)
    n           - No MSGs to the channel are allowed from
                  someone outside the channel.
    o <nick>    - Makes <nick> a channel operator.
    p           - channel is private.
    s           - channel is secret.
                  NOTE: On 2.8 servers you cannot set both +p
                  and +s
    t           - topic limits, only the channel operators may
                  change the topic
    v <nick>    - Gives someone a voice to talk on a moderated
                  channel.
 
  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)
 
  o        - IRC operator status. You may not turn this with
             mode. To assert operator status, you must use
             [OPER].
  w        - Receive WALLOP'S (messages directed at all
             operators.
  s        - Receive server notices. This includes KILL and
             notices about what is happening with links to the
             local server.
  i        - Render yourself invisible. This prevents you from
             being seen in WHO and WHOIS information, unless
             somebody specifies your exact nickname with
             WHOIS.
 
Attempting to avoid a ban placed on you may result in forcible
removal from IRC or being banned from your server.
1 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.
1 MSG
   
usage: MSG <nick> <message>
example: [MSG no_nick hello there]
  
MSG will send a private message to the given nickname.
1 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.
1 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.
1 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
1 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.
1 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 ; seperates 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
2 SERIAL_NUMBERS[ND]
 
Sorry, there is no documentation at this time.
1 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.
1 PART
   
see LEAVE for more information about PART.
1 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.
1 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.
1 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>.
1 REDIRECT[ND]
1 REHASH
 
Server operator command - if you don't know what it is, you
shouldn't be doing it.
1 RESTART
 
Server operator command to restart the server - you shouldn't
do it if you needed to look at the help for it.
1 SAVE
  
This command is still in a testing phase.
1 SAY
   
usage: SAY <message>
example: [SAY Hello everyone.]
  
SAY will send message to the current channel.
1 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
1 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.
2 servers
  
Some common servers: irc.escape.com
                     irc.colorado.edu
                     cs-pub.bu.edu
1 SET
  
usage: SET [<variable> [<newvalue>]]
example: [SET] OR [SET SEND] OR [SET SEND_IGNORE ON]
  
Set a bunch of different options.
2 AUTO_WHOWAS
 
If TRUE and you receive an 'unknown nickname' message, a
WHOWAS will automatically be sent to the server.
2 BEEP
 
If you don't want to hear beeps, turn this off.
2 BEEP_WHEN_AWAY
  
If TRUE and you are AWAY and someoen messages you, it will
be you.
2 CHANNEL_NAME_WIDTH
 
Specifies the default field width used when printing out channels.
2 DEBUG
 
Mainly used for debugging. set DEBUG 31 is a good level.
(I use SET DEBUG 2047)
 
2 DISPLAY
 
Turns the screen display on and off.
2 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.
2 HISTORY
 
Sets the size of the input history (the commands that
you enter).
2 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.
2 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.
2 INPUT_ALIASES
 
If TRUE, when you hit return, the text that you entered
will be passed through the inline parser.
 
see parseing
2 INPUT_PROMPT
 
Defines what your prompt should look like. The prompt
is passed through the inline parser.
 
see parseing
2 INSERT_MODE
 
If TRUE, and characters under the cursor in the input line
will be shifted to the right when you type.
2 LASTLOG
 
Specifies the number of messages that the client should
remember.
 
see LAST
2 LASTLOG_LEVEL
 
Specifies what types of messages should be remembered by the
client.
 
see LAST
2 LOAD_PATH
 
If you attempt to LOAD a file, the directories in LOAD_PATH
will be searched for the file.
2 LOGFILE
 
Specifies the default logfile for any newly created window.
  
see WINDOW
2 MAX_RECURSIONS
 
Sets the maximum number of times that an alias can be
recursively called.
2 NO_CTCP_FLOOD
 
If TRUE, multiple CTCP's in one message would be ignored.
If you turn this off, your client can be killed.
2 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.
2 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.
2 SHOW_END_OF_MSGS
 
If TRUE, the "End of list" messages will be displayed.
2 STATUS_AWAY
 
%A in status_format will be replaced by this string.
2 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.
2 STATUS_CLOCK
 
%T in status_format will be replaced by this string.
2 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
2 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.
2 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.
2 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.
2 STATUS_WINDOW
  
If you have multiple windows, the string will be inserted im place
of %W in status_format.
1 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.
1 SQUIT
 
SQUIT a server from the irc network. Don't use this unless you
know what you are doing.
1 STATS
  
usage: STATS [c|h|l|m|o|k|i] [<server>]
   
Left as a exerice for the reader.
1 TIME
    
usage: TIME [<server>|<nick>]
example: [TIME] OR [TIME penfold.ece.uiuc.edu]
     
TIME is functionally equivalent to DATE
1 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.
1 TRACE
  
usage: TRACE <nick>|<server>
 
Trace the path a message takes to get from you to the 
give nick or server.
1 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
1 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)
1 VERSION[ND]
1 WAIT[ND]
1 WHILE[ND]
1 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.
1 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.
1 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.
1 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.
2 BACK
 
window back will make the previous window the current window.
2 FORWARD
 
window forward will take you to the next window that you have created.
2 GOTO
  
window goto #, will take you to visible window #.
2 GROW
 
window grow x, will make the current window larger by x number of
lines if possible.
2 HIDE
 
window hide will hide the current window
2 HIDE_OTHER
 
window hide_other will hide all windows except for the current window
2 KILL
 
window kill will kill the current window
2 KILL_OTHER
 
WINDOW KILL_OTHER will kill all windows except the current window.
2 LEVEL
 
WINDOW LEVEL <x,y,z> will set the level of the current window to
x+y+z.
2 LIST
 
WINDOW LIST will list all of your windows.
2 LOG
 
WINDOW LOG [ON|OFF|TOGGLE] will turn window logging on or off.
2 LOGFILE
 
WINDOW LOGFILE <file> will set the file to log to.
2 NAME
 
WINDOW NAME <name> will set the name of the current window.
2 NEW
 
WINDOW NEW will split the current window into 2 seperate windows.
2 NEXT
 
WINDOW NEXT will make the next window on the screen the current
window.
2 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.
2 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
2 SHOW
 
WINDOW SHOW will show you the statistics for the current window.
2 SHRINK
 
WINDOW SHRINK <num> will attempt to shrink the current window by
num number of lines.
2 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.
1 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
1 XECHO[ND]
