Wir haben einen Benutzer, der auf Vertrauensstufe 0 gesperrt ist. Ich weiß, dass es für Benutzer auf TL0 Posting-Limits gibt, aber ich habe Schwierigkeiten zu erkennen, ob die Posting-Limits umfassend oder pro Tag gelten.
Dieser Beitrag deutet darauf hin, dass das Limit nicht für die Gesamtanzahl der Beiträge gilt:
Aber dieser Beitrag scheint darauf hinzudeuten, dass es sich tatsächlich um eine Gesamtbeschränkung handelt.
Ich hoffe, dass die Posting-Beschränkungen für TL0 pro Tag und nicht insgesamt gelten, da ich keine andere Methode finden kann, um die Anzahl der Beiträge einiger Benutzer einzuschränken, ohne alle Benutzer zu beeinträchtigen. Aber ich kann kein klares Bild davon bekommen, wie genau TL0-Benutzer eingeschränkt werden.
TL0-Benutzer unterliegen „First Day“-Limits nach der Kontoerstellung. Diese sind:
max_topics_in_first_day (Standard: 3)
max_replies_in_first_day (Standard: 10) Diese beschränken die Anzahl der Themen/Antworten, die ein Benutzer in den ersten 24 Stunden nach seinem ersten Beitrag erstellen kann. Danach gelten diese Limits nicht mehr.
Themenspezifische Einschränkungen für TL0:
newuser_max_replies_per_topic (Standard: 3) — Maximale Anzahl von Antworten, die ein neuer Benutzer in einem einzelnen Thema geben darf, bevor jemand anderes antwortet. Dies dient der Verhinderung von Spam, nicht der allgemeinen Veröffentlichung.
Keine allgemeine oder dauerhafte Obergrenze für die Gesamtzahl der Beiträge für TL0-Benutzer. Nach der anfänglichen „First Day“-Periode unterliegen TL0-Benutzer allgemeinen standortweiten Limits (max_topics_per_day usw.) und nicht einer TL0-spezifischen harten Obergrenze.
Ich habe schließlich eine Problemumgehung mit ein paar verschiedenen Tools erstellt (meine Programmierkenntnisse reichen nicht aus, um ein benutzerdefiniertes Plugin zu erstellen!). Es wurde gut getestet und funktioniert.
Eine neue Gruppe, restricted-users, wurde erstellt.
Ein benutzerdefiniertes Assistentenformular wurde erstellt, das auf die Moderatorengruppe beschränkt ist.
Eine neue Kategorie, die nur für Mods sichtbar ist, restricted-users-admin, wurde erstellt und der Komponist durch das benutzerdefinierte Assistentenformular ersetzt.
Wenn die Posting-Fähigkeit eines Benutzers eingeschränkt werden soll, füllt ein Mod das benutzerdefinierte Assistentenformular aus. Das Formular fragt, welcher Benutzer zur Gruppe hinzugefügt und wann er entfernt werden soll.
Das Absenden des Formulars erstellt ein neues Thema in restricted-users-admin.
Ein Webhook für diese Kategorie wurde erstellt, um jedes neu erstellte Thema zu senden.
Wenn der Webhook empfangen wird, wird zuerst geprüft, ob der Benutzer bereits in der Gruppe ist. Wenn ja, wird eine Antwort mit dieser Information erstellt. Wenn der Benutzer nicht in der Gruppe ist, wird er hinzugefügt, dann wird bis zum angegebenen Enddatum/-zeitpunkt gewartet und dann wird er aus der Gruppe entfernt.
Ein Webhook für alle Beiträge von Benutzern in der Gruppe restricted-users wurde erstellt.
Wenn der eingeschränkte Benutzer postet und der Webhook gesendet wird, wird ein API-Aufruf gemacht, um festzustellen, wie viele Beiträge der Benutzer an diesem Tag gemacht hat (ich habe denselben Tag anstelle eines 24-Stunden-Zeitraums verwendet, da dies wohl einfacher zu handhaben ist). Ich habe hier private Nachrichten herausgefiltert.
Wenn es sich um den vorletzten Beitrag handelt, den der Benutzer zur Verfügung hat, sendet die API dem Benutzer eine private Nachricht, die ihn darüber informiert, dass er sich seinem Limit nähert und nur noch einen Beitrag heute hat. Als Proof of Concept habe ich das Limit auf 5 Beiträge festgelegt, also sendet dies eine private Nachricht nach dem 4. Beitrag des Benutzers.
Wenn es sein letzter Beitrag ist, sperrt die API den Benutzer für 24 Stunden.
Wenn der Benutzer aus der Gruppe restricted-users entfernt wird, sendet die API eine Antwort auf das ursprüngliche Thema in der Kategorie restricted-users-admin.
Dies ist für uns eine Grenzfall-Situation – eine Art „vorletzte Ausweichmöglichkeit“, nachdem viel Kommunikation und die Arbeit von Moderatoren mit dem Benutzer stattgefunden haben. Ich gehe nicht davon aus, dass wir hier so viel Traffic haben werden, dass es belastend wird, da es sich um eine winzige Anzahl von Benutzern handelt. Wir sind ein Mitgliederverband und unser Discourse-Forum dient als Repository für alle Arten von Ressourcen, daher sollten Mitglieder darauf zugreifen können. Daher müssen wir verschiedene Lösungen finden, anstatt zu sperren.