Inhaltsfilter
Mit dem Inhaltsfilter können Sie eingehende Inhalte aus allen Quellen oder von bestimmten Verbindungen filtern. Die Filterung kann auf Wörtern, Tags, regulären Ausdrücken oder Sprache basieren.
In den Stream-Einstellungen können Sie globale Filter für alle eingehenden Inhalte festlegen.

Sie können auch individuelle Filter für jede Ihrer Verbindungen festlegen. Wählen Sie „Bearbeiten“ für eine beliebige Verbindung und suchen Sie dann unter „Filter für den Inhalt“.

Sollte bei Ihnen der Reiter "Filter für den Inhalt" nicht zu sehen sein, müssen Sie diese Funktion zuerst aktivieren. Dazu öffnen Sie die Einstellungen der App "Verbindungen" (kleines Zahnrad neben der App-Bezeichnung in der Navigationsleiste).

Im Konfigurationsdialog aktivieren Sie nun die Funktion.

Wenn Sie Filter unter „Beiträge mit diesem Text nicht importieren“ („Filterung ablehnen“) hinzufügen, werden diese zuerst angewendet. Alle übereinstimmenden Inhalte werden entfernt.
Anschließend werden alle Filter unter „Nur Beiträge mit diesem Text importieren“ („Filterung akzeptieren“) angewendet. Nur übereinstimmende Inhalte werden beibehalten und alles, was nicht übereinstimmt, wird entfernt.
Im Allgemeinen werden Sie den einen oder den anderen verwenden und selten, wenn überhaupt, beide gleichzeitig.
Grundlegende Filter
TEXT
Jeder Text, der nicht mit einem der folgenden Zeichen beginnt: '#', '$', '?', '/', '@', 'lang=', 'lang!=' führt eine Textübereinstimmung durch, bei der die Groß-/Kleinschreibung nicht berücksichtigt wird.
Beispiel: apple (stimmt mit "apple", "APPLE", "Apples", "pineapple", "applesauce", etc. überein)
Beispiel: low sub (stimmt mit "low sub", "low sub-zero", "Yellow Submarine", etc. überein)
HINWEIS: Achten Sie darauf, keine kurzen Zeichenfolgen zu verwenden, die mit vielen unterschiedlichen Wörtern übereinstimmen. Sie können Reguläre Ausdrücke verwenden (siehe unten).
SPRACHE
lang= Übereinstimmung der Sprache (sofern diese identifiziert werden kann) Beispiel: lang=de (stimmt mit deutschsprachigen Inhalten überein)
lang!= Alles außer dieser Sprache (sofern diese identifiziert werden kann) Beispiel: lang!=en (stimmt mit nicht-englischen Inhalten überein)
HASHTAG
#
Hashtag abgleichen
Beispiel: #cats
#>n
Größer als die Gesamtzahl der Hashtags abgleichen
Beispiel: #>10
ERWÄHNUNG
@
Erwähnung stimmt überein
Beispiel: @alice
@>n
Größer als die Gesamtzahl der Erwähnungen
Beispiel: @>10
KATEGORIE
$
Übereinstimmung der Kategorie
Beispiel: $Science
ITEMS UND FELDER
? Nachstehend unter „Erweiterte Filter“ erläutert
REGULÄRE AUSDRÜCKE (REGEX)
/ Übereinstimmung einer "regular expression". Zahlreiche Online-Hilfeseiten wie Regular-Expressions.info und regexr.com bieten Unterstützung bei der Verwendung von regulären Ausdrücken.
Beispiel: /gr[ae]y/ (entspricht "gray" and "grey")
Beipiel: /\b[Ww]ar\b/ (entspricht dem gesamten Worten "war" und "War", jedoch nicht "wars", "warning", "software", etc.)
LOGISCHE OPERATOREN
Fiter erlauben die logischen Operatoren
&& für UND
|| für ODER
Erweiterte Filter
ITEMS
?
Sie können eine Zeichenketten-/Zahlen-/Array-/Boolesche-Abgleichung für die Datenbankfelder eines Elements (eines Beitrags, eines Kommentars usw.) durchführen. Eine vollständige Auflistung würde den Rahmen dieses Dokuments sprengen, aber sehen Sie sich install/schema_mysql.sql an und suchen Sie nach CREATE TABLE IF NOT EXISTS item``. Hier ist ein paar Beispiele:
body(Inhalt der Nachricht)verb(in der Regel identisch mit dem ActivityPub-Aktivitätstyp, z. B. Create, Listen)obj_type(normalerweise dasselbe wie das ActivityPub-Objekt „object.type“, z. B. Note, Event)item_thread_top(erster Beitrag in einem Thread, boolean)item_private(0 = öffentliche Nachricht, 1 = eingeschränkte Nachricht, 2 = Direktnachricht)ua(Benutzeragenten-Zeichenfolge des Zustellungsagenten – benutzerdefiniertes Artikelattribut, das nicht in der Datenbank enthalten ist)- ...etc...
Verfügbare Vergleichsoperatoren sind:
?foo ~= baz-- item.foo enthält den String 'baz'?foo == baz-- item.foo ist der String 'baz'?foo != baz-- item.foo ist nicht der String 'baz'?foo >= 3-- item.foo ist größer oder gleich 3?foo > 3-- item.foo ist größer 3?foo <= 3-- item.foo ist kleiner oder gleich 3?foo < 3-- item.foo ist kleiner 3?foo {} baz-- 'baz' ist ein Array-Element in item.foo?foo {*} baz-- 'baz' ist ein Array-Schlüssel in item.foo?foo-- wahre Bedingung für item.foo?!foo-- falsche Bedingung für item.foo (Die Werte 0, '', ein leeres Array, und ein ungesetzter Wert werden alle zu falsch aufgelöst)
Beispiel: ?verb == Announce (entspricht ActivityPub "boosts")
FELDER
?+ Übereinstimmung von ActivityPub/ActivityStreams-Objekten. Dies ist buchstäblich das kopierte Objektattribut aus der eingehenden Aktivität.
Unterstützt alle oben aufgeführten Operatoren.
Beispiele:
?+type == Question -- entspricht ActivityPub Umfragen
?+attributedTo ~= spammer -- entspricht ActivityPub attributedTo: https://o3r56t3c.example.com/u/cryptospammer2355
DATUM UND ZEIT
Mit dem Ausdruck until=<Jahr-Monat-Tag [Stunde:Minute:Sekunde]> können Inhalte zeitabhängig gefiltert werden.
Wird dieser Ausdruck im Feld "nicht importieren" verwendet, so werden alle Beiträge bis zum angegebenen Zeitpunkt ausgefiltert. Bei Verwendung im Feld "importieren" werden alle Beiträge bis zum angegebenen Zeitpunkt importiert.