Click here for Agent Regular Filters

Agent Word Filters

Note:  changes to reflect the release of Agent 1.9 have not yet been made.



The following is a list of Agent 'classic' filters:  they are (word)
oriented, no {regular expression} syntax.  They are meant to give
ideas, NOT to be adopted as a working set.  For this material to make
sense, you must be familiar with the basic information in the help file.

Generally, (word) filters are quicker to create, faster to run and easier
to understand.  If you absolutely have to filter on things that (word)
filters can't handle [punctuation or sub-strings, for example], see the
extensive list of {regular expression} filter examples and related
advice/tips given in
       Agent {regular expression} filters mini-FAQ



To point out an error, suggest an editorial correction, or submit a new
filter [or expression] for inclusion, post to
      news:alt.usenet.offline-reader.forte-agent
or use the guest book on my home page.


Changes in V1.02:
   V1.02.01  Added new 'money' filter term
Changes in V1.01:
   V1.01.01  Added some From: notes and examples


Watch out for side effects when adapting these filters for your use.
The 'money' filters, for example, may not be useful in groups where
subjects containing numbers in other contexts normally occur, and the
'spam word' filters may need to be used judiciously or overridden in
certain groups [to avoid hitting more messages than intended].

The overall priorities I have in mind when setting up multiple filters
on similar subjects/authors so that they will interact correctly is as
follows:
 1000  watch global specific posters [such as yourself]
  900  kill  global kill certain spammers even if they use 'allowed' words
  800  watch local  allow certain spam words in specific groups
  700  kill  global spam words/posters
  600  watch local  specific watches [usually size or author]
  500  watch local  generic watches [usually subject]
  400  kill  local  kills [usally size or author]; use <I>gnore for threads
  300  watch local  'default' processing
  200  kill  local  'left-over' processing
The functions assigned to the priorities are mine [not a requirement
of Agent].  In theory, all filters could have the same priority, but
that arrangement is scarcely practical [because filters of the same
priority are applied in a sequence which can neither be controlled by
the user nor predicted from the order in which they are listed in the
Usenet filters window].  A sort of middle ground [Agent's defaults of
watch=600 and kill=400] works well for users with few filters, none of
which are 'overlapping' or 'conflicting'.

Kill filters may be "skip" or "mark read"
  until you are sure that the filter[s] are doing what you want, you
    may prefer the latter
Watch filters may be "retrieve" "mark for retrieval" or "watch thread"
  the last [in conjunction with the View feature] will highlight all
    messages in threads to which you have contributed.

FWIW I follow this pattern for setting expirations:
  watch filters
    generally, no expiration
  kill filters
    Subject:
      no expiration
    From: 'constant' names of 'real' individuals
      no expiration
    From: 'pattern' names of frequent pests
      no expiration
    From: 'hit-and-run' accounts
      10 days from last activity

Watch your own posts
» 1000 watch  from: your.name@here.com
» 1000 watch  from: (your.name@here.com or your.nym@elsewhere.com)
Note:  using action "watch thread" will highlight posts in threads to
which you have contributed.
Also:  by selecting an appropriate View you can see all messages in
those threads and nothing else.

Get rid of all posts by an annoying author
» 900 kill from: porno@star.org
+ +++ Added in V1.01
+ Note:  the entire From field is tested by the filter, not just the
+ part selected to display in the message list pane
+ Also:  if there is more than one header of a given type in a message
+ [rare with From, common with others] the filter will apply to all of
+ them as if they had been concatenated
+
+ Get rid of posts by an annoying author without affecting posts by
+ authors with similar names
+ » 900 kill from: =pls.see.addr@my.sig
+ Hits that address without affecting
+    pls.see.addr@my.sig (name)
+ or
+    "handle" <pls.see.addr@my.sig>
+ Note:  since punctuation is ignored in (word) filters
+    (pls) see addr @ my-sig
+ would also be hit.
+
+ Get rid of posts by an annoying author without affecting posts by
+ authors with similar names
+ » 900 kill from: pls.see.addr@my.sig (name)
+ Hits that address without affecting
+    pls.see.addr@my.sig
+ or
+    "handle" <pls.see.addr@my.sig>
+ Note:  since punctuation is ignored in (word) filters
+    "pls" see 'addr' - my-sig [name]
+ would also be hit.
+ +++

Allow certain keywords in some [or all] groups
» 800 watch subject: ( free agent | freeagent )
» 800 watch subject: ( freed* | freew* | freez* | ... )
» 800 watch subject: ( cashew* | cashier* | cashmere* | ... )
To override
  subject: free*
  subject: cash*
kill filters farther down in the priority list given here.

Allow certain posters
» 800 watch from: my.friend@earthlink.net
» 800 watch from: ( good.guy@earthlink.net or my.friend )
Overrides the spammer 'domain' list, below.

The spammer 'domain' list
» 700 kill from: (earthlink.net or savetrees.com or ...)
» 700 kill from: (earthlink or savetrees or ...)
Only the 'keywords' from the 'domain' are really needed.

Get rid of certain types of "offers"
» 700 kill http | ftp | www | url | 900 | 800 | 888 | 011 ...
Note:  since no qualifier is specified in the filter, those items are
found in any filterable header; in usenet filters, that means either
subject: or from:.

Messages of a certain minimum size
» 600 watch [501,*]
Caution:  all 'size' parameters assume that the option
  [x] Join multipart messages when retrieving headers
is enabled; if it isn't, the size test will be performed separately
on each part, possibly with unintended consequences.
Note:  there is an interesting 'gotcha'; when the parts are joined
automagically, the size used to determine whether a [low,*] filter
should apply is arrived at by multiplying the size of the first part
that happens to download by the number of parts stated in the tag.
In some cases that results in quite odd-looking behaviour [especially
when the final part, which is often much smaller than the others, is
encountered first].
Also:  on some servers that filter will miss all messages posted with
[Free] Agent [because they all appear to have zero lines regardless of
their actual lengths].

Messages of a certain maximum size
» 600 watch [*,1587]
Note:  on some servers that filter will hit all messages posted with
[Free] Agent [because they all appear to have zero lines regardless of
their actual lengths]; in a 'watch' that quirk may be a lesser problem
than it is in a kill.
Also:  assuming 'lines' of 63 bytes [the 'standard' for uuencoding]
that filter cuts off at approximately 100kb; for messages posted in
other formats, the upper limit may not work as expected [and must be
adjusted in any case to your desired cutoff point].

Messages of a certain range of sizes
» 600 watch [501,50000]
Neither too small nor too large.

Messages of a certain size
» 600 watch [0,0]
Picks up all [Free] Agent posts on certain servers.

Messages of a certain minimum size
» 600 watch [501,*] & ! from: ( dumb | stupid ) & ! subject ( MMF | sex* )
But prevents some authors and some subjects from being watched.

Messages of a certain minimum size
» 600 watch [501,*] and subject: (jpg or gif or ...)
But only those indicating the desired file type.

Messages of a certain maximum size
» 600 watch [*,300] and subject: Colorado
But only for a specific subject.

Messages meeting certain criteria
» 600 watch subject: ( senior & software & SE & (San Francisco | Sunnyvale | Palo Alto) )
All of the first three elements must appear in conjunction with at
least one of the last three.

Messages meeting certain criteria
» 600 watch subject: ( ( grow* or pick* ) and ( apple* or orange* ) )
At least one of the first two and at least one of the last two must
appear.

Watch for certain domains
» 600 watch from: ( uk or nz or au )
Assumes that 'real' domains actually appear in the From: header.

Messages on a certain topic [regardless of author]
» 500 watch subject: filter*

Messages of a certain size [usually in binary groups]
» 400 kill [1,199]
Caution:  as explained in the help file, the seemingly equivalent
  [*,199] <-- bad
is NOT generally recommended [because on some servers that would kill
every post made with [Free] Agent].
Note:  even with the option
  [x] Join multipart messages when retrieving headers
enabled, some messages may not be joined automagically; to allow for
that possibility, the "mark read" action is strongly recommended in
this context.
Also:  the AGENT.INI file setting
  RequireFilenameWithTag=
also affects automagic joining.

Suppress 'junk' in binary groups
» 400 kill [1,199] or subject: (Re or req* or repost* or 0 or 00 ... )
Because of the rate of false positives and the possibility that the
0/n part may later be of some interest, this is intended for use only
with the "mark read" action.

Suppress 'junk' [compare this with the next filter]
» 400 kill [1,199] or not subject: ( key phrase or topic ... )
Also suppresses anything not on your list of desirable topics.

Suppress 'junk' [compare this with the preceding filter]
» 400 kill [1,199] and not subject: ( key phrase or topic ... )
But only if is not on your list of desirable topics.

Money
+ +++ Changed in V1.02
+ » 400 kill subject: ( $ | $$ | $$$* | us$* )
+ +++
» 400 kill subject: ( $$q* or $$f* or $$e* or $$5* ... )
» 400 kill subject: ( $it* | $th* | $ju* | $ma* )
» 400 kill subject: ( 600* | $60* | $$6* )
» 400 kill subject: ( $9 | $10* | $14* | $19* | $29* | $39* )
» 400 kill subject: ( 9 | 10 | 14 | 19 | 29 | 39 | 95 | 99 )
» 400 kill subject: ( cash* | ca$* | $ca* | $$c* )
» 400 kill subject: ( money* | $mo* | $$m* )
There are surprisingly few variations, so adding to each list as hits
occur is quite easy.
Note:  the operands
  cash*
or
  money*
may be far too broad for some groups; see the overrides suggested in
the 800 bracket, above.

Common MMF phrases
» 400 kill subject: (( it | this | you ) & (real* | work* | try ))
One of the first three and one of the second three must appear but in
either order; this may have a fairly high rate of false positives in
some groups.

Suppress certain .ext strings
» 400 kill subject: ( txt or zip or exe )
» 400 kill subject: ( jpg or gif or bmp )
Intended for groups where posting such files would be inappropriate.

Suppress subjects in which you are not interested
» 400 kill subject: ( not computer* )
» 400 kill not subject: ( computer* )
Both do the same thing, but the second one is easier to extend
» 400 kill not subject: ( computer* | software* | ... )
to allow more topics.

Suppress typical "spam" offers
» 400 kill subject: ( free* | f r e e )
See the override filter, in the 800 bracket above, for auorfa.

Get rid of those   S P A C E D   O U T   subjects
» 400 kill subject: ( E or Z or X X X )
Caution:  in languages in which capital E or Z often stand by themselves,
the first two terms in this filter may be too broad.
WARNING:  even in English groups the first term may still have too many false
positives (triggered by 'words' like "E-mail", "E-list" or "Z-28").
Note:  all three of those terms are case sensitive.

Suppress subjects in which you are not interested
» 400 kill not subject: colorado
» 400 kill not subject: colorad*
» 400 kill not subject: co
» 400 kill not subject: Colorado
» 400 kill not subject: CO
Caution:  the five individual filters CANNOT be used all at the same
time; the following single filter is a correct way to combine them to
avoid a common boolean trap.
Note:  the last two are case-sensitive.

Suppress subjects containing any of the five preceding arguments
» 400 kill not subject: ( colorad* | co )
Note:  the only way to limit matching of (word) filter terms to lower
case only is to use the % operator; these filters force one or both
operands to lower-case only
» 400 kill not subject: ( %colorad* | co )
» 400 kill not subject: ( colorad* | %co )
» 400 kill not subject: ( %colorad* | %co )
The % operator doesn't 'distribute', so this filter
> 400 kill not subject: %( colorad* | co )    <- BAD
while it appears to be equivalent to the previous one, is actually not
valid.

Suppress subjects unless any term appears [compare this filter with
the next one]
» 400 kill not subject: ( transportation or logistic* or distribution or materi* )
Wildcards are used to extend topics and allow for spelling variations.

Suppress subjects unless all four terms appear [compare this filter
with the previous one]
» 400 kill not subject: ( transportation and logistic* and distribution and materi* )
Wildcards are used to extend topics and allow for spelling variations.

Suppress certain subjects from certain authors
» 400 kill subject: ( topic | word ) and from: ( fan | foe )
Posts on those subjects by other authors or
by those authors on other subjects are not touched.

Suppress subject unless certain pairs of terms appear
» 400 kill not subject: ( ( grow* or pick* ) and ( apple* or orange* ) )
At least one of the first two and at least one of the last two must
appear.

Suppress everything but one author
» 400 kill not from: pls.see.addr@my.sig
Parentheses may be added
» 400 kill not from: ( pls.see.addr@my.sig | your.name@here )
to extend the list]

Suppress names or domains
» 400 kill from: ( user.name or "Any Person" )
» 400 kill from: ( bad com | worst net )
» 400 kill from: aol.com*
Note:  'punctuation' is actually ignored.
Also:  the third expression ends with an * [asterisk] because the only
[pathetic] anti-spam measure permitted in that domain is the use of a longer
word beginning with 'com' ['comeandgetmespammer'] in place of 'com' itself.

Handle all 'left-over' messages in certain groups
» 300 watch *
Similar to the group setting to automatically download bodies.

Handle all 'left-over' messages in certain groups
» 200 kill *
Assumes you have watched whatever you are interested in.

Go to Top