-*- text -*- The purpose of this FAQ is to provide answers for commonly asked questions about slrn score files. Some of the questions are based on a similar FAQ for the rn newsreader. Questions: 1. How do I set up slrn to read a score file? 2. What is the format of an slrn score file? 3. How do I assign a score to a specific subject, e.g., ``test'' messages? 4. How do I score postings from a specific person? 5. How do I score articles from a specific site? 6. How do I score followups? 7. How do I kill cross posts from a specific group? 8. How do I score all cross-posts? 9. I know how to kill posts from a specific person. How do I make it so I read _only_ the posts from a specific person? 10. How do I score articles that have no references line but whose subject line starts with ``Re:'' 11. How do I score subject headers that contain only uppercase characters? Answers: ------------------------------ Subject: 1. How do I set up slrn to read a score file? In order for slrn to read a score file, it must know the name of the score file. This is specified by putting the appropriate line in your .slrnrc file. For example, if the name of the score file is `Score' and it is located in the News subdirectory, then add the line: scorefile "News/Score" to your .slrnrc file. ------------------------------ Subject: 2. What is the format of an slrn score file? The format is simple. It consists sections that scores that are to be applied to one or more newsgroups. Each section must start with a line that contains the name of the newsgroup, enclosed in square brackets, for which the scores defined by that section apply. For example, a line of the form: [sci.physics.*] indicates the beginning of a section of scores for the sci.physics hierarchy of newsgroups. Individual scores of a section start with the `Score' keyword. It indicates how many points are to be awarded to the article if it passes the test defined by the score. For example, Score: 100 Subject: neutrino defines a score of 100 points to an article if the subject contains the word `neutrino'. It is also possible to score an article based on more than one header. For example, Score: 1000 Subject: path integral From: Richard Feynman gives an article a score of 1000 if the subject is about path integrals and the author is ``Richard Feynman''. A score of -9999 is a special score. If an article scores this value on a given test, any other tests for the article will be skipped and the article will be killed. If the first character of a score is `=', the article will given the score and the rest of the tests will be skipped. For example, [sci.physics.*] Score: =1000 From: @space.mit.edu Score: -9999 Xref: astrology defines two tests for the sci.physics hierarchy of newsgroups. Since the first score starts with the `=' character, any article that whose author's email address contains `space.mit.edu' will be given 1000 points and the rest of the tests will be skipped. The second test assigns a score of -9999 to any article cross posted to an astrology newsgroup. Since the score defined by this test is -9999, the article will be killed. Together these two tests indicate that any article cross posted to an astrology newsgroup is killed except if the author is from space.mit.edu in which case the article is awarded 1000 points. The `~' character may used used as a NOT operator. For example, the previous score can (almost) be written: [sci.physics.*] Score: -9999 ~From: @space.mit.edu Xref: astrology This simply says to kill any article that was cross posted to an astrology group UNLESS the author is from space.mit.edu. Finally the ``Score'' keyword can be followed by 2 colons to indicate that any the score is awarded to the article if any of the tests defined by the score are passed. For example, Score:: 1000 Subject: neutrino Subject: fermion assigns a score of 1000 to an article if its subject line contains either neutrino or fermion. ------------------------------ Subject: 3. How do I assign a score to a specific subject, e.g., ``test'' messages? Score: -9999 Subject: test ------------------------------ Subject: 4. How do I score postings from a specific person? Score: -9999 From: name@who\.knows\.where assigns a score of -9999 to the person name@who.knows.where. ------------------------------ Subject: 5. How do I score articles from a specific site? Score: -9999 From: @who\.knows\.where will give a score of -9999 to an From line that contains `@who.knows.where'. ------------------------------ Subject: 6. How do I score followups? Assume a followup either contains a subject starting with `Re:' or has a references header. To assign a score of -9999 to such an article use: Score:: -9999 Subject: ^Re: References: . Note the use of the double colon following the score keyword. This indicates that the score is an OR type expression. This means that the above score will pick out articles with EITHER subjects that begin with `Re:' OR have a references line. To score articles with BOTH subjects with `Re:' AND a references headers, use the single colon form: Score: -9999 Subject: ^Re: References: . Single colon forms are AND expressions. ------------------------------ Subject: 7. How do I kill cross posts from a specific group? You have two choices: either use the `Xref' header or the `Newsgroups' header. It is best to avoid the `Newsgroups' header if possible, that is, try to use the Xref header. Assume that you want to score any article that was cross-posted to an ``astrology'' newsgroup. Then use one of the following forms: Score: -9999 Xref: astrology Score: -9999 Newsgroups: astrology Again, try to avoid using the last form if possible. ------------------------------ Subject: 8. How do I score all cross-posts? Like the previous answer you have two choices: to use the Xref header (preferred) or the Newsgroups header. The first choice uses the fact that a cross-posted article will have two colons in the Xref header field. So, use a score of the form: Score: -9999 Xref: :.*: If you do not have the option of using the Xref header, use: Score: -9999 Newsgroups: , ------------------------------ Subject: 9. I know how to kill posts from a specific person. How do I make it so I read _only_ the posts from a specific person? The answer is simple: kill posts by everyone else. Assume that you want to only read posts by someone whose from line contains: someone@i.like. Then use a score of the form: Score: -9999 ~From: someone@i\.like Note the use of the NOT indicator (~). Subject: 10. How do I score articles that have no references line but whose subject line starts with ``Re:'' Define a score based on the references header and the subject headers, e.g., Score: -9999 ~References: . Subject: ^Re: Here the the references line simply says that the article must NOT have a references header. The subject header uses a regular expressions that says ``Re:'' must occur at the beginning of the subject. This will match the strings "Re:", "re:", "rE:", and "RE:". To match only "Re:", use the regular expression Subject: ^\cRe: Here \c turns on case-sensitivity. To turn it off, use \C. 11. How do I score subject headers that contain only uppercase characters? Use something like: Score: -9999 ~Subject: \c[a-z] This will assign a score of -9999 to any article whose subject header does NOT contain a lowercase character. To also kill followups to such articles use: Score: -9999 Subject: ^Re: \c[^a-z]*$ Subject: ^Re: \c.*[A-Z] The last one says that the article will be killed if the subject satisfies the two conditions: 1. It begins with "Re: " and the rest of the line does not contain a lowercase character. 2. It begins with "Re: " and contains an uppercase character somewhere on the remaining part of the line. The last constraint is necessary to avoid killing articles that are followups to articles with an empty subject line. Of course, one might want to kill such articles as well.