@Heliosurge Essa ideia eu achei muito interessante. Pelo que li sobre o plugin já existem algumas coisas feitas. No meu caso, para resolver meu problema principal, eu teria algo como:
| Nome do script | Plugin | Descrição |
|---|---|---|
| Bloqueio de Níveis de Confiança | automation |
Se um usuário postar demais, incluir muitas e/ou imagens inadequadas, abusar do sistema de sinalização ou similar, uma alternativa ao acima é bloquear o usuário no nível de confiança 0. Isso limitará o número (e a frequência) de tópicos e postagens que o usuário pode criar, além de impedi-lo de incluir muitas imagens/links e de fazer sinalizações. Os níveis de confiança podem ser configurados na página de Administração do usuário. |
| Silenciar o usuário | automation |
Usuários silenciados são impedidos de criar novos tópicos, postagens, sinalizações ou mensagens privadas no site. Eles ainda podem realizar outras ações, como “curtir” postagens, ler tópicos, responder a mensagens privadas, etc. Além disso, eles podem se comunicar com moderadores via mensagem privada, para que você possa continuar se comunicando com eles para tentar resolver o comportamento. |
| Suspender o usuário | automation |
Usuários suspensos são impedidos de fazer login e, portanto, de realizar qualquer ação nos fóruns. Uma suspensão é o recurso mais forte que você tem para um usuário e deve ser usada com moderação. Assim como o silenciamento, a suspensão de um usuário é feita na página de Administração do usuário. Assim como o silenciamento, as suspensões são por um período específico de tempo. Você pode querer suspender o usuário por um curto período de tempo primeiro e, se o usuário retornar e continuar o comportamento, aumentar o tempo de suspensão. |
| Congelamento de Nível de Confiança | trigger-automation |
Em caso de usuários silenciados ou suspensos, o gatilho de Bloqueio de Níveis de Confiança é acionado. |
como funciona o gatilho de congelamento de nível de confiança
- Congelamento de Nível de Confiança - aciona estes eventos automaticamente:
- Silenciar o usuário - Aviso
- Suspender o usuário - cartão 1
- Bloquear Nível de Confiança - cartão 2
solução final
- Em resumo, seriam 4 plugins. Apenas o último plugin chama os outros plugins, como visto no tópico a seguir: como funciona o gatilho de congelamento de nível de confiança.
- Apesar dos casos de usuários sendo silenciados ou suspensos, os exemplos que mencionei acima foram feitos como Spam, Segurança da Conta em Risco, Mensagens ou Comportamento Abusivo, Denúncia - quando os usuários solicitam que seu nível de confiança seja bloqueado. Ainda haveria o caso de usuários que foram silenciados ou suspensos de forma pessoal, ou seja, auto-denúncia:
- “Solicito que o nível de confiança seja bloqueado, pois não quero ser o líder de algo”.
- “Estou viajando e gostaria de bloquear meu nível de confiança, não sei se conseguirão hackear minha conta neste período”.
- “Acho que minha conta foi hackeada, gostaria que meu nível de confiança fosse congelado até que o caso seja investigado pela comunidade Discourse”.
- Observação: Esses usuários que auto-denunciaram sua conta - eles podem solicitar suspensão de conta, silenciamento de conta ou até mesmo no caso que mencionei o bloqueio do nível de confiança.
- Se o usuário apresentar alguma prova de que não deve ser suspenso, silenciado ou ter seu nível de confiança protegido, a conta fica normal.
Notas
- Eu fiz isso algumas vezes e obrigado pelo feedback, JammyDodger ;D Eu li este documento e acho que é muito legal: https://meta.discourse.org/t/discourse-moderation-guide
- Dan DeMontmorency - O que você acha dessa ideia, é uma boa ideia? É possível criar algo assim?
novas ideias
- Uma alternativa viável pode ser esta, isso poderia ser feito com 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 - o único problema é que ainda não vi nenhuma informação da API sobre bloqueio de nível de confiança.
- Podemos ter plugins que se comunicam com a API para isso: silence-user-via-api, auto-suspend-inactive-user, “locking trust level”, suspend-a-user-via-the-api.
- Minha ideia seria ter o plugin de segurança de confiança - este plugin se comunica com as seguintes APIs: silence-user-via-api, auto-suspend-inactive-user, “locking trust level”, suspend-a-user-via-the-api.
- Minha sugestão inicial seria muito legal ter esses 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
mas algo que já resolve seria fazer este poc - prova de conceito
${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