Guten Tag. Ich habe eine Kategorie für Kaufen/Verkaufen/Tauschen auf meiner Seite, für die ich das Posten einschränken möchte, bis ein Mitglied das Regel-Thema „geliked“ hat. Ich habe den KI-Bot gefragt, und er hat mir einige Anweisungen gegeben. Es scheint jedoch, dass dies Discourse Automation erfordert, was nur in gehosteten Plänen verfügbar ist.
Gibt es eine Möglichkeit, dies auf meiner selbst gehosteten Plattform zu tun?
add-users-to-group: akzeptiert eine einzelne Gruppe als Eingabe; Benutzer, die die Richtlinie akzeptieren, werden automatisch dieser Gruppe hinzugefügt (wenn die Richtlinie manuell widerrufen wird oder wenn die Richtlinienversion aktualisiert wird, werden Benutzer aus der Gruppe entfernt)
Ich musste Badge SQL aktivieren und dann ein Abzeichen erstellen, das zugewiesen wird, wenn jemand den spezifischen Beitrag mit „Gefällt mir“ markiert. Dann habe ich eine Gruppe erstellt, der Discord Automation automatisch beitritt, basierend darauf, dass ein Benutzer das Abzeichen besitzt. Ich habe der „Jeder“-Gruppe nur Leseberechtigung für die Kategorie gegeben, damit sie nur reagieren können. Der benutzerdefinierten Gruppe habe ich vollen Zugriff gewährt.
Ich werde zu Hause einen kleinen Bericht darüber schreiben, was genau ich gemacht habe, falls es jemand anderes wissen möchte. Dann werde ich das als Lösung markieren.
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 = 117 in 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_agreed und 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
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.
Vielen Dank für dieses Plugin! Ich habe nach einer Möglichkeit gesucht, ein einfaches Ticketsystem in unserer Community bereitzustellen.
Ich überlege auch, dies in meiner Kategorie „Kaufen/Verkaufen/Tauschen“ zu verwenden. Im Moment habe ich es so eingestellt, dass jeder Themen lesen kann, aber nur Personen in einer bestimmten Gruppe antworten und erstellen können. Der aktuelle Arbeitsablauf ist: Ein Mitglied bestätigt, dass es die Regeln gelesen hat, indem es den Beitrag mit „Gefällt mir“ markiert. Sobald sie den Beitrag mit „Gefällt mir“ markiert haben, erhalten sie ein benutzerdefiniertes Abzeichen. Discourse Automate fügt sie basierend auf dem Abzeichen der Gruppe hinzu.
Dies verhindert, dass Personen, die die Regeln nicht akzeptiert haben, in der Kategorie posten. Sie können jedoch immer noch alle Beiträge sehen/lesen.
Würde es also funktionieren, wenn ich alle aus der Kategorie entferne und nur diese benutzerdefinierte Gruppe im Sicherheits-Tab habe? Solange ich Beiträge von der Admin-Gruppe immer sichtbar habe, könnten Personen, die nicht in der benutzerdefinierten Gruppe sind, die Regeln trotzdem sehen und mit „Gefällt mir“ markieren? Und sobald sie „Gefällt mir“ markiert haben und der Gruppe hinzugefügt wurden, öffnet sich alles für sie?
Ihr Anwendungsfall kann ohne dieses Plugin implementiert werden, indem Sie stattdessen das Discourse Policy Plugin verwenden, das die Möglichkeit hat, Benutzer, die die Richtlinie akzeptiert haben, zu einer Gruppe hinzuzufügen.
Ich habe mir das Policy-Plugin angesehen, bevor ich mich in die Art und Weise vertiefte, wie ich die Gruppenmitgliedschaft zugewiesen habe. Der Grund, warum mir die Policy dafür nicht gefällt, ist, dass sie auf eine Gruppe angewendet werden muss. Ich müsste sie auf etwas wie trust_level_1 anwenden, um sicherzustellen, dass jeder, der Teil von B/S/T sein möchte, sie sieht. Aber nicht jeder möchte an B/S/T teilnehmen. Ich möchte sie nicht mit einer weiteren Sache belästigen, auf die sie klicken müssen (obwohl es schnell geht), wenn sie daran nicht interessiert sind.
Erstelle eine Gruppe „BST-Bewerber“ und eine Gruppe „BST-Mitglieder“
Lass „BST-Bewerber“ eine Gruppe sein, der man frei beitreten kann
Habe eine Richtlinie, die für „BST-Bewerber“ gilt und zu „BST-Mitglieder“ hinzufügt
Gewähre „BST-Mitgliedern“ Zugriff auf die Kategorie
Leute werden „BST-Bewerber“ beitreten, die Richtlinie akzeptieren und Mitglied von „BST-Mitglieder“ werden. Umständlich, aber weniger umständlich, als eine komplette Rube-Goldberg-Maschine auszulösen, indem man einen Beitrag liked.
1 „Gefällt mir“
RGJ
(Richard - Communiteq)
Hat dieses Thema aufgeteilt,
14