8.10 Scoring Tips

Crossposts

If you want to lower the score of crossposts, the line to match on is the Xref header.

("xref" (" talk.politics.misc:" -1000))
Multiple crossposts

If you want to lower the score of articles that have been crossposted to more than, say, 3 groups:

("xref"
  ("[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+"
   -1000 nil r))
Matching on the body

This is generally not a very good idea—it takes a very long time. Gnus actually has to fetch each individual article from the server. But you might want to anyway, I guess. Even though there are three match keys (Head, Body and All), you should choose one and stick with it in each score file. If you use any two, each article will be fetched twice. If you want to match a bit on the Head and a bit on the Body, just use All for all the matches.

Marking as read

You will probably want to mark articles that have scores below a certain number as read. This is most easily achieved by putting the following in your all.SCORE file:

((mark -100))

You may also consider doing something similar with expunge.

Negated character classes

If you say stuff like [^abcd]*, you may get unexpected results. That will match newlines, which might lead to, well, The Unknown. Say [^abcd\n]* instead.