¿Cuál es la mejor manera de obtener el 10% de los mensajes privados entre usuarios de los últimos 30 días? Estoy buscando una función de “aleatorización” que pueda ser llamada.
Administro un sitio web donde la gente habla principalmente de temas ilegales, como drogas. Como plataforma, no permitimos explícitamente la venta ni nada similar. Busco alguna forma de “llamada aleatoria” (lo siento, no sé programar, así que no sé articular con precisión lo que pregunto) de manera aleatoria y justa para poder defender que realizamos “revisiones aleatorias” de los mensajes privados para asegurar el cumplimiento de las normas.
Obviamente, no quiero seleccionar personas de manera arbitraria para esto. Tenemos palabras y frases marcadas y eso funciona, pero algunas personas están evadiéndolo incidentalmente. Me gustaría (probablemente necesite) poder decir que contamos con denuncias de la comunidad, moderadores, palabras vigiladas y “esta” revisión aleatoria. Solo no estoy seguro de dónde obtener el parámetro de aleatoriedad si existe.
Por cierto, no estoy pidiendo código o scripts gratuitos; simplemente no sé cómo preguntar lo que necesito si está disponible en el mercado o si es factible.
Llamarías a la API para obtener los mensajes de ese usuario. Y los mensajes no se almacenan como registros de mensajes, sino que son publicaciones normales vinculadas a temas, por lo que necesitas distinguir entre publicaciones normales y publicaciones de mensajes.
Hmmmmmmmmmmmmmm
Bien, creo que vamos a llamar a una función de generación aleatoria criptográfica para obtener temas que tengan, por ejemplo, solo 2 usuarios y ver cómo funciona. Si alguien más administra comunidades donde podría haber una necesidad legal de revisar aleatoriamente los mensajes privados de manera justa, volveré con los hallazgos.
¡Qué genial, amigo! Puedo exportar esos resultados y luego hacer el sorteo con random.org y revisar los mensajes privados de esos usuarios para ver si han sido traviesos. Creo que random.org incluso te permite guardar la lista del sorteo para referencia si pagas una pequeña tarifa, así que hay prueba de que no hubo juego sucio por parte del administrador.
¿Y si pudieras “buscar” en los términos de los PM como “comprar” o “drogas”
Mira esto:
-- [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
Reemplaza WELCOME-TITLE-from-discobot por el título exacto de tu mensaje de bienvenida, para que todos los mensajes de bienvenida generados automáticamente queden excluidos.
Tropezó con cómo manejar el emoji; nuestro saludo es ¡Saludos! así que simplemente lo dejamos como “saludos” y lo dejamos funcionar, y en gran medida funciona bien. Sin embargo, tenemos más de 20 frases de cobertura general en la sección de registro/bandera de palabras vigiladas.
Porque, por ejemplo, alguien podría estar simplemente charlando sobre la mejor experiencia con LSD que ha tenido con un amigo, lo cual está bien; lo que no está bien es “¿Dónde consigo?”, “¿Cómo hago?”, “¿Quién tiene el mejor?”. Por eso utilizamos el sistema de señalización integrado para detectar esos casos y, para ese propósito, funciona bien.
Legalmente, sin embargo, dado que hay “más” que podríamos estar haciendo para cumplir con todo lo “razonablemente” esperado de nosotros si llegara el caso, ahora puedo decir que la comunidad señala contenido inapropiado (ya que son buenos y conocen las reglas), nosotros moderamos, tenemos señales automáticas del sistema, frases y términos vigilados y revisamos aleatoriamente mensajes privados en busca de comportamientos sospechosos.
Así que, sí, tu segunda opción funciona, pero (sin sonar grosero) es redundante para nosotros específicamente, ya que hablar sobre drogas no es ilegal, al menos donde estamos, pero intentar conseguir, fabricar o cualquier otra cosa relacionada sí lo es, y no queremos tener parte en eso.
Gracias de nuevo, amigo; ese primer filtro requiere trabajo manual mínimo y puede ser asignado a un miembro del personal para que lo gestione, y es sistemático.