@Heliosurge Esta idea me pareció muy interesante. Por lo que he leído sobre el plugin, hay algunas cosas que ya están hechas. En mi caso, para resolver mi problema principal, necesitaría algo como:
| Nombre del script | Plugin | Descripción |
|---|---|---|
| Bloquear niveles de confianza | automation |
Si un usuario publica demasiado, incluye demasiadas y/o inapropiadas imágenes, abusa del sistema de banderas o similar, una alternativa a lo anterior es bloquear al usuario en el nivel de confianza 0. Esto limitará el número (y la frecuencia) de temas y publicaciones que el usuario puede crear, además de impedirle incluir demasiadas imágenes/enlaces y evitar que emita banderas. Los niveles de confianza se pueden configurar desde la página de administración del usuario. |
| Silenciar al usuario | automation |
A los usuarios silenciados se les impide crear nuevos temas, publicaciones, banderas o mensajes privados (PM) en el sitio. Todavía pueden realizar otras acciones, como “dar me gusta” a las publicaciones, leer temas, responder a mensajes privados, etc. Además, pueden comunicarse con los moderadores a través de mensajes privados, por lo que puedes seguir comunicándote con ellos para intentar abordar el comportamiento. |
| Suspender al usuario | automation |
A los usuarios suspendidos se les impide iniciar sesión y, por lo tanto, realizar cualquier acción en los foros. Una suspensión es el recurso más fuerte posible que tienes para un usuario y debe usarse con moderación. Al igual que el silencio, la suspensión de un usuario se realiza desde la página de administración del usuario. Al igual que el silencio, las suspensiones son por un período de tiempo específico. Es posible que desees suspender al usuario por un corto período de tiempo primero, y si el usuario regresa y continúa con el comportamiento, aumenta el tiempo de suspensión. |
| Congelación de nivel de confianza | trigger-automation |
En caso de usuarios silenciados o suspendidos, se activa el disparador de Bloqueo de Niveles de Confianza. |
Cómo funciona el disparador de congelación de niveles de confianza
- Congelación de nivel de confianza - activa estos eventos automáticamente:
- Silenciar al usuario - Advertencia
- Suspender al usuario - falta 1
- Bloquear nivel de confianza - falta 2
Solución final
- En resumen, serían 4 plugins. Solo el último plugin llama a los otros plugins, como se ve en el siguiente tema: cómo funciona el disparador de congelación de niveles de confianza.
- A pesar de los casos de usuarios que son silenciados o suspendidos, los ejemplos que mencioné anteriormente se hicieron como Spam, Seguridad de la cuenta en riesgo, Mensajes o comportamiento abusivos, Denuncias - cuando los usuarios solicitan que se bloquee su nivel de confianza. Todavía existiría el caso de usuarios que fueron silenciados o suspendidos de forma personal, es decir, autodenunciados:
- “Solicito que se bloquee el nivel de confianza ya que no quiero ser el líder de algo”.
- “Viajo y me gustaría bloquear mi nivel de confianza, no sé si podrán hackear mi cuenta en este período”.
- “Creo que mi cuenta ha sido hackeada, me gustaría que mi nivel de confianza se congele hasta que la comunidad de Discourse investigue el caso”.
- Nota: Estos usuarios que autodenunciaron su cuenta, pueden solicitar la suspensión de la cuenta, el silencio de la cuenta o incluso en el caso que mencioné el bloqueo del nivel de confianza.
- Si el usuario presenta alguna prueba de que no debe ser suspendido, silenciado o tener su nivel de confianza protegido, la cuenta es normal.
Notas
- Lo hice un par de veces y gracias por los comentarios, JammyDodger ;D Leí este documento y creo que es genial: https://meta.discourse.org/t/discourse-moderation-guide
- Dan DeMontmorency - ¿Qué opinas de esta idea, es una buena idea? ¿Es posible crear algo así?
Nuevas ideas
- Una alternativa viable puede ser esta, esto podría hacerse con suspend-a-user-via-the-api, silence-user-via-api, add-a-user-to-a-group-via-api, discourse-docs-api-org, auto-suspend-inactive-user, discourse_api_pull_121 - el único problema es que todavía no he visto información de la API sobre el bloqueo del nivel de confianza.
- Podemos tener plugins que se comuniquen con la API para esto: silence-user-via-api, auto-suspend-inactive-user, “locking trust level”, suspend-a-user-via-the-api.
- Mi idea sería tener el plugin de seguridad de confianza - este plugin se comunica con las siguientes API: silence-user-via-api, auto-suspend-inactive-user, “locking trust level”, suspend-a-user-via-the-api.
- Mi sugerencia inicial de que sería genial tener estos endpoints:
${this.url}admin/users/${userId}/groups/report/spam${this.url}admin/users/${userId}/groups/report/lockingtrustlevel${this.url}admin/users/${userId}/groups/report/accountsecurityatrisk${this.url}admin/users/${userId}/groups/report/abusivemessagesorbehavior${this.url}admin/users/${userId}/groups/userwishthis/lockingtrustlevel${this.url}admin/users/${userId}/groups/userwishthis/accountsecurityatrisk${this.url}/admin/users/:user_id/report/spam${this.url}/admin/users/:user_id/report/lockingtrustlevel${this.url}/admin/users/:user_id/report/accountsecurityatrisk${this.url}/admin/users/:user_id/report/abusivemessagesorbehavior${this.url}/admin/users/:user_id/userwishthis/accountsecurityatrisk${this.url}/admin/users/:user_id/userwishthis/lockingtrustlevel
Pero algo que ya soluciona sería hacer este poc - prueba de concepto
${this.url}/admin/users/:user_id/silence${this.url}/admin/users/:user_id/lockingtrustlevel${this.url}admin/users/${userId}/groups/silence${this.url}admin/users/${userId}/groups/lockingtrustlevel