Hilfe beim Erstellen einer Abfrage zum zufälligen Überprüfen von PMs auf bestimmte Begriffe

Wie würdest du deiner Meinung nach am besten 10 % der privaten Nachrichten (PMs) zwischen Nutzern der letzten 30 Tage abrufen? Ich versuche, eine „Randomisierungs"-Funktion zu finden, die dafür verwendet werden könnte.

Ich betreibe eine Website, auf der Menschen vorwiegend über illegale Dinge sprechen – hauptsächlich Drogen. Als Plattform erlauben wir ausdrücklich keine Verkäufe oder Ähnliches. Ich suche nach einer Art „zufälliger Auswahl" (Entschuldigung, ich kann nicht programmieren und weiß nicht genau, wie ich das, was ich frage, präzise formulieren soll), also einer randomisierten/faireren Methode, um verteidigungsfähig behaupten zu können, dass wir PMs „stichprobenartig" prüfen, um sicherzustellen, dass die Regeln eingehalten werden.

Ich möchte natürlich nicht willkürlich bestimmte Personen dafür auswählen. Wir haben markierte Wörter und Phrasen, und das funktioniert auch, aber manche Leute umgehen das versehentlich. Ich würde gerne (wahrscheinlich muss ich auch) sagen können, dass wir Community-Meldungen, Moderatoren, überwachte Wörter und diese „Stichprobenprüfung" haben – ich bin mir nur unsicher, woher ich den Zufallsparameter bekomme, falls es einen gibt.

Ich bitte übrigens auch nicht um kostenlosen Code oder Skripte. Ich bin mir einfach nicht sicher, wie ich das, was ich will, anfragen soll, ob es auf dem Markt verfügbar ist oder ob es machbar ist.

Du würdest die API aufrufen, um die Nachrichten dieses Nutzers zu erhalten. Und Nachrichten werden nicht als Nachrichten-Einträge gespeichert, sondern sind einfach normale Beiträge, die mit Themen verknüpft sind. Du musst also zwischen normalen Beiträgen und Nachrichtenbeiträgen unterscheiden.

Hmmmmmmmmmmmmmm

Richtig, ich denke, wir werden eine kryptografische Zufallsfunktion aufrufen, um Themen abzurufen, die nur zwei Nutzer enthalten, und schauen, wie das läuft. Ich werde mit den Ergebnissen zurückkommen, falls jemand anderes Communities betreibt, bei denen es einen rechtlichen Bedarf gibt, PMs auf faire Weise stichprobenartig zu prüfen.

Anzahl der Nachrichten pro Benutzer

Deine Idee gefällt mir.

Ich habe eine ähnliche Situation und verwende diese Abfrage, um die privaten Nachrichten zu steuern:

Das sollte dir helfen :slight_smile:

Das ist ja großartig, Kumpel! Dann kann ich die Ergebnisse exportieren, mit random.org daraus ziehen und prüfen, ob die Nutzer in ihren Nachrichten frech waren. Ich glaube, random.org erlaubt es dir sogar, die Ziehungsliste gegen eine kleine Gebühr zur Referenz zu speichern, sodass es einen Beweis gibt, dass von Admin-Seite nichts faul war.

Super gemacht, @SidV!

PMs mit Begriff

Ich habe eine neue Idee @DNSTARS!

Was wäre, wenn man in PMs nach Begriffen wie „buy" oder „drugs" „suchen" könnte? :lol:

Schaut euch das an:

-- [params]
-- int :limit = 10
-- string :term = %term%
SELECT p.user_id, p.topic_id, p.post_number, p.raw, p.created_at::date
FROM posts p
LEFT JOIN topics t on t.id = p.topic_id
WHERE t.archetype = 'private_message'
  AND t.title <> 'WELCOME-TITLE-from-discobot'
  AND p.created_at::date > now()::date - 8
  AND p.raw ILIKE :term
ORDER BY p.created_at DESC
LIMIT :limit

Ersetzt WELCOME-TITLE-from-discobot durch den exakten Titel eurer Willkommensnachricht, damit alle automatisch generierten Willkommensnachrichten ausgeschlossen werden.

Die Idee zur Abfrage stammt von Guru @meglio, der sie hier veröffentlicht hat.

Ich habe nur ein paar kleine Änderungen vorgenommen :wink:

Die Abfrageliste wurde aktualisiert :rocket:

Es hat sich bei der Handhabung von Emojis etwas verzettelt. Unser Willkommensgruß lautet :robot: Greeetings! – wir haben es also einfach bei „Greetings" belassen und es laufen lassen. Das funktioniert weitgehend gut, obwohl wir im Bereich der überwachten Wörter/Flaggen etwa 20+ allgemeine Auffangphrasen haben.

Beispielsweise kann jemand einfach mit einem Freund über die beste LSD-Erfahrung seines Lebens plaudern – das ist in Ordnung. Nicht in Ordnung ist jedoch: „Wo bekomme ich…“, „Wie stelle ich her…”, „Wer hat das Beste?". Dafür nutzen wir das integrierte Flagging-System, um solche Fälle zu erkennen, und für diesen Zweck funktioniert es gut.

Rechtlich gesehen könnten wir zwar „mehr" tun, um alles zu unternehmen, was „vernünftigerweise" von uns erwartet wird, falls es dazu käme. Ich kann nun jedoch sagen, dass die Community unangemessene Inhalte meldet (sie sind gut informiert und kennen die Regeln), wir moderieren, wir über ein automatisches Flagging-System verfügen, überwachte Phrasen und Begriffe nutzen und zudem zufällig private Nachrichten auf verdächtiges Verhalten prüfen.

Also – ja, deine zweite Lösung funktioniert, ist aber (ohne böse klingen zu wollen) für uns speziell überflüssig, da das Reden über Drogen nicht illegal ist – zumindest dort, wo wir sind. Illegal ist jedoch der Versuch, Drogen zu beschaffen, herzustellen oder ähnliches, und daran wollen wir keinen Teil haben.

Nochmals vielen Dank, Kumpel. Der erste Durchlauf erfordert nur minimalen manuellen Aufwand, kann einem Mitarbeiter übergeben werden und ist systematisch. :peace_symbol: