Alle Beiträge
15 Min. Lesezeit

Wortfilter in einer Telegram-Gruppe einrichten

Der Bot löscht Nachrichten mit bestimmten Wörtern. So bauen Sie eine solche Regel aus mehreren Wörtern, ergänzen Synonyme und Ausnahmen und testen sie vorab.

Früher oder später wiederholt sich in jedem lebendigen Chat dasselbe: „schreib mir privat“, „verkaufe Account“, Anzeigen für Krypto-Tausch. Das von Hand wegzuräumen ist mühsam, und einen Moderator rund um die Uhr zu beschäftigen lohnt nicht — mit solcher Werbung und solchem Spam wird ein Wortfilter fertig: Der Bot löscht selbst die Nachrichten, in denen die gesuchten Wörter auftauchen.

In Scarabeus heißt dieser Filter Phrasenmoderation. Anders als KI-Regeln rät er nicht: Entweder hat die Regel die Wörter in der Nachricht gefunden oder nicht. Deshalb passen Phrasen dort, wo die Formulierungen vorhersehbar sind und ein Fehler teuer wird.

Der Baukasten sieht aus wie eine Reihe von Fragmenten, die miteinander verbunden sind. Unten steht, was jede Verbindung bedeutet, wie sie sich kombinieren lassen und warum sich dieselbe Regel manchmal anders verhält als erwartet. Jedes Ergebnis „trifft“ und „übergeht“ wurde durch dieselbe Maschine geschickt, die im Bot arbeitet.

Wo der Wortfilter einer Telegram-Gruppe sitzt#

Bereich Moderation → Karte „Phrasenmoderation“. Auf der Karte selbst liegt der Schalter, der den ganzen Block ein- und ausschaltet, und die Schaltfläche „Konfigurieren“ öffnet die Regelsätze.

Die Karte „Phrasenmoderation“ im Bereich Moderation

Die Übersicht auf der Karte zeigt sofort, wie viele Sätze und Regeln aktiv sind und in wie vielen Sätzen noch Sanktionen fehlen.

Regeln leben in Sätzen. Ein Satz ist ein thematisches Bündel: „Krypto“, „Kanalwerbung“, „Schimpfwörter“. Die Aufteilung ist nicht kosmetisch: Die Sanktionskette gehört zum Satz, deshalb können Werbung und Beleidigungen unterschiedlich bestraft werden, ohne ihre Verstoßzähler zu vermischen.

So bauen Sie Ihre erste Regel#

Drücken Sie innerhalb eines Satzes auf „Regel hinzufügen“. Eine Regel besteht aus Fragmenten zweier Arten:

  • Phrase — die konkreten Wörter, die in der Nachricht gesucht werden;
  • Zahl — eine beliebige Ziffernfolge, angezeigt als „beliebige Zahl“.

Zwischen benachbarten Fragmenten steht immer eine Verbindung — ODER oder UND. Die Schaltfläche „Fragment hinzufügen“ hängt das nächste Stück an, und „Gruppieren“ fasst benachbarte Fragmente zu einer Gruppe zusammen.

Der Regel-Editor: eine Gruppe „buy ODER sell“, eine UND-Verbindung mit Abstand 10 und die Phrase „crypto“

Über dem Editor hängt immer eine Vorschau — sie zeigt, wie die Regel tatsächlich gelesen wird.

Nehmen wir als Beispiel den Satz „Krypto“: In einem Chat über Brettspiele haben Anzeigen für Währungstausch nichts verloren. Die einfachste funktionierende Regel ist eine einzige Phrase:

Sie trifft direkte Anzeigen und übergeht alles, was anders formuliert ist. Ab hier beginnt das, wofür man den Baukasten braucht.

UND — beide Teile müssen in der Nachricht stehen#

Die Verbindung UND bedeutet, dass beide Fragmente im Text vorkommen müssen. Neben der Verbindung erscheint das Feld „Bis zu n Zeichen“ — der maximale Abstand zwischen ihnen.

  • Trifft: “swap usdt at a good rate”.
  • Trifft: “usdt for swap” — ohne strikte Reihenfolge spielt es keine Rolle, welches Wort zuerst kommt.
  • Übergeht: “swap stickers happens every friday at our board game club, and questions about usdt belong in another chat” — zwischen den Wörtern liegen mehr als 40 Zeichen.

ODER — einer der Teile genügt#

Die Verbindung ODER greift, sobald mindestens einer der benachbarten Teile gefunden wird:

  • Trifft: “buying a couch” — ODER verlangt nichts außer einem der Wörter, deshalb ist eine solche Regel weit gefasst.
  • Übergeht: “trading cards”.

Eine wichtige Feinheit: ODER bindet stärker als UND. Diese Regel hier:

liest sich als „swap oder p2p — und daneben usdt“, nicht als „entweder swap oder p2p neben usdt“. Ausgeschrieben sieht dieselbe Verbindung so aus:

  • Übergeht: “swap stickers” — das Wort “swap” allein trifft nichts, auch es braucht ein “usdt” in der Nähe.
  • Trifft: “p2p usdt” und “swap usdt”.

Wenn Sie eine andere Gruppierung brauchen, markieren Sie die Teile mit der Schaltfläche „Gruppieren“: Dann wird zuerst der Treffer innerhalb der Gruppe gesucht, und erst dessen Ergebnis wird mit den übrigen Fragmenten verbunden. Eine Regel darf mehrere Gruppen enthalten, aber eine Gruppe innerhalb einer Gruppe ist nicht erlaubt.

Zahl — beliebige Ziffern#

Das Fragment „beliebige Zahl“ steht für jede Ziffernfolge: Beträge, Mengen, Nummern. Es wird dort gebraucht, wo die Wörter vorhersehbar sind, die Zahlen aber nicht:

  • Trifft: “selling for 500”, “giving away 2 pieces”.
  • Übergeht: “selling advice” — darin stehen keine Ziffern.

„Bis zu n Zeichen“: zwei Fallen#

Die erste: 0 bedeutet „ohne Begrenzung“, nicht „unmittelbar nebeneinander“. Das ist der häufigste Fehler. Steht dort 0, müssen sich die Fragmente einfach irgendwo in der Nachricht treffen — meinetwegen in der ersten und in der letzten Zeile.

Die zweite: Der Abstand wird an einem Text gemessen, aus dem die Leerzeichen bereits entfernt sind.

  • Trifft: “notcrypto”, “not crypto” und “not crypto” — die Leerzeichen verschwinden vor der Prüfung, also ist der Abstand in allen drei Fällen null.

Deshalb deckt die Begrenzung deutlich mehr ab, als es auf den ersten Blick aussieht: 40 Zeichen ohne Leerzeichen sind ungefähr sechs bis sieben Wörter.

Strikte Reihenfolge#

Standardmäßig achtet die UND-Verbindung nicht auf die Reihenfolge — wie im Beispiel “usdt for swap” weiter oben. Das Häkchen „Strikte Reihenfolge“ verlangt, dass die Teile im Text von links nach rechts stehen — genau so, wie sie im Formular angeordnet sind. Im Diagramm wird die strikte Reihenfolge durch ein Ausrufezeichen markiert:

  • Trifft: “buying usdt”.
  • Übergeht: “usdt buying”.

Die strikte Reihenfolge lässt sich für die ganze Regel oder nur für eine Gruppe einschalten.

Ausnahmen#

Das Häkchen „Ausnahme“ macht aus einem Fragment eine Bedingung, die das Auslösen aufhebt. Die Ausnahme bleibt ein ganz normaler Teil der Kette — mit ihrer eigenen Verbindung wie alle anderen — und unterscheidet sich nur durch die Farbe. Was genau sie aufhebt, hängt von der Ebene ab.

Eine Ausnahme auf der obersten Ebene hebt die ganze Regel auf. Zuerst wird der Hauptteil geprüft, und wenn er zutrifft, aber irgendwo in der Nachricht die Ausnahme auftaucht, löst die Regel nicht aus. Ein Beispiel ist der Satz „Kanalwerbung“, in dem eigene Ankündigungen nicht mit abgeräumt werden sollen:

  • Trifft: “subscribe to the channel”.
  • Ausnahme hebt auf: “subscribe to our channel”.
  • Ausnahme hebt auf: “our channel: subscribe to the channel” — wo genau in der Nachricht die Ausnahme steht, spielt keine Rolle.

Gibt es mehrere „eigene“ Varianten, wird die Ausnahme auf die ganze Gruppe gesetzt — dann hebt jede von ihnen das Auslösen auf:

  • Ausnahme hebt auf: “subscribe to the official channel”.
  • Trifft: “subscribe to the channel”.

Eine Ausnahme innerhalb einer Gruppe löscht nur diese Gruppe, während die übrigen ODER-Zweige außerhalb weiterarbeiten. Wie das in der Praxis aussieht, steht unten im Abschnitt über Kombinationen.

Auf jeder Ebene ist eine Ausnahme erlaubt, verschachtelte Ausnahmen sind verboten.

Kombinationen: wie die Teile zusammenspielen#

Einzelne Verbindungen sind klar; die Überraschungen fangen an, wenn man sie kombiniert. Und genau die Kombinationen braucht man, um Werbung und Spam auszusieben, ohne normale Gespräche zu treffen. Unten stehen die wichtigsten Kombinationen und wie die Regel darauf reagiert.

Eine Gruppe mit UND innerhalb von ODER#

Eine Gruppe kann selbst eine UND-Verbindung sein — dann wird sie als Ganzes zu einem der ODER-Zweige:

  • Trifft: “buying usdt” — die Gruppe hat ausgelöst.
  • Trifft: “any p2p here?” — der zweite Zweig hat ausgelöst, die Gruppe wurde nicht gebraucht.
  • Übergeht: “buying a couch” — in der Gruppe fehlt “usdt”, und “p2p” steht nicht da.

Eine Kette aus drei Teilen#

UND-Verbindungen lassen sich hintereinander setzen, jede mit eigenem Abstand. Die Regel löst nur aus, wenn sich alle Teile finden:

  • Trifft: “selling telegram account”.
  • Übergeht: “selling an account” — ein Teil fehlt.

Zwei Gruppen über UND#

Es dürfen mehrere Gruppen sein — zum Beispiel Synonyme auf beiden Seiten:

  • Trifft: “p2p btc”, “swap usdt” — ein beliebiges Wort aus der ersten Gruppe neben einem beliebigen aus der zweiten.
  • Übergeht: “swap stamps”.

Strikte Reihenfolge ohne Abstandsgrenze#

Strikte Reihenfolge und Abstand sind voneinander unabhängig. Mit der Null zählt die Reihenfolge, der Abstand nicht:

  • Trifft: “swap stickers, and at the very end about usdt”.
  • Übergeht: “usdt first, swap later”.

Strikte Reihenfolge nur innerhalb der Gruppe#

Die Reihenfolge lässt sich von einer einzelnen Gruppe verlangen, ohne die übrige Regel zu binden:

  • Trifft: “buying usdt”.
  • Übergeht: “usdt buying” — innerhalb der Gruppe ist die Reihenfolge verletzt.
  • Trifft: “usdt buying via p2p” — die Gruppe hat nicht ausgelöst, dafür aber der Zweig “p2p”.

Zahl an erster Stelle#

Die Zahl darf an jeder Stelle der Kette stehen. Zusammen mit der strikten Reihenfolge lässt sich so „Betrag, dann Währung“ greifen, ohne die umgekehrte Reihenfolge zu berühren:

  • Trifft: “500 usdt”.
  • Übergeht: “usdt 500”.

Ausnahme innerhalb einer Gruppe#

Der feinste Fall: Die Ausnahme löscht nur ihre eigene Gruppe, während der Nachbarzweig des ODER sein eigenes Leben führt:

  • Trifft: “swap usdt” — die Gruppe hat ausgelöst, es gibt keine Ausnahme.
  • Ausnahme hebt auf: “swap stickers” — die Gruppe ist gelöscht, andere Zweige stehen in der Nachricht nicht.
  • Trifft: “swap stickers and p2p” — die Gruppe ist gelöscht, aber der Zweig “p2p” hat von sich aus ausgelöst.

Strikte Reihenfolge und Ausnahme#

Die Ausnahme nimmt an der Reihenfolge nicht teil: Die strikte Reihenfolge prüft die Hauptteile, die Ausnahme wird in der ganzen Nachricht gesucht:

  • Trifft: “buying usdt”.
  • Ausnahme hebt auf: “buying from you usdt”.

Warum die Regel anders auslöst: was vor der Prüfung mit dem Text passiert#

Das ist der entscheidende Abschnitt: Die Hälfte aller Überraschungen erklärt sich genau hier. Regel und Nachricht werden beide auf dieselbe Form gebracht und erst dann verglichen:

  1. Der Text wird in Kleinbuchstaben überführt — die Groß- und Kleinschreibung spielt nie eine Rolle;
  2. Emojis werden entfernt;
  3. Satz- und Sonderzeichen werden durch ein Leerzeichen ersetzt;
  4. Vertauschte Buchstaben werden erkannt: In Wörtern, in denen Alphabete oder Buchstaben und Ziffern gemischt sind, werden die Fremdzeichen zurückgesetzt — “go0ds” liest sich als “goods”, und “cаnal” mit kyrillischem „а“ als “canal”. Eine reine Ziffernfolge wird nicht angetastet, also bleibt “100” gleich “100” — und “g00ds” mit zwei Nullen hintereinander wird ebenfalls nicht umgewandelt;
  5. alle Leerzeichen werden entfernt.

Daraus folgen drei Dinge, die man im Kopf behalten sollte:

  • Gesucht wird nach Teilzeichenketten, Wortgrenzen gibt es nicht. Die Phrase ban findet sich in “banana” und “urban”. Kurze Phrasen muss man fast immer mit einer UND-Verbindung präzisieren oder durch längere ersetzen.
  • Leerzeichen und Satzzeichen innerhalb der Phrase stören nicht. Die Regel spam greift bei “s p a m” und “s.p.a.m”.
  • Eine Phrase aus lauter Emojis oder Satzzeichen greift nie — nach der Normalisierung bleibt von ihr nichts übrig.

Prüfen Sie die Regel, bevor sie arbeitet#

Unten im Editor liegt die Karte „Regel prüfen“. Fügen Sie in das Feld „Text zur Prüfung“ eine echte Nachricht ein und drücken Sie auf „Prüfen“.

Geprüft wird der Entwurf, der gerade im Formular geöffnet ist — die Regel muss dafür nicht gespeichert werden. Sanktionen löst das nicht aus, und im Protokoll landet es auch nicht. Die Antwort gibt es in drei Varianten:

  • „Text besteht die Moderation nicht“ — die Regel hätte ausgelöst;
  • „Text besteht die Moderation“ — sie hat nicht ausgelöst; darunter steht, was genau gefehlt hat: „Im Text nicht gefunden: …“;
  • „Text besteht die Moderation“ und dabei ist die Ausnahme hervorgehoben — die Regel hat ausgelöst, wurde aber von der Ausnahme aufgehoben.

Die Hervorhebung zeigt den Text bereits nach der Normalisierung: ohne Leerzeichen, Emojis und Satzzeichen. Das sieht ungewohnt aus, dafür sieht man sofort, was der Bot tatsächlich vergleicht.

Die Karte „Regel prüfen“: der Text “sell crypto” besteht die Moderation nicht

Die Prüfung speichert nichts und bestraft niemanden — sie zeigt nur, ob die Regel bei diesem Text ausgelöst hätte.

Warum die Regel keine Nachrichten löscht: Sanktionen stehen im Satz#

Die Strafkette wird ausschließlich im Satz festgelegt: „Nach N Verstößen eine Verwarnung, nach dem nächsten ein Mute“ und so weiter. Weder die einzelne Regel noch der Block als Ganzes hat eine eigene Kette — der Satz ist genau die Einheit, der die Härte zugewiesen wird. Deshalb lohnt es sich, Regeln auf Sätze zu verteilen: „Krypto“, „Kanalwerbung“ und „Schimpfwörter“ werden unterschiedlich bestraft.

Der Satz „Profanity“: zwei Regeln und die Kette „keine Sanktion → Verwarnung → Mute“

Die Regeln des Satzes stehen als Liste, und unten auf der Karte steht seine Strafkette.

Sind im Satz keine Sanktionen eingestellt, lösen seine Regeln überhaupt nicht aus — und im Protokoll erscheint keine einzige Zeile. Der Satz sieht einsatzbereit aus, wirkt aber nicht. Wenn eine Regel „nicht greift“, sollte man zuerst hier nachsehen.

Das Häkchen „Eigener Verstoßzähler“ im Regel-Editor wird gebraucht, wenn eine Regel die übrigen nicht mitziehen soll: Ihre Treffer werden getrennt gezählt und verschieben den gemeinsamen Zähler des Satzes nicht. Die Kehrseite: Beim Ausschalten des Häkchens wird der angesammelte Zähler dieser Regel gelöscht, und die Eskalation beginnt von vorn.

Was wann geprüft wird#

  • Geprüft werden der Nachrichtentext und die Bildunterschrift zu Medien. Nachrichten ohne Text berühren die Textebenen nicht.
  • Bearbeitete Nachrichten werden erneut geprüft — Nachbessern hilft nicht.
  • Chat-Admins und Teilnehmer der Whitelist werden übersprungen, und zwar vor allen Prüfungen: keine Treffer, keine Zähler.
  • Die Ebenen laufen der Reihe nach: Länge → Duplikate → Phrasen → reguläre Ausdrücke → Links. Die erste Ebene, die auslöst, beendet die Prüfung, deshalb erreicht eine Nachricht, die schon an Länge oder Duplikaten hängen bleibt, die Phrasen gar nicht mehr.
  • Haben mehrere Phrasenregeln ausgelöst, zählt die erste in der Reihenfolge — von ihr stammt der Satz und damit auch die Strafkette.

Im Moderationsprotokoll erscheint der Treffer als „Phrasen: Name des Satzes“; dort sieht man auch, welche Regel zutraf und auf welcher Eskalationsstufe der Teilnehmer gelandet ist.

Tarifgrenzen#

Im Tarif Eingeschränkt arbeiten höchstens zehn Phrasenregeln gleichzeitig: Der Schalter auf der Karte des Satzes wählt aus, welche davon aktiv sind. Die Zahl der Sätze selbst ist nicht begrenzt. In Base gibt es bei den Phrasen keine Grenzen, und dort stehen auch reguläre Ausdrücke und eigene Einstellungen für Forenthemen bereit. Was in welchem Tarif enthalten ist, steht auf der Seite Tarife.

Häufige Fragen#

Worin unterscheiden sich Phrasenregeln von gewöhnlichen Stoppwörtern?

Ein Stoppwort ist für sich genommen verboten. Eine Phrasenregel kann mehrere Wörter nebeneinander verlangen, Synonyme über ODER zulassen, die Reihenfolge berücksichtigen und schweigen, wenn in der Nachricht eine Ausnahme auftaucht. Deshalb trifft sie normale Gespräche deutlich seltener.

Wie blockiert man Schimpfwörter in einem Telegram-Chat?

Legen Sie einen eigenen Satz an — zum Beispiel „Vulgärsprache“ —, sammeln Sie darin Regeln mit den Schreibvarianten über ODER und weisen Sie dem Satz eine Strafkette zu. Solange im Satz keine Sanktionen stehen, lösen seine Regeln nicht aus.

Warum löscht meine Regel nichts?

Meistens ist im Satz keine Strafkette eingestellt. Andere Gründe: Der Block „Phrasenmoderation“ ist ausgeschaltet; die Nachricht wurde von einer früheren Ebene gefangen — Länge oder Duplikate; der Autor ist Chat-Admin oder steht auf der Whitelist; im Tarif Eingeschränkt gehört die Regel nicht zu den zehn aktiven.

Werden Wörter mit Leerzeichen und vertauschten Buchstaben gefunden?

Ja. Vor der Prüfung werden Leerzeichen, Emojis und Satzzeichen aus dem Text entfernt, und überzählige Ziffern oder Buchstaben aus einem anderen Alphabet innerhalb eines Wortes werden zurückgesetzt. Deshalb sind “s p a m”, “s.p.a.m” und “spam” für die Regel ein und dasselbe.

Werden Bildunterschriften und bearbeitete Nachrichten geprüft?

Ja. Die Regeln sehen sich den Nachrichtentext und die Bildunterschrift zu Medien an, und eine bearbeitete Nachricht wird erneut geprüft — Nachbessern rettet sie nicht.

Kurze Checkliste#

  • Dem Satz ist eine Strafkette zugewiesen — sonst schweigen die Regeln.
  • Der Wert „Bis zu n Zeichen“ ist nicht 0, wenn Sie „nebeneinander“ gemeint haben.
  • Kommt es auf die Wortreihenfolge an, ist „Strikte Reihenfolge“ eingeschaltet.
  • Kurze Phrasen wie ban sind mit einer UND-Verbindung präzisiert, damit sie nicht “banana” fangen.
  • Die Regel wurde in der Karte „Regel prüfen“ an einer echten Nachricht getestet.
  • Eigene Ankündigungen stehen in einer Ausnahme.

Weitere Anleitungen zur Moderation von Telegram-Gruppen stehen im Scarabeus-Journal.

Weiterlesen