1 IRC

IRC, or Internet Relay Chat, is a server-client based conferencing
system. If defined with

	IRC :== $<full-file-spec>

then IRC can be run as follows:

	IRC <nick> <server> <port>

where <nick> is the nickname to be used, <server> is the address,
either IP or alphanumeric, of the server to connect to, and <port> is
the TCP/IP port number on the server to connect to, which is usually
6667.

2 ADMIN

The ADMIN command show administrative information about the current
server, or the server specified in the command line:

	ADMIN [server]

2 ALIAS

The ALIAS command allows the defining of new commands. These commands
will take precedence over hard-coded commands. Currently, only direct
string substitution is supported. No parameters to aliases, no special
characters for current channel, nickname etc.

	ALIAS [-][alias] [equivalence string]

Without parameters, lists all ALIASes. A - in front of an alias name
removes that alias. With an alias name, but no equivalence string,
lists that alias, or all aliases beginning with that prefix.

2 AUTHORS

The AUTHORS command lists the authors of the client, and a copyright
message.

2 AWAY

The AWAY command sets/clears the AWAY flag, and associated message. If
you are AWAY, then anyone sending you a private message (eg by /MSG or
/PRIVMSG) will receive the text you specify. AWAY with no parameters
clears the AWAY flag:

	AWAY [text]

2 BOLD

The BOLD command toggles bold mode...in bold mode, all text entered in
the input window is bold, as well as input from the user displayed in
the output window.

2 BROADCAST

When the terminal receives a broadcast message from the system,  eg
new mail arriving, a message from sysadmin, or someone calling on
phone, it is put in a broadcast window. The BROADCAST command toggles
the display of this window, which has the same effect as  <CTRL-B>.

2 BYE

The BYE command exits IRC. If [text] is specified, the signoff message
contains [text].

	BYE [text]

2 CHANNEL

The CHANNEL command is synonomous with the JOIN command, and joins one
or more channels seperated by commas:

	CHANNEL [chan1][,chan2][,chan3][...]

2 CD

The CD command changes the current working directory:

	CD [device:][[directory]]

2 CLS

CLS clears the output screen.

2 CLOCK

CLOCK displays a clock in the lower right-hand corner of the screen,
in hours and minutes.

2 CMDCH

CMDCH changes the command character. This is / by default, but can be
changed to anything. CMDCH on it's own resets the command character to
nothing:

	CMDCH [cmd-char]

2 CONNECT

CONNECT is an operator-only command, which tells a local or remote
server to try to connect to another server:

	CONNECT server [port] [remote-server]

2 COMMENT

COMMENT puts a comment on the screen, and in the log file, if one is
open.

	COMMENT [text]

2 CTCP

The CTCP (Client To Client Protocol) command sends a CTCP request to
the specified nickname or channel. Some standard CTCP requests are:

	CTCP nick request [other arguments]

3 Requests

CLIENTINFO ACTION TIME FINGER USERINFO VERSION

3 CLIENTINFO

Lists valid CTCP requests for that client.

3 ACTION

Sends an action, by appending the specified text to your name. 
See also ME.

3 TIME

Requests the time on the client's system.

3 FINGER

Shows account name, and idle time of the client.

3 USERINFO

Does very little, usually just sends a stupid reply.

3 VERSION

Returns client version.

2 DATE

DATE returns the time and date on the specified server, or the current
server if none is specified:

	DATE [server]

2 DCL

DCL creates a subprocess, and executes a command in that process,
displaying the output in a reverse video window in the top half of the
screen. It is possible, although not recommended, to read mail in this
way. "DCL mail" will enter the mail utility, then "DCL read/new" will
read new messages, and so on. DCL with no parameters toggles the
display of the DCL window:

	DCL [command]

2 DIE

DIE kills the current server. Requires IRC Operator status. 

2 ENTER

ENTER joins a channel, with an optional message being sent to the
channel on joining:

	ENTER channel [text]

2 ERRLOG

Currently does very little, but toggles logging of errors to the
logfile.

2 ERROR

Sends an error message to the local server:

	ERROR text

2 EXIT

Exits IRC, with an optional message to be sent to those on any
channels you're on:

	EXIT [text]

2 FKEY

The FKEY commands allows defining of keys as commands, but this
requires a decent VT terminal emulator. Keys that can be defined are
the numbers on the numeric keypad, when the terminal is in application
keypad mode, and normal alphabetic keys, accessed by pressing the
GOLD, or PF1 key (or it's equivalent in your emulator), then the
letter you have defined. If the first characters of the definition are
"!1", then the command specified is executed immediately, without
waiting for a return:

	FKEY key definition

	FKEY ? 

	shows the current key definitions.

3 Examples

	FKEY 1 !1/quit

This defines the keypad key "1" as /quit, and executes the command
immediately. This can be accessed by simply pressing one, assuming the
terminal is in application keypad mode, which is set when the client
runs.

	FKEY h /msg hottub 

This defines <GOLD-H> as "/msg #hottub ", and waits until return is
pressed before executing the command. This can be useful when you
regularly use several channels. To access this definition, press the
GOLD or PF1 key, which is the first of four keys just above the
numeric keypad, on a genuine VT-series terminal, and then the "h" key.

2 FLAGS

The FLAGS command displays various settings in the client, such as log
file, nickname, current channel, and much more.

2 FLUSH

Flushes incoming text that has not yet been displayed. Useful during
mass server kills, netsplits, etc. Also accessable from CTRL-\.

2 HELP

Display on-screen help. This lists each command, and a short
description of that command, in a series of screens. Type any
character to go onto the next screen, or CTRL-Z to exit help. Note,
this is VERY slow at modem speeds (ie 2400 and below).

2 HERE

The HERE command resets the AWAY flag and message. Equivalent to
typing in the AWAY command with no parameter.

2 INVITE

Invites a user to a channel:

	INVITE nick channel

2 INFO

Displays the information about the authors/contributors to the IRC
server.

2 INPSCROLL

The INPSCROLL command sets the number of characters to move the input
line back by when the line reaches the edge of the screen. The default
is 65, which works fairly well in general, but you should experiment
to see which value suits you best. Note that the smaller the number,
the slower scrolling is:

	INPSCROLL num

2 IGNORE

This allows a user to IGNORE all messages from a particular
nick!user@host, whether it's a /msg, join messages, kills, etc. This
will be modified in future to allow users to ignore a particular type
of message, rather than all messages:

	IGNORE [user@host | nick][,...]

2 JOIN

The JOIN command tells the server you wish to JOIN a channel,
providing the channel has been set up to allow anyone to join, or you
have been invited:

	JOIN channel[,channel][,...]

2 KICK

If you are a channel operator, you can KICK someone off the channel.
If no channel is specified, it defaults to the current channel:

	KICK [channel] <nick>

2 KILL

KILL removes someone from IRC. This command should be used with
caution, as it can be the cause of problems between operators if
misused. Requires IRC Operator status. 

	KILL <nick> <reason>

2 LIST

Shows the topic for a public channel, if set, and the number of
(visible) people on that channel. If no channel is specified, all
public channels are listed:

	LIST [channel]

2 LEAVE

The LEAVE command allows you to set an alarm to tell you when to get
off IRC. The format is a valid VMS delta or absolute time, eg:
dd-mmm-yyyy hh:mm:ss for absolute, or d hh:mm:ss for delta time, where
all fields must be included, but can be empty. eg, "-- 12::",
specifies 12pm, and whatever the current minutes and seconds are.
LEAVE with no time cancels an alarm:

	LEAVE [time]
2 LINKS

The LINKS command lists servers currently on the net, excluding those
that are behind host-masks. You can specify a particular server, or
use wildcards:

	LINKS [server]

2 LOG

LOG turns logging of the IRC session on or off. If you specify a
file-name, and logging is currently off, the client will open that
file and log output to it. If no file is specified, logging will be
turned off:

	LOG [file]

2 LUSERS

The LUSERS command displays current stats for IRC. It shows the number
of users on IRC, the number of operators, channels and servers, and
the number of users and server connected to the server. If a server is
specified, then stats for that server/wildcard is displayed, or if two
servers are specified, then the first server is used to get stats on
the server(s) specified in the second parameter:

	LUSERS [server] [server]

2 ME

ME sends an ACTION to the current channel. 

	ME <action>

2 MIRROR

Sends text reversed end-to-end to <nick> or the current channel.

	MIRROR <nick>|* <text>

2 MODE

MODE sets the mode of a channel, or your nick. MODE ? brings up 
a window describing the various modes you can use.

	MODE <channel> [param]
	MODE <your-nick> [param]
        MODE ?

3 Modes

+|- add|remove modes on named channels
p   private mode
s   secret mode (invisible channel)
a   anonymous mode [users are invisible]
t   topic limit (Set only by ChanOp)
m   moderated channel (ChanOp-MSGs only)
i   INVITE only channel
n   no PRIVMSGs on this channel
l   limited channel <max. of users>
o   add/remove channel operator <nick>


2 MOTD

MOTD shows the message-of-the-day text for your current server, or the
server specified in [server].

	MOTD [server]

2 MSG

See PRIVMSG.

2 NAMES

NAMES shows the names of all the people that are on irc and are not
invisible. 

2 NICK

NICK changes your nick to the new nickname you specify.

	NICK <new-nick>

2 NOKILL

NOKILL toggles printing full KILL messages or shortened KILL messages.

2 NOTICE

Sends a private message to the nicknames or list of nicknames
specified. NOTICE messages 

	NOTICE <nick>[,<nick>...] <text>

2 NOTIFY

NOTIFY adds or deletes users from a list of nicknames to watch for. 
NOTIFY without any arguments shows a list of nicknames present (if
any) and a list of nicknames absent (if any). 

	NOTIFY [<+|->nick [+nick2...]]

2 OPER

OPER enables IRC Operator privileges. It requires an id and a
password. 

	OPER <id> <password>

2 OOPS

OOPS resends the text of the last MSG you sent to the nickname
<nick>. If [text] isn't specified it sends a "MSG <lastnick> Oops,
please ignore..." the the recipient of the last message; if [text]
is specified, [text] is sent instead. 

	OOPS <nick> [text]

2 PART

PART leaves your current channel, or the channel specified.

	PART [channel]

2 PING 

PING sends a CTCP PING to <nick>. Use PING to see if there is lag
between you and <nick>

	PING <nick>

2 QUERY 

QUERY sends everything that isn't a command to <nick>, without having
to type "/MSG <nick> [text]" every time. QUERY ? shows who you are
currently querying.

	QUERY <nick>
	QUERY ?

2 QUIT 

The QUIT command exits IRC. If [text] is specified, the signoff message
contains [text]. Defaults to "Leaving".

	QUIT [text]

2 QUOTE 

QUOTE passes all of it's arguments to the current server.

2 RECALL 

RECALL brings up a window from which you can select lines to echo on
the commandlne. 

While in RECALL, use the following keys:

	PrevScr or P  Move to the previous page
	NextScr or L  Move to the next page
	Crsr Up/Down  Move one line up/down
	Select or S   Select buffer for pasting
	SPACE         Send actual line to channel
	Return        Send selected buffer and exit RECALL
	Ctrl-Z        Exit RECALL without pasting
	Ctrl-L,Ctrl-W Redraw screen
	Ctrl-R        Recall help
	Ctrl-B        Toggle broadcast window

2 REDIRECT 

REDIRECT sends the last line of text sent to a channel to <nick>

2 REHASH 

Reloads the current server's configuration file. Requires IRC 
Operator status.


2 REMIRROR 

Shows recent messages reversed end-to-end, like /MIRROR. 

2 REROT13 

Shows recent messages ROT13'd, like /ROT13.

2 ROT13 

ROT13 does simple encryption (A-M,B-N,C-O, etc) on <text> and sends
it to <nick> or the current channel.

	ROT13 <nick>|* <text>

2 STATS 

STATS shows server statistics. 

	STATS [mode] [server]

3 Mode

M - commands
L - links
C - C:/N: lines
K - K: lines
I - I: lines
Y - Y: lines

2 SCRIPT 

SCRIPT loads a file of VMS IRC commands.

	SCRIPT <file>

2 SERVER 

SERVER changes your current server to <server>. If [port] is
specified, the client connects to that port of <server>. Currently,
this is limited to IP addresses, due to a TCP/IP bug.

	SERVER <server> [port]

2 SHOWESC 

SHOWESC toggles between interpreting escape characters and displaying
them.

Warning: When interpretation of escape characters is enabled,
people can send you messages containing screen clearing codes, backspace
characters to erase their nick and display someone else's nickname,
a server notice, etc. It is STRONGLY recommended that you accept the
default setting, which is to display control characters. In future
versions, ^G will be dealt with as a special case, but currently ^G
(bell) is treated as any other control character.

2 SIGNAL 

SIGNAL turns on beeping for a specified type of message. SIGNAL ?
shows the types of messages being signalled.

	SIGNAL <message-type>
	SIGNAL ?

3 Message Types

NONE - don't beep on any messages
PRIV - beep on private messages
MSG  - same as PRIV
MOD  - [broken!]
ALL  - beep on all messages

2 SPAWN 

SPAWN starts a DCL subprocess from which you may execute any VMS
command.

2 SQUIT 

SQUIT removes a link from a server. Requires IRC Operator status. 

	SQUIT <server>

2 SRVINFO 

SRVINFO shows information about the current server. 

	SRVINFO [server]

2 STATUS 

STATUS toggles the display of a status line, showing the time, your
nickname, current channel, and some other things. 

2 SUMMON 

SUMMON sends a message to the user@host specified requesting them to
join you on irc. Note: works only for users on the same machine as a
server.

	SUMMON <user@host>

2 TIME 

TIME shows the local time for the current server, or [server], if
specified.

	TIME [server]

2 TOPIC 

TOPIC with no arguments shows the topic of the current channel. With
an argument of [text], TOPIC sets the topic on the current channel to
[text].

	TOPIC [text]

2 TRACE 

TRACE shows active links for the current server, or [server], if
specified. 

	TRACE [server]

2 TYPE 

Sends <file> to <nick> or the current channel. 

	TYPE <nick>|* <file>

2 USERS 

USERS shows the users logged in on the machine the current server is
on. If [server] is specificed, USERS shows the users logged in to the
machine that server is on.

	USERS [server]

2 VERSION 

VERSION shows the version of the current server, or [server], if
specified.

	VERSION [server]

2 WHO 

WHO shows the users on the current channel, or on a specific channel.

	WHO <*>|<channel>

2 WHOAWAY

WHOAWAY shows everyone who is /AWAY. 

2 WHOIS 

WHOIS gives detailed information on <nick>

	WHOIS <nick>

2 WHOOP 

WHOOP is like WHO, but only shows operators for the current channel,
or a specified channel.

	WHOOP <op-type> <*>|<channel>

3 Operator Type

	@ shows channel operators only.
	* shows IRC Operators only.
	# shows both channel operators and IRC Operators. 

2 WHOSRV 

WHOSRV shows nicknames with the server they're on.

2 WHOWAS

WHOWAS shows WHOIS-type information for nicknames that are no longer
on irc. 

	WHOWAS <nick>
