allow - in filters
[spider.git] / cmd / Commands_en.hlp
index 47645f9e508cd158da5de6c6e067d28338943c0b..971765143762bae70c641a083b8f242e3b0aea51 100644 (file)
 #
 # Comment lines are indented before printing
 #
+=== 0^ACCEPT/ANNOUNCE [0-9] <pattern>^Set an 'accept' filter line for announce
+Create an 'accept this announce' line for a filter. 
+
+An accept filter line means that if the announce matches this filter it is
+passed onto the user. See HELP FILTERS 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 <numbers>    eg: 61,62 (from eg: sh/pre G)
+  origin_itu <numbers>
+  origin_zone <numbers>
+  by_dxcc <numbers>
+  by_itu <numbers>
+  by_zone <numbers>
+  channel <prefixes>
+  wx 1                     filter WX announces
+  dest <prefixes>          eg: 6MUK,WDX      (distros)
+
+some examples:-
+
+  acc/ann dest 6MUK
+  acc/ann 2 by_zone 14,15,16
+  (this could be all on one line: acc/ann dest 6MUK or by_zone 14,15,16)
+or
+  acc/ann by G,M,2 
+
+You can use the tag 'all' to reject everything that is left, eg:
+
+  acc/ann all
+
+=== 8^ACCEPT/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:-
+
+  accept/ann by G,M,2
+  accept/ann input node_default by G,M,2
+  accept/ann user_default by G,M,2
+
+=== 0^ACCEPT/SPOTS [0-9] <pattern>^Set an 'accept' filter line for spots
+Create an 'accept this spot' line for a filter. 
+
+An accept filter line means that if the spot matches this filter it is
+passed onto the user. See HELP FILTERS 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
+  call <prefixes>        eg: G,PA,HB9
+  info <string>          eg: iota or qsl
+  by <prefixes>            
+  call_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
+  call_itu <numbers>
+  call_zone <numbers>
+  by_dxcc <numbers>
+  by_itu <numbers>
+  by_zone <numbers>
+  origin <prefixes>
+  channel <prefixes>
+
+some examples:-
+
+  acc/spot 1 freq hf/cw
+  acc/spot 2 freq vhf and (by_zone 14,15,16 or call_zone 14,15,16)
+
+You can use the tag 'all' to reject everything that is left, eg:
+
+  ann/spot 3 all
+
+=== 8^ACCEPT/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:-
+
+  accept/spot db0sue-7 1 by_zone 14,15,16
+  accept/spot node_default all
+  set/hops node_default 10
+
+  accept/spot user_default by G,M,2
+
 === 0^ANNOUNCE <text>^Send an announcement to LOCAL users only
 <text> is the text of the announcement you wish to broadcast 
 
@@ -26,14 +109,8 @@ the names of all the commands that may be relevant.
 === 0^BYE^Exit from the cluster
 This will disconnect you from the cluster
 
-=== 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^CATCH <node call> All|[<msgno> ...]^Mark a message as sent
-=== 9^UNCATCH <node call> All|[msgno> ...]^Unmark a message as sent
+=== 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
@@ -41,16 +118,47 @@ 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:-
 
-  catch GB7DJK all
-  catch GB7DJK 300 301 302 303
+  catchup GB7DJK all
+  catchup GB7DJK 300 301 302 303 500-510
        
 and to undo what you have just done:-
   
-  uncatch GB7DJK all
-  uncatch GB7DJK 300 301 302 303
+  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/SPOTS [1|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 freq hf/cw
+  acc/spot 2 freq 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 freq 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.
+
+=== 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>.
+
 === 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.
@@ -240,7 +348,107 @@ 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.
 
-=== 1^FORWARD/OPERNAME <call>^Send out information on this <call> to all clusters
+=== 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 freq 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 freq 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 freq hf/cw and not info iota
+
+But in that case you might only be interested in iota and say:-
+
+  accept/spots not freq 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 freq/cw
+  reject/spots 2 freq 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:-
+
+  (freq 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 freq/ssb
+
+or 
+
+  clear/spots 1
+
+To remove the filter in its entirty:-
+
+  clear/spots all
+
+=== 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.
@@ -292,6 +500,25 @@ running in order for the changes to take effect.
 Reload the /spider/data/bands.pl file if you have changed it manually whilst
 the cluster is running. 
 
+=== 9^LOAD/BADDX^Reload the bad DX table
+Reload the /spider/data/baddx.pl file if you have changed it manually whilst
+the cluster is running. This table contains the DX Calls that, if spotted, 
+will not be passed on. FR0G and TEST are classic examples.
+
+=== 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
@@ -300,6 +527,10 @@ 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
@@ -405,6 +636,85 @@ 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 an 'reject' filter line for announce
+Create an 'reject this announce' line for a filter. 
+
+An reject filter line means that if the announce matches this filter it is
+passed onto the user. See HELP FILTERS 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 <numbers>    eg: 61,62 (from eg: sh/pre G)
+  origin_itu <numbers>
+  origin_zone <numbers>
+  by_dxcc <numbers>
+  by_itu <numbers>
+  by_zone <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 that is left, eg:
+
+  rej/ann all
+
+=== 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 an 'reject' filter line for spots
+Create an 'reject this spot' line for a filter. 
+
+An reject filter line means that if the spot matches this filter it is
+dumped (not passed on). See HELP FILTERS 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
+  call <prefixes>        eg: G,PA,HB9
+  info <string>          eg: iota or qsl
+  by <prefixes>            
+  call_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
+  call_itu <numbers>
+  call_zone <numbers>
+  by_dxcc <numbers>
+  by_itu <numbers>
+  by_zone <numbers>
+  origin <prefixes>
+  channel <prefixes>
+
+some examples:-
+
+  rej/spot 1 freq hf
+  rej/spot 2 freq vhf and not (by_zone 14,15,16 or call_zone 14,15,16)
+
+You can use the tag 'all' to reject everything that is left, eg:
+
+  rej/spot 3 all
+
+=== 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^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
@@ -446,9 +756,13 @@ SP is an alias for SEND PRIVATE
 === 0^SET/ANNOUNCE^Allow announce messages to come out on your terminal
 === 0^UNSET/ANNOUNCE^Stop announce messages coming out on your terminal
 
+=== 5^SET/ARCLUSTER <call> [<call>..]^Make the callsign an AR-Cluster node
+
 === 0^SET/BEEP^Add a beep to DX and other messages on your terminal
 === 0^UNSET/BEEP^Stop beeps for DX and other messages on your terminal
 
+=== 5^SET/CLX <call> [<call>..]^Make the callsign an CLX node
+
 === 9^SET/DEBUG <name>^Add a debug level to the debug set
 === 9^UNSET/DEBUG <name>^Remove a debug level from the debug set
 
@@ -463,6 +777,8 @@ of a DX announcement (there is just enough room). Some user programs
 cannot cope with this. You can use this command to reset (or set)
 this feature.
 
+=== 5^SET/DXNET <call> [<call>..]^Make the callsign an DXNet node
+
 === 0^SET/ECHO^Make the cluster echo your input
 === 0^UNSET/ECHO^Stop the cluster echoing your input
 If you are connected via a telnet session, different implimentations
@@ -514,11 +830,11 @@ then this command will set your QRA locator for you. For example:-
 Tell the system what your name is eg:-
   SET/NAME Dirk
 
-=== 9^SET/NODE <call> [<call>..]^Make the callsign an AK1A cluster
+=== 5^SET/NODE <call> [<call>..]^Make the callsign an AK1A cluster
 Tell the system that the call(s) are to be treated as AK1A cluster and
 fed PC Protocol rather normal user commands.
 
-=== 9^SET/OBSCOUNT <count> <nodecall>^Set the 'pump-up' obscelence counter 
+=== 8^SET/OBSCOUNT <count> <nodecall>^Set the 'pump-up' obscelence counter 
 From 1.35 onwards neighbouring nodes are pinged at regular intervals (see
 SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
 counter which is decremented on every outgoing ping and then reset to
@@ -575,7 +891,7 @@ can contain any characters but any spaces are removed (you can type in
 spaces - but they won't appear in the password). You can see the
 result with STAT/USER.
 
-=== 9^SET/SPIDER <call> [<call>..]^Make the callsign an DXSpider node
+=== 5^SET/SPIDER <call> [<call>..]^Make the callsign an DXSpider node
 Tell the system that the call(s) are to be treated as DXSpider node and
 fed new style DX Protocol rather normal user commands.
 
@@ -602,6 +918,10 @@ Tell the system where you are. For example:-
 === 0^SET/WX^Allow WX messages to come out on your terminal
 === 0^UNSET/WX^Stop WX messages coming out on your terminal
 
+=== 0^SHOW/CALL <callsign>^Show any callbook details on a callsign
+This command queries an international callbook server on the internet
+and returns any information available for that callsign. 
+
 === 0^SHOW/DATE [<prefix>|<callsign>]^Show the local time 
 This is very nearly the same as SHOW/TIME, the only difference the format
 of the date string if no arguments are given.
@@ -682,6 +1002,10 @@ string to see a selection of files in a filearea eg:-
 
 See also TYPE - to see the contents of a file.
 
+=== 0^SHOW/FILTER^Show the contents of all the filters you have set
+Show the contents of all the filters that are set. This command displays
+all the filters set - for all the various categories.
+
 === 1^SHOW/ISOLATE^Show list of ISOLATED nodes
 
 === 9^SHOW/LOCKOUT^Show the list of locked out or excluded callsigns
@@ -864,6 +1188,16 @@ Display the most recent WWV information that has been received by the system
 === 5^SHUTDOWN^Shutdown the cluster
 Shutdown the cluster and disconnect all the users 
 
+=== 9^SPOOF <call> <command>^Do a command as though you are another user
+This command is provided so that sysops can set a user's parameters without
+me having to write a special 'sysop' version for every user command. It
+allows you to pretend that you are doing the command as the user you specify.
+
+eg:-
+
+   SPOOF G1TLH set/name Dirk
+   SPOOF G1TLH set/qra JO02LQ
+
 === 5^STAT/DB <dbname>^Show the status of a database
 Show the internal status of a database descriptor.