S&A (Scoring und Aktionen)

In diesem Bereich der FAQ wird viel mit so genannten 'RegExp' (Regular Expressions (Regulären Ausdrücken)) gearbeitet (z.B. sowas wie {{^\[[Dialog\]].*}"). Wer wissen möchte, was es mit Solchen auf sich hat, sollte evtl. einmal einen Blick auf:

http://www.regenechsen.de/phpwcms/index.php?regex_allg

riskieren, um 'RegExp' zu verstehen und besser anwenden zu können.
Ebenso besteht in der 40tDlg Hilfe ein kleiner Exkurs in genannte RegExp, unter 'Hilfe -> Reference -> Regular Expressions' (allerdings nur in englisch).


  1. Welche Farben kann ich insgesamt bei S&A verwenden. Gibt es dafür irgendwo eine Erläuterung?
  2. Wozu dienen diese Dinger: [*] oder [de.*]?
  3. Ich benutze [*] für alle Gruppen, möchte aber alle Gruppen mit .hardware von den folgenden Regeln ausschließen. Wie mache ich das?
  4. Wie muss ich auf den 'To:'-Header filtern?
  5. Wie kann ich ein Zeitlimit auf meine Filterregeln setzen?
  6. Wie setze ich einen Filter, um alle Nachrichten, außer denen, die mich interessieren, als gelesen zu markieren oder zu löschen?
  7. Wie kann ich voreingestellte Plonk-Regeln ändern?
  8. Wie kann ich global eine Plonk-Regel von einer Gruppen-Plonk-Regel allen Gruppen hinzu fügen?
  9. Wie kann ich zwei Bedingungen innerhalb einer Filter-Regel verwenden?

Frage Welche Farben kann ich insgesamt bei S&A verwenden. Gibt es dafür irgendwo eine Erläuterung?

Antwort Eine ausführliche Farbcode-Tabelle findest Du unter: http://web.njit.edu/~kevin/rgb.txt.html,oder auch http://endprod.com/colors/

Es muss noch angemerkt werden, dass 40tDlg die Farbwerte nicht so verwendet, wie sie in allgemeiner Form angewandt werden, als RGB, sondern Dialog verwendet sie in der Form BGR - das heißt: Der Farbwert wird von rechts nach links gelesen eingetragen und benutzt..

Somit wird z.B. RGB für 'blue-violet' entpricht dem Wert aus der Farbtabelle 8A2BE2, in Dialog, als BGR, gedreht eingetragen: E22B8A. Wird dies nicht angewandt, erhält der User dem entsprechend nicht die Farben seiner Vorstellung!


Frage Wozu dienen diese Dinger: [*] oder [de.*]?

Antwort Dies sind sogenannte Tags/Sektionen, in denen die darauf folgenden Regeln gelten sollen!

[*] bedeutet z.B.: in allen Gruppen (NGs)
[de.*] bedeutet: in allen de.* Gruppen


Frage Ich benutze [*] für alle Gruppen, möchte aber alle Gruppen mit .hardware von den folgenden Regeln ausschließen. Wie mache ich das?

Antwort Es liegt beinahe auf der Hand, wenn man an 'positiv' (+) und 'negtiv' (-) denkt. In deinem Beispiel bedeutet dies:

[* -.hardware]


Frage Wie muss ich auf den 'To:'-Header filtern?

Antwort In 40tDlg, kann man auf jeden Header einer Nachricht filtern. Hier ein Beispiel, um auf den 'To:'-Header zu filtern:

!move(Mailingliste) Header {^(To: meinemailingliste@blahblah.com)}

Dieses Beispiel verschiebt Nachrichten der 'meinemailingliste@blahblah.com' in den Ordner 'Mailingliste'. Diesen Ordner erstellt man sich durch 'Rechtsklick' im Newsgruppenfenster und Auswahl von 'Neuer Ordner'.

Nicht vergessen!: Mit:

[email.*]

oberhalb deines Filters, das Filtern auch für E-Mails zu zulassen!


Frage Wie kann ich ein Zeitlimit auf meine Filterregeln setzen?

Antwort 40tDlg erledigt dies mit einer 'Expire'-Anweisung. Diese muss im Format 'yyyymmdd' (y=Jahr, m=Monat, d=Tag) am Ende der Filterregel stehen. Ein Beispiel:

=+5000 Subject {^\[[Dialog\]].*} Expire:20040323

Mit diesem Filter läuft die Regel am 23. März 2004 ab. Beachte bitte die Leerstelle vor 'Expire'. Dies ist wichtig, sonst arbeitet die 'Expire'-Regel nicht! Beachte ebenso, dass 40tDlg diese Regel, wenn sie abgelaufen ist, nicht automatisch aufräumt/löscht (purge). Dies mußt Du von Hand, im S&A-Fenster, mit der Taste 'Verfallene Eintr. löschen' auslösen.


Frage Wie setze ich einen Filter, um alle Nachrichten, außer denen, die mich interessieren, als gelesen zu markieren oder zu löschen?

Antwort Der günstigste Fall wären sogenannte Tags im Subject, z.B. [Dialog], die manche Poster setzen, um auf das Thema hinzuweisen, um das es im Posting geht. Interessiert mich nur ein Thema, z.B. eben oben im Tag genanntes, z.B. in der Newsgruppe news.software.readers, gilt folgendes Beispiel:

Wähle Menü 'Einstellungen -> Scoring und Aktionen...' und kopiere unten stehendes Beispiel in S&A, um alle *nicht-Dialog-Nachrichten* zu löschen:

[news.software.readers]
!delete Subject -{^.*(Dial|40tude|d...og)}

Um nur als 'gelesen' zu markieren, ersetze '!delete' durch '!markread'.


Frage Wie kann ich voreingestellte Plonk-Regeln ändern?

Antwort Dazu mußt Du in einer .ini-Datei arbeiten. Öffne die 'settings.ini', diese ist im 40tD-Hauptverzeichnis, in einem Editor deiner Wahl und füge die Section [Scoring] ein, falls sie noch nicht vorhanden ist.

Nun kannst Du evtl. voreingestellte Werte ändern für:
Score für Poster erhöhen, Score für Poster herab setzen, Plonk-Regel hinzu fügen und Subject-Plonk-Regel hinzu fügen.
Hier ein Beispiel:

[Scoring]

#Einstellung 'Score für Poster hoch'
DefUp=+100

#Einstellung 'Score für Poster runter'
DefDown=-100

#Aktion für Plonk-Regel hinzufügen
DefPlonk=!ignore,delete

#Aktion für Subject-Plonk-Regel
DefSubjectPlonk=!ignore,markread hinzufügen


Frage Wie kann ich global eine Plonk-Regel von einer Gruppen-Plonk-Regel allen Gruppen hinzu fügen?

Antwort 40tDlgs normales Verhalten ist, eine hinzu zu fügende Plonk-Regel zu einer Regel in einer NG hinzu zu fügen, in der man sich gerade befindet. Um dies für alle NGs gelten zu lassen, drücke die <CTRL>-Taste (auch <STRG> genannt), um hinzu zu fügen.


Frage Wie kann ich zwei Bedingungen innerhalb einer Filter-Regel verwenden?

Antwort Um zwei Bedingungen zu kombinieren, muß der Ersten, mit "-@" für "and not" ("und nicht") oder "+@" für "and" ("und") eine weitere Bedingung beigefügt werden. Beispiel:

-100 Subject "sex" "viagra" "enlargement" -@From: "Meine Freundin"
-100 Subject "help" "emergency" +@From: "Mein Boss"

Beachte! Nach dem '@' darf kein Leerzeichen sein, sonst funktioniert diese Regel nicht!

Da die Frage einmal gestellt wurde, ob man auch nach mehreren (bestimmten) Gruppen scoren kann, in deren Namen bestimmte 'Schlagwörter' benutzt werden (z.B. Gruppen, in denen comp. und comm. oder o.ä. vorkommen) nach dem Muster:

[comp. comm.]

sei auf folgendes hingewiesen: Dies geht nur über 'Regular Expressions'.
Dies hier zu verewigen ist allerdings, wie ja schon zu Beginn dieses Kapitels geschrieben, ein zu großer Bereich. Ein Einlesen in 'RegExp' sollte, wie oben genannt, auf oben stehender Internetadresse oder jeder beliebigen anderen, unbedingt erfolgen. Iim Einzelfall kann auch in den NGs zu jedem speziellen Fall gefragt werden.

Anmerkung:

Folgende Auflistung beschreibt mögliche Eingaben, um für S&A bestimmte oder mehrere NGs für das Scoren einzugrenzen/auszuwählen:

[*]   Alle Gruppen
[* -test]   Alle Gruppen, ausser denen, in denen test vorkommt.
[{^de\.}]   Alle Gruppen, deren Name mit 'de.' beginnt.
[de.]   Alle Gruppen, in deren Name 'de.' (deutschsprachige Gruppen) vorkommt.
[de.test]   Alle Gruppen, in deren Name 'de.test' enthalten ist.
[{^de\.test}]   Alle Gruppen, deren Name mit 'de.test' beginnt.
[{^de\.test$}]   Nur die Gruppe 'de.test' ist im Newsgroups Header vorhanden. Matcht also nicht bei Crossposts wie z.B.: 'de.test, alt.de.test'
[de. test]   Alle Gruppen, in deren Name 'de.' (deutschsprachige Gruppen) vorkommt, zusätzlich alle Gruppen, in denen 'test' vorkommt.

Danke an Hermann Hippen für die sehr schöne und ausführliche Auflistung!