Falls es jemanden interessiert, der dies ebenfalls tun möchte, hier eine kurze Zusammenfassung dessen, was ich getan habe:
- Zuerst müssen Sie SQL für Abzeichen über die CLI Ihres Discourse-Servers aktivieren:
./launcher enter app
rails c
SiteSetting.enable_badge_sql = true
-
Als Nächstes finden Sie die ID des Themas, mit dem die Mitglieder interagieren sollen, um das Abzeichen zu erhalten. In meiner Instanz ist die Themen-ID 117
-
Nächstes finden Sie die ID des Themas, mit dem die Mitglieder interagieren sollen, um das Abzeichen zu erhalten. In meiner Instanz ist die Themen-ID 117

-
Erstellen Sie Ihr benutzerdefiniertes Abzeichen:
- Admin > Abzeichen > Neu
- Benennen Sie das Abzeichen beliebig (z. B. B/S/T Regel-Leser)
- Wählen Sie einen Abzeichentyp, ein Symbol und geben Sie eine Beschreibung an
- Wenn Sie Schritt 1 befolgt haben, sehen Sie ein Abfragefeld, in das Sie eine SQL-Abfrage eingeben können. Fügen Sie diese Abfrage ein (ändern Sie
p.topic_id = 117in die gewünschte Themen-ID):-
SELECT DISTINCT ON (pa.user_id) pa.user_id, pa.post_id, pa.created_at granted_at FROM post_actions pa JOIN posts p ON pa.post_id = p.id AND p.post_number = 1 WHERE pa.post_action_type_id = 2 AND p.topic_id = 117 AND (:backfill OR pa.post_id IN (:post_ids))
-
- Stellen Sie sicher, dass Tägliche Widerrufsabfrage ausführen und Abfrage zielt auf Beiträge ab beide aktiviert sind.
- Der Auslöser sollte auf Wenn ein Benutzer auf Beitrag reagiert eingestellt sein
-
Jetzt erstellen wir die Automatisierung
- Erstellen Sie zuerst eine neue Gruppe, zu der die Mitglieder hinzugefügt werden sollen. Meine heißt einfach
bst_rules_agreedund ist so eingestellt, dass nur Gruppenbesitzer und Mods die Mitgliedschaft sehen können. Sie muss keine Auswirkungen auf die Vertrauensstufe haben. - Gehen Sie als Nächstes zu Plugins > Automatisierung
- Fügen Sie eine neue Automatisierung hinzu
- Wählen Sie Benutzergruppenzugehörigkeit über Abzeichen
- Auslöser: Wiederkehrend
- Wiederholung: Ich habe meine auf jede Stunde eingestellt. Wählen Sie, was für Sie sinnvoll ist.
- Wählen Sie ein Startdatum
- Skriptoptionen:
- Abzeichen: Wählen Sie das oben erstellte Abzeichen
- Gruppe: Wählen Sie die oben erstellte Gruppe
- Fügen Sie eine neue Automatisierung hinzu
- Erstellen Sie zuerst eine neue Gruppe, zu der die Mitglieder hinzugefügt werden sollen. Meine heißt einfach
Das war’s. Sie sollten nun ein System haben, das sicherstellt, dass die Mitglieder den Regeln der Kategorie zugestimmt haben, bevor sie in der Kategorie posten können.
Meine nächste Erkundung ist, ob es eine Möglichkeit gibt, alle Themen außer den Regeln für alle auszublenden, die nicht zu dieser Gruppe gehören. Aber dieses grundlegende System ist fürs Erste gut genug.