+<text> is the text of the announcement you wish to broadcast
+
+=== 0^ANNOUNCE FULL <text>^Send an announcement cluster wide
+This will send your announcement cluster wide
+
+=== 5^ANNOUNCE SYSOP <text>^Send an announcement to Sysops only
+
+=== 0^APROPOS <string>^Search help database for <string>
+Search the help database for <string> (it isn't case sensitive), and print
+the names of all the commands that may be relevant.
+
+=== 0^BLANK [<string>] [<nn>]^Print nn (default 1) blank lines (or strings)
+In its basic form this command prints one or more blank lines. However if
+you pass it a string it will replicate the string for the width of the
+screen (default 80) and then print that one or more times, so:
+
+ blank 2
+
+prints two blank lines
+
+ blank -
+
+prints a row of - characters once.
+
+ blank abc
+
+prints 'abcabcabcabcabcabc....'
+
+This is really only of any use in a script file and you can print a maximum
+of 9 lines.
+
+=== 0^BYE^Exit from the cluster
+This will disconnect you from the cluster
+
+=== 5^CATCHUP <node call> All|[<msgno> ...]^Mark a message as sent
+=== 5^UNCATCHUP <node call> All|[msgno> ...]^Unmark a message as sent
+When you send messages the fact that you have forwarded it to another node
+is remembered so that it isn't sent again. When you have a new partner
+node and you add their callsign to your /spider/msg/forward.pl file, all
+outstanding non-private messages will be forwarded to them. This may well
+be ALL the non-private messages. You can prevent this by using these
+commmands:-
+
+ catchup GB7DJK all
+ catchup GB7DJK 300 301 302 303 500-510
+
+and to undo what you have just done:-
+
+ uncatchup GB7DJK all
+ uncatchup GB7DJK 300 301 302 303 500-510
+
+which will arrange for them to be forward candidates again.
+
+Order is not important.
+
+=== 0^CLEAR/ANNOUNCE [1|all]^Clear a announce filter line
+This command allows you to clear (remove) a line in a annouce filter or to
+remove the whole filter.
+
+see CLEAR/SPOTS for a more detailed explanation.
+
+=== 8^CLEAR/ANNOUNCE [input] <callsign> [0-9|all]^Clear a announce filter line
+A sysop can clear an input or normal output filter for a user or the
+node_default or user_default.
+
+=== 0^CLEAR/ROUTE [1|all]^Clear a route filter line
+This command allows you to clear (remove) a line in a route filter or to
+remove the whole filter.
+
+see CLEAR/SPOTS for a more detailed explanation.
+
+=== 8^CLEAR/ROUTE [input] <callsign> [0-9|all]^Clear a route filter line
+A sysop can clear an input or normal output filter for a user or the
+node_default or user_default.
+
+=== 0^CLEAR/SPOTS [0-9|all]^Clear a spot filter line
+This command allows you to clear (remove) a line in a spot filter or to
+remove the whole filter.
+
+If you have a filter:-
+
+ acc/spot 1 on hf/cw
+ acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
+
+and you say:-
+
+ clear/spot 1
+
+you will be left with:-
+
+ acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
+
+If you do:
+
+ clear/spot all
+
+the filter will be completely removed.
+
+=== 8^CLEAR/SPOTS [input] <callsign> [0-9|all]^Clear a spot filter line
+A sysop can clear an input or normal output filter for a user or the
+node_default or user_default.
+
+=== 0^CLEAR/WCY [1|all]^Clear a WCY filter line
+This command allows you to clear (remove) a line in a WCY filter or to
+remove the whole filter.
+
+see CLEAR/SPOTS for a more detailed explanation.
+
+=== 8^CLEAR/WCY [input] <callsign> [0-9|all]^Clear a WCY filter line
+A sysop can clear an input or normal output filter for a user or the
+node_default or user_default.
+
+=== 0^CLEAR/WWV [1|all]^Clear a WWV filter line
+This command allows you to clear (remove) a line in a WWV filter or to
+remove the whole filter.
+
+see CLEAR/SPOTS for a more detailed explanation.
+
+=== 8^CLEAR/WWV [input] <callsign> [0-9|all]^Clear a WWV filter line
+A sysop can clear an input or normal output filter for a user or the
+node_default or user_default.
+
+=== 5^CONNECT <callsign>^Start a connection to another DX Cluster
+Start a connection process that will culminate in a new connection to the
+DX cluster <callsign>. This process creates a new 'client' process which will
+use the script in /spider/connect/<callsign> to effect the 'chat' exchange
+necessary to traverse the network(s) to logon to the cluster <callsign>.
+
+=== 9^DELETE/USER <callsign> ...^Delete this user from the User Database
+This command will completely remove a one or more users from the database.
+
+There is NO SECOND CHANCE.
+
+It goes without saying that you should use this command CAREFULLY!
+
+=== 0^DBAVAIL^Show a list of all the Databases in the system
+Title says it all really, this command lists all the databases defined
+in the system. It is also aliased to SHOW/COMMAND.
+
+=== 9^DBCREATE <name>^Create a database entry
+=== 9^DBCREATE <name> chain <name> [<name>..]^Create a chained database entry
+=== 9^DBCREATE <name> remote <node>^Create a remote database entry
+DBCREATE allows you to define a database in the system. It doesn't actually
+create anything, just defines it.
+
+The databases that are created are simple DB_File hash databases, they are
+therefore already 'indexed'.
+
+You can define a local database with the first form of the command eg:
+
+ DBCREATE oblast
+
+You can also chain databases with the addition of the 'chain' keyword.
+This will search each database one after the other. A typical example
+is:
+
+ DBCREATE sdx_qsl chain sql_ad
+
+No checking is done to see if the any of the chained databases exist, in
+fact it is usually better to do the above staement first then do each of
+the chained databases.
+
+Databases can exist offsite. To define a database that lives on another
+node do:
+
+ DBCREATE buckmaster remote gb7dxc
+
+Remote databases cannot be chained; however, the last database in a
+a chain can be a remote database eg:
+
+ DBCREATE qsl chain gb7dxc
+
+To see what databases have been defined do:
+
+ DBAVAIL (or it will have been aliased to SHOW/COMMAND)
+
+It would be normal for you to add an entry into your local Aliases file
+to allow people to use the 'SHOW/<dbname>' style syntax. So you would
+need to add a line like:-
+
+ 's' => [
+ ..
+ ..
+ '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
+ ..
+ ..
+ ],
+
+to allow
+
+ SH/BUCK g1tlh
+
+to work as they may be used to.
+
+See DBIMPORT for the importing of existing AK1A format data to databases.
+See DBSHOW for generic database enquiry
+
+=== 9^DBIMPORT <dbname> <filename>^Import AK1A data into a database
+If you want to import or update data in bulk to a database you can use
+this command. It will either create or update entries into an existing
+database. For example:-
+
+ DBIMPORT oblast /tmp/OBLAST.FUL
+
+will import the standard OBLAST database that comes with AK1A into the
+oblast database held locally.
+
+=== 9^DBREMOVE <dbname>^Delete a database
+DBREMOVE will completely remove a database entry and also delete any data
+file that is associated with it.
+
+There is no warning, no comeback, no safety net.
+
+For example:
+
+ DBREMOVE oblast
+
+will remove the oblast database from the system and it will also remove
+the associated datafile.
+
+I repeat:
+
+There is no warning, no comeback, no safety net.
+
+You have been warned.
+
+=== 0^DBSHOW <dbname> <key>^Display an entry, if it exists, in a database
+This is the generic user interface to the database to the database system.
+It is expected that the sysop will add an entry to the local Aliases file
+so that users can use the more familiar AK1A style of enquiry such as:
+
+ SH/BUCK G1TLH
+
+but if he hasn't and the database really does exist (use DBAVAIL or
+SHOW/COMMAND to find out) you can do the same thing with:
+
+ DBSHOW buck G1TLH
+
+=== 9^DEBUG^Set the cluster program into debug mode
+Executing this command will only have an effect if you are running the cluster
+in debug mode i.e.
+
+ perl -d cluster.pl
+
+It will interrupt the cluster just after the debug command has finished.
+
+=== 0^DIRECTORY^List messages
+=== 0^DIRECTORY ALL^List all messages
+=== 0^DIRECTORY OWN^List your own messages
+=== 0^DIRECTORY NEW^List all new messages
+=== 0^DIRECTORY TO <call>^List all messages to <call>
+=== 0^DIRECTORY FROM <call>^List all messages from <call>
+=== 0^DIRECTORY SUBJECT <string>^List all messages with <string> in subject
+=== 0^DIRECTORY <nn>^List last <nn> messages
+=== 0^DIRECTORY <from>-<to>^List messages <from> message <to> message
+List the messages in the messages directory.
+
+If there is a 'p' one space after the message number then it is a
+personal message. If there is a '-' between the message number and the
+'p' then this indicates that the message has been read.
+
+You can use shell escape characters such as '*' and '?' in the <call>
+fields.
+
+You can combine some of the various directory commands together eg:-
+
+ DIR TO G1TLH 5
+or
+ DIR SUBJECT IOTA 200-250
+
+You can abbreviate all the commands to one letter and use ak1a syntax:-
+
+ DIR/T G1* 10
+ DIR/S QSL 10-100 5
+
+=== 5^DIRECTORY-^
+Sysops can see all users' messages.
+
+=== 8^DISCONNECT <call> [<call> ...]^Disconnect a user or cluster
+Disconnect any <call> connected locally
+
+=== 0^DX [BY <call>] <freq> <call> <remarks>^Send a DX spot
+This is how you send a DX Spot to other users. You can, in fact, now
+enter the <freq> and the <call> either way round.
+
+ DX FR0G 144.600
+ DX 144.600 FR0G
+ DX 144600 FR0G
+
+will all give the same result. You can add some remarks to the end
+of the command and they will be added to the spot.
+
+ DX FR0G 144600 this is a test
+
+You can credit someone else by saying:-
+
+ DX by G1TLH FR0G 144.600 he isn't on the cluster
+
+The <freq> is compared against the available bands set up in the
+cluster. See SHOW/BANDS for more information.
+
+=== 9^EXPORT <msgno> <filename>^Export a message to a file
+Export a message to a file. This command can only be executed on a local
+console with a fully privileged user. The file produced will be in a form
+ready to be imported back into the cluster by placing it in the import
+directory (/spider/msg/import).
+
+This command cannot overwrite an existing file. This is to provide some
+measure of security. Any files written will owned by the same user as the
+main cluster, otherwise you can put the new files anywhere the cluster can
+access. For example:-
+
+ EXPORT 2345 /tmp/a
+
+=== 9^EXPORT_USERS [<filename>]^Export the users database to ascii
+Export the users database to a file in ascii format. If no filename
+is given then it will export the file to /spider/data/user_asc.
+
+If the file already exists it will be renamed to <filename>.o. In fact
+up to 5 generations of the file can be kept each one with an extra 'o' on the
+suffix.
+
+BE WARNED: this will write to any file you have write access to. No check is
+made on the filename (if any) that you specify.
+
+=== 0^FILTERING...^Filtering things in DXSpider
+There are a number of things you can filter in the DXSpider system. They
+all use the same general mechanism.
+
+In general terms you can create a 'reject' or an 'accept' filter which
+can have up to 10 lines in it. You do this using, for example:-
+
+ accept/spots .....
+ reject/spots .....
+
+where ..... are the specific commands for that type of filter. There
+are filters for spots, wwv, announce, wcy and (for sysops)
+connects. See each different accept or reject command reference for
+more details.
+
+There is also a command to clear out one or more lines in a filter and
+one to show you what you have set. They are:-
+
+ clear/spots 1
+ clear/spots all
+
+and
+
+ show/filter
+
+There is clear/xxxx command for each type of filter.
+
+For now we are going to use spots for the examples, but you can apply
+the principles to all types of filter.
+
+There are two main types of filter 'accept' or 'reject'; which you use
+depends entirely on how you look at the world and what is least
+writing to achieve what you want. Each filter has 10 lines (of any
+length) which are tried in order. If a line matches then the action
+you have specified is taken (ie reject means ignore it and accept
+means gimme it).
+
+The important thing to remember is that if you specify a 'reject'
+filter (all the lines in it say 'reject/spots' (for instance) then if
+a spot comes in that doesn't match any of the lines then you will get
+it BUT if you specify an 'accept' filter then any spots that don't
+match are dumped. For example if I have a one line accept filter:-
+
+ accept/spots on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
+
+then automatically you will ONLY get VHF spots from or to CQ zones 14
+15 and 16. If you set a reject filter like:
+
+ reject/spots on hf/cw
+
+Then you will get everything EXCEPT HF CW spots, If you am interested in IOTA
+and will work it even on CW then you could say:-
+
+ reject/spots on hf/cw and not info iota
+
+But in that case you might only be interested in iota and say:-
+
+ accept/spots not on hf/cw or info iota
+
+which is exactly the same. You should choose one or the other until
+you are confortable with the way it works. Yes, you can mix them
+(actually you can have an accept AND a reject on the same line) but
+don't try this at home until you can analyse the results that you get
+without ringing up the sysop for help.
+
+You can arrange your filter lines into logical units, either for your
+own understanding or simply convenience. I have one set frequently:-
+
+ reject/spots 1 on hf/cw
+ reject/spots 2 on 50000/1400000 not (by_zone 14,15,16 or call_zone 14,15,16)
+
+What this does is to ignore all HF CW spots (being a class B I can't
+read any CW and couldn't possibly be interested in HF :-) and also
+rejects any spots on VHF which don't either originate or spot someone
+in Europe.
+
+This is an exmaple where you would use the line number (1 and 2 in
+this case), if you leave the digit out, the system assumes '1'. Digits
+'0'-'9' are available.
+
+You can leave the word 'and' out if you want, it is implied. You can
+use any number of brackets to make the 'expression' as you want
+it. There are things called precedence rules working here which mean
+that you will NEED brackets in a situation like line 2 because,
+without it, will assume:-
+
+ (on 50000/1400000 and by_zone 14,15,16) or call_zone 14,15,16
+
+annoying, but that is the way it is. If you use OR - use
+brackets. Whilst we are here CASE is not important. 'And BY_Zone' is
+just 'and by_zone'.
+
+If you want to alter your filter you can just redefine one or more
+lines of it or clear out one line. For example:-
+
+ reject/spots 1 on hf/ssb
+
+or
+
+ clear/spots 1
+
+To remove the filter in its entirty:-
+
+ clear/spots all
+
+There are similar CLEAR commands for the other filters:-
+
+ clear/announce
+ clear/wcy
+ clear/wwv
+
+ADVANCED USERS:-
+
+Once you are happy with the results you get, you may like to experiment.
+
+my example that filters hf/cw spots and accepts vhf/uhf spots from EU
+can be written with a mixed filter, eg:
+
+ rej/spot on hf/cw
+ acc/spot on 0/30000
+ acc/spot 2 on 50000/1400000 and (by_zone 14,15,16 or call_zone 14,15,16)
+
+each filter slot actually has a 'reject' slot and an 'accept'
+slot. The reject slot is executed BEFORE the accept slot.
+
+It was mentioned earlier that after a reject test that doesn't match,
+the default for following tests is 'accept', the reverse is true for
+'accept'. In the example what happens is that the reject is executed
+first, any non hf/cw spot is passed to the accept line, which lets
+thru everything else on HF.
+
+The next filter line lets through just VHF/UHF spots from EU.
+
+=== 8^FORWARD/LATLONG <node_call>^Send latitude and longitude information to another cluster
+This command sends all the latitude and longitude information that your
+cluster is holding against callsigns. One advantage of recieving this
+information is that more locator information is held by you. This
+means that more locators are given on the DX line assuming you have
+SET/DXGRID enabled. This could be a LOT of information though, so
+it is not recommended on slow links.
+
+=== 1^FORWARD/OPERNAM <call>^Send out information on this <call> to all clusters
+This command sends out any information held in the user file which can
+be broadcast in PC41 protocol packets. This information is Name, QTH, Location
+and Homenode. PC41s are only sent for the information that is available.
+
+=== 0^HELP^The HELP Command
+HELP is available for a number of commands. The syntax is:-
+
+ HELP <cmd>
+
+Where <cmd> is the name of the command you want help on.
+
+All commands can be abbreviated, so SHOW/DX can be abbreviated
+to SH/DX, ANNOUNCE can be shortened to AN and so on.
+
+Look at the APROPOS <string> command which will search the help database
+for the <string> you specify and give you a list of likely commands
+to look at with HELP.
+
+=== 5^INIT <node>^Re-initialise a link to an AK1A compatible node
+This command attempts to re-initialise a link to a (usually) AK1A node
+that has got confused, usually by a protocol loop of some kind. It may
+work - but you usually will be better off simply disconnecting it (or
+better, if it is a real AK1A node, doing an RCMD <node> DISC/F <your
+node>).
+
+Best of luck - you will need it.
+
+=== 0^KILL <msgno> [<msgno..]^Delete a message from the local system
+=== 0^KILL <from msgno>-<to msgno>^Delete a range of messages
+=== 0^KILL from <regex>^Delete messages FROM a callsign or pattern
+=== 0^KILL to <regex>^Delete messages TO a callsign or pattern
+=== 5^KILL FULL <msgno> [<msgno..]^Delete a message from the whole cluster
+Delete a message from the local system. You will only be able to
+delete messages that you have originated or been sent (unless you are
+the sysop).
+
+ KILL 1234-1255
+
+Will delete all the messages that you own between msgnos 1234 and 1255.
+
+ KILL from g1tlh
+
+will delete all the messages from g1tlh (if you are g1tlh). Similarly:
+
+ KILL to g1tlh
+
+will delete all messages to g1tlh.
+
+ KILL FULL 1234
+
+will delete a message (usually a 'bulletin') from the whole cluster system.
+
+This uses the subject field, so any messages that have exactly the
+same subject will be deleted. Beware!
+
+=== 6^KILL EXPunge <msgno> [<msgno..]^Expunge a message
+Deleting a message using the normal KILL commands only marks that message
+for deletion. The actual deletion only happens later (usually two days later).
+
+The KILL EXPUNGE command causes the message to be truly deleted more or less
+immediately.
+
+It otherwise is used in the same way as the KILL command.
+
+=== 0^LINKS^Show which nodes is physically connected
+This is a quick listing that shows which links are connected and
+some information about them. See WHO for a list of all connections.
+
+=== 9^LOAD/ALIASES^Reload the command alias table
+Reload the /spider/cmd/Aliases file after you have editted it. You
+will need to do this if you change this file whilst the cluster is
+running in order for the changes to take effect.
+
+=== 9^LOAD/BANDS^Reload the band limits table
+Reload the /spider/data/bands.pl file if you have changed it manually whilst
+the cluster is running.
+
+=== 9^LOAD/BADMSG^Reload the bad msg table
+Reload the /spider/msg/badmsg.pl file if you have changed it manually whilst
+the cluster is running. This table contains a number of perl regular
+expressions which are searched for in the fields targetted of each message.
+If any of them match then that message is immediately deleted on receipt.
+
+=== 9^LOAD/BADWORDS^Reload the bad words table
+Reload the /spider/data/badwords file if you have changed it manually whilst
+the cluster is running. This file contains a list of words which, if found
+on certain text portions of PC protocol, will cause those protocol frames
+to be rejected. It will all put out a message if any of these words are
+used on the announce, dx and talk commands. The words can be one or
+more on a line, lines starting with '#' are ignored.
+
+=== 9^LOAD/CMD_CACHE^Reload the automatic command cache
+Normally, if you change a command file in the cmd or local_cmd tree it
+will automatially be picked up by the cluster program. Sometimes it
+can get confused if you are doing a lot of moving commands about or
+delete a command in the local_cmd tree and want to use the normal one
+again. Execute this command to reset everything back to the state it
+was just after a cluster restart.
+
+=== 9^LOAD/FORWARD^Reload the msg forwarding routing table
+Reload the /spider/msg/forward.pl file if you have changed it
+manually whilst the cluster is running.
+
+=== 9^LOAD/MESSAGES^Reload the system messages file
+If you change the /spider/perl/Messages file (usually whilst
+fiddling/writing new commands) you can have them take effect during a
+cluster session by executing this command. You need to do this if get
+something like :-
+
+unknown message 'xxxx' in lang 'en'
+
+=== 9^LOAD/PREFIXES^Reload the prefix table
+Reload the /spider/data/prefix_data.pl file if you have changed it
+manually whilst the cluster is running.
+
+=== 5^MERGE <node> [<no spots>/<no wwv>]^Ask for the latest spots and WWV
+MERGE allows you to bring your spot and wwv database up to date. By default
+it will request the last 10 spots and 5 WWVs from the node you select. The
+node must be connected locally.
+
+You can request any number of spots or wwv and although they will be appended
+to your databases they will not duplicate any that have recently been added
+(the last 2 days for spots and last month for WWV data).
+
+=== 9^MSG <cmd> <msgno> [data ... ]^Alter various message parameters
+Alter message parameters like To, From, Subject, whether private or bulletin
+or return receipt (RR) is required or whether to keep this message from timing
+out.
+
+ MSG TO <msgno> <call> - change TO callsign to <call>
+ MSG FRom <msgno> <call> - change FROM callsign to <call>
+ MSG PRrivate <msgno> - set private flag
+ MSG NOPRrivate <msgno> - unset private flag
+ MSG RR <msgno> - set RR flag
+ MSG NORR <msgno> - unset RR flag
+ MSG KEep <msgno> - set the keep flag (message won't be deleted ever)
+ MSG NOKEep <msgno> - unset the keep flag
+ MSG SUbject <msgno> <new> - change the subject to <new>
+ MSG WAittime <msgno> - remove any waitting time for this message
+ MSG NOREad <msgno> - mark message as unread
+ MSG REad <msgno> - mark message as read
+ MSG QUeue - queue any outstanding bulletins
+ MSG QUeue 1 - queue any outstanding private messages
+
+You can look at the status of a message by using:-
+
+ STAT/MSG <msgno>
+
+This will display more information on the message than DIR does.
+
+=== 8^PC <call> <text>^Send text (eg PC Protocol) to <call>
+Send some arbitrary text to a locally connected callsign. No
+processing is done on the text. This command allows you to send PC
+Protocol to unstick things if problems arise (messages get stuck
+etc). eg:-
+
+ pc gb7djk PC33^GB7TLH^GB7DJK^400^
+or
+ pc G1TLH Try doing that properly!!!
+
+=== 0^KILL <msgno> [<msgno> ...]^Remove or erase a message from the system
+You can get rid of any message to or originating from your callsign using
+this command. You can remove more than one message at a time.
+
+=== 5^KILL <from>-<to>^Remove a range of messages from the system
+=== 5^KILL FROM <call>^Remove all messages from a callsign
+=== 5^KILL TO <call>^Remove all messages to a callsign
+=== 5^KILL FULL <msgno> [<msgno]^Remove a message from the entire cluster
+Remove this message from the entire cluster system as well as your node.
+
+=== 5^KILL^
+As a sysop you can kill any message on the system.
+
+=== 8^PC <call> <text>^Send arbitrary text to a connected callsign
+Send any text you like to the callsign requested. This is used mainly to send
+PC protocol to connected nodes either for testing or to unstick things.
+
+You can also use in the same way as a talk command to a connected user but
+without any processing, added of "from <blah> to <blah" or whatever.
+
+=== 1^PING <node call>^Check the link quality between nodes
+This command allows you to send a frame to another cluster node on
+the network and get a return frame. The time it takes to do this
+is a good indication of the quality of the link. The actual time
+it takes is output to the console in seconds.
+Any visible cluster node can be PINGed.
+
+=== 1^RCMD <node call> <cmd>^Send a command to another DX Cluster
+This command allows you to send nearly any command to another DX Cluster
+node that is connected to the system.
+
+Whether you get any output is dependant on a) whether the other system knows
+that the node callsign of this cluster is in fact a node b) whether the
+other system is allowing RCMDs from this node and c) whether you have
+permission to send this command at all.
+
+=== 0^READ^Read the next unread personal message addressed to you
+=== 0^READ <msgno>^Read the specified message
+You can read any messages that are sent as 'non-personal' and also any
+message either sent by or sent to your callsign.
+
+=== 5^READ-^
+As a sysop you may read any message on the system
+
+=== 0^REJECT/ANNOUNCE [0-9] <pattern>^Set a 'reject' filter line for announce
+Create an 'reject this announce' line for a filter.
+
+A reject filter line means that if the announce matches this filter it is
+passed onto the user. See HELP FILTERING for more info. Please read this
+to understand how filters work - it will save a lot of grief later on.
+
+You can use any of the following things in this line:-
+
+ info <string> eg: iota or qsl
+ by <prefixes> eg: G,M,2
+ origin <prefixes>
+ origin_dxcc <prefixes or numbers> eg: 61,62 (from eg: sh/pre G)
+ origin_itu <prefixes or numbers> or: G,GM,GW
+ origin_zone <prefixes or numbers>
+ by_dxcc <prefixes or numbers>
+ by_itu <prefixes or numbers>
+ by_zone <prefixes or numbers>
+ channel <prefixes>
+ wx 1 filter WX announces
+ dest <prefixes> eg: 6MUK,WDX (distros)
+
+some examples:-
+
+ rej/ann by_zone 14,15,16 and not by G,M,2
+
+You can use the tag 'all' to reject everything eg:
+
+ rej/ann all
+
+but this probably for advanced users...
+
+=== 8^REJECT/ANNOUNCE <call> [input] [0-9] <pattern>^Announce filter sysop version
+This version allows a sysop to set a filter for a callsign as well as the
+default for nodes and users eg:-
+
+ reject/ann by G,M,2
+ reject/ann input node_default by G,M,2
+ reject/ann user_default by G,M,2
+
+=== 0^REJECT/SPOTS [0-9] <pattern>^Set a 'reject' filter line for spots
+Create a 'reject this spot' line for a filter.
+
+A reject filter line means that if the spot matches this filter it is
+dumped (not passed on). See HELP FILTERING for more info. Please read this
+to understand how filters work - it will save a lot of grief later on.
+
+You can use any of the following things in this line:-
+
+ freq <range> eg: 0/30000 or hf or hf/cw or 6m,4m,2m
+ on <range> same as 'freq'
+ call <prefixes> eg: G,PA,HB9
+ info <string> eg: iota or qsl
+ by <prefixes>
+ call_dxcc <prefixes or numbers> eg: 61,62 (from eg: sh/pre G)
+ call_itu <prefixes or numbers> or: G,GM,GW
+ call_zone <prefixes or numbers>
+ by_dxcc <prefixes or numbers>
+ by_itu <prefixes or numbers>
+ by_zone <prefixes or numbers>
+ origin <prefixes>
+ channel <prefixes>
+
+For frequencies, you can use any of the band names defined in
+SHOW/BANDS and you can use a subband name like: cw, rtty, data, ssb -
+thus: hf/ssb. You can also just have a simple range like: 0/30000 -
+this is more efficient than saying simply: on HF (but don't get
+too hung up about that)
+
+some examples:-
+
+ rej/spot 1 on hf
+ rej/spot 2 on vhf and not (by_zone 14,15,16 or call_zone 14,15,16)
+
+You can use the tag 'all' to reject everything eg:
+
+ rej/spot 3 all
+
+but this probably for advanced users...
+
+=== 8^REJECT/ROUTE <call> [0-9] <pattern>^Set an 'reject' filter line for routing
+Create an 'reject this routing PC Protocol' line for a filter.
+
+An reject filter line means that if a PC16/17/19/21/24/41/50 matches this filter
+it is NOT passed thru that interface. See HELP FILTERING for more info. Please
+read this to understand how filters work - it will save a lot of grief later on.
+
+You can use any of the following things in this line:-
+
+ call <prefixes> the callsign of the thingy
+ call_dxcc <prefixes or numbers> eg: 61,62 (from eg: sh/pre G)
+ call_itu <prefixes or numbers> or: G,GM,GW
+ call_zone <prefixes or numbers>
+ origin <prefixes> really the interface it came in on
+ origin_dxcc <prefixes or numbers> eg: 61,62 (from eg: sh/pre G)
+ origin_itu <prefixes or numbers> or: G,GM,GW
+ origin_zone <prefixes or numbers>
+
+some examples:-
+
+ rej/route gb7djk call_dxcc 61,38 (everything except UK+EIRE nodes)
+
+You can use the tag 'all' to reject everything eg:
+
+ rej/route all (equiv to [very] restricted mode)
+
+=== 8^REJECT/SPOTS <call> [input] [0-9] <pattern>^Spot filter sysop version
+This version allows a sysop to set a filter for a callsign as well as the
+default for nodes and users eg:-
+
+ reject/spot db0sue-7 1 by_zone 14,15,16
+ reject/spot node_default all
+ set/hops node_default 10
+
+ reject/spot user_default by G,M,2
+
+=== 0^REJECT/WCY [0-9] <pattern>^set a 'reject' WCY filter
+It is unlikely that you will want to do this, but if you do then you can
+filter on the following fields:-
+
+ by <prefixes> eg: G,M,2
+ origin <prefixes>
+ origin_dxcc <prefixes or numbers> eg: 61,62 (from eg: sh/pre G)
+ origin_itu <prefixes or numbers> or: G,GM,GW
+ origin_zone <prefixes or numbers>
+ by_dxcc <prefixes or numbers>
+ by_itu <prefixes or numbers>
+ by_zone <prefixes or numbers>
+ channel <prefixes>
+
+There are no examples because WCY Broadcasts only come from one place and
+you either want them or not (see UNSET/WCY if you don't want them).
+
+This command is really provided for future use.
+
+See HELP FILTER for information.
+
+=== 8^REJECT/WCY <call> [input] [0-9] <pattern>^WCY filter sysop version
+This version allows a sysop to set a filter for a callsign as well as the
+default for nodes and users eg:-
+
+ reject/wcy gb7djk all
+
+=== 0^REJECT/WWV [0-9] <pattern>^set a 'reject' WWV filter
+It is unlikely that you will want to do this, but if you do then you can
+filter on the following fields:-
+
+ by <prefixes> eg: G,M,2
+ origin <prefixes>
+ origin_dxcc <prefixes or numbers> eg: 61,62 (from eg: sh/pre G)
+ origin_itu <prefixes or numbers> or: G,GM,GW
+ origin_zone <prefixes or numbers>
+ by_dxcc <prefixes or numbers>
+ by_itu <prefixes or numbers>
+ by_zone <prefixes or numbers>
+ channel <prefixes>
+
+for example
+
+ reject/wwv by_zone 14,15,16
+
+is probably the only useful thing to do (which will only show WWV broadcasts
+by stations in the US).
+
+See HELP FILTER for information.
+
+=== 8^REJECT/WWV <call> [input] [0-9] <pattern>^WWV filter sysop version
+This version allows a sysop to set a filter for a callsign as well as the
+default for nodes and users eg:-
+
+ reject/wwv db0sue-7 1 by_zone 4
+ reject/wwv node_default all
+
+ reject/wwv user_default by W
+
+=== 0^REPLY^Reply (privately) to the last message that you have read
+=== 0^REPLY <msgno>^Reply (privately) to the specified message
+=== 0^REPLY B <msgno>^Reply as a Bulletin to the specified message
+=== 0^REPLY NOPrivate <msgno>^Reply as a Bulletin to the specified message
+=== 0^REPLY RR <msgno>^Reply to the specified message with read receipt
+You can reply to a message and the subject will automatically have
+"Re:" inserted in front of it, if it isn't already present.
+
+You can also use all the extra qualifiers such as RR, PRIVATE,
+NOPRIVATE, B that you can use with the SEND command (see SEND
+for further details)
+
+=== 0^SEND <call> [<call> ...]^Send a message to one or more callsigns
+=== 0^SEND RR <call>^Send a message and ask for a read receipt
+=== 0^SEND COPY <msgno> <call>^Send a copy of a message to someone
+=== 0^SEND PRIVATE <call>^Send a personal message
+=== 0^SEND NOPRIVATE <call>^Send a message to all stations
+All the SEND commands will create a message which will be sent either to
+an individual callsign or to one of the 'bulletin' addresses.
+
+SEND <call> on its own acts as though you had typed SEND PRIVATE, that is
+it will mark the message as personal and send it to the cluster node that
+that callsign is connected to.
+
+You can have more than one callsign in all of the SEND commands.
+
+You can have multiple qualifiers so that you can have for example:-
+
+ SEND RR COPY 123 PRIVATE G1TLH G0RDI
+
+which should send a copy of message 123 to G1TLH and G0RDI and you will
+receive a read receipt when they have read the message.
+
+SB is an alias for SEND NOPRIVATE (or send a bulletin in BBS speak)
+SP is an alias for SEND PRIVATE
+
+=== 0^SET/ADDRESS <your address>^Record your postal address
+
+=== 0^SET/ANNOUNCE^Allow announce messages to come out on your terminal
+=== 0^UNSET/ANNOUNCE^Stop announce messages coming out on your terminal
+
+=== 0^SET/ANNTALK^Allow talk like announce messages on your terminal
+=== 0^UNSET/ANNTALK^Stop talk like announce messages on your terminal
+The announce system on legacy cluster nodes is used as a talk
+substitute because the network is so poorly connected. If you:
+
+ unset/anntalk
+
+you will suppress several of these announces, you may miss the odd
+useful one as well, but you would probably miss them anyway in the
+welter of useless ones.
+
+ set/anntalk
+
+allows you to see them again. This is the default.
+
+=== 5^SET/ARCLUSTER <call> [<call>..]^Make the callsign an AR-Cluster node
+
+=== 8^SET/BADDX <call>..^Stop callsigns in a dx spot being propagated
+=== 8^UNSET/BADDX <call>..^Propagate a dx spot with this callsign again
+Setting a word as 'baddx' will prevent spots with that word in the
+'spotted' field (as in: DX 14001.1 FR0G)of a DX spot from going any
+further. They will not be displayed and they will not be sent onto
+other nodes.
+
+The word must be written in full, no wild cards are allowed eg:-
+
+ set/baddx FORSALE VIDEO FR0G
+
+To allow a word again, use the following command ...
+
+ unset/baddx VIDEO
+
+=== 8^SET/BADNODE <call>..^Stop spots from this node being propagated
+=== 8^UNSET/BADNODE <call>..^Allow spots from this node again
+Setting a callsign as a 'badnode' will prevent spots from that node
+going any further. They will not be displayed and they will not be
+sent onto other nodes.
+
+The call must be a full eg:-
+
+ set/badnode K1TTT
+
+will stop anything from K1TTT. If you want SSIDs as well then you must
+enter them specifically.
+
+ unset/badnode K1TTT
+
+will allow spots from him again.
+
+Use with extreme care. This command may well be superceeded by FILTERing.
+
+=== 8^SET/BADSPOTTER <call>..^Stop spots from this callsign being propagated
+=== 8^UNSET/BADSPOTTER <call>..^Allow spots from this callsign again
+Setting a callsign as a 'badspotter' will prevent spots from this callsign
+going any further. They will not be displayed and they will not be
+sent onto other nodes.
+
+The call must be written in full, no wild cards are allowed eg:-
+
+ set/badspotter VE2STN
+
+will stop anything from VE2STN. If you want SSIDs as well then you must
+enter them specifically.