Nível de confiança congelado

@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

  1. 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

  1. 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.
  2. 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

  1. 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
  2. Dan DeMontmorency - O que você acha dessa ideia, é uma boa ideia? É possível criar algo assim?

novas ideias

  1. 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.
  2. 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.
  3. 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.
  4. 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
2 curtidas