Caso mais alguém tenha interesse em fazer isso, aqui está um breve resumo do que eu fiz:
- Primeiro, você precisa habilitar o Badge SQL através da CLI do seu servidor Discourse:
./launcher enter app
rails c
SiteSetting.enable_badge_sql = true
- Em seguida, encontre o ID do tópico com o qual os membros devem interagir para obter o emblema. Na minha instância, o ID do tópico é 117
- Em seguida, encontre o ID do tópico com o qual os membros devem interagir para obter o emblema. Na minha instância, o ID do tópico é 117
![]()
- Crie seu Emblema Personalizado:
- Admin > Emblemas > Novo
- Nomeie o emblema como quiser (ex: Leitor de Regras B/S/T)
- Escolha um tipo de emblema, ícone e forneça uma descrição
- Se você seguiu o Passo 1, verá uma caixa de consulta onde poderá digitar uma consulta SQL. Cole esta consulta (altere
p.topic_id = 117para o ID do seu tópico):-
SELECT DISTINCT ON (pa.user_id) pa.user_id, pa.post_id, pa.created_at granted_at FROM post_actions pa JOIN posts p ON pa.post_id = p.id AND p.post_number = 1 WHERE pa.post_action_type_id = 2 AND p.topic_id = 117 AND (:backfill OR pa.post_id IN (:post_ids))
-
- Certifique-se de que Executar consulta de revogação diariamente e Consulta visa posts estejam marcados.
- O gatilho deve ser definido como Quando um usuário age em um post
- Agora criamos a Automação
- Primeiro crie um novo grupo para os membros serem adicionados. O meu está apenas nomeado
bst_rules_agreed, e está configurado para que apenas proprietários de grupo e moderadores possam ver a afiliação. Não precisa ter nenhum efeito de Nível de Confiança. - Em seguida, vá para Plugins > Automação
- Adicione uma nova automação
- Escolha Afiliação de Grupo de Usuário Através de Emblema
- Gatilho: Recorrente
- Recorrência: Eu configurei para a cada 1 hora. Escolha o que faz sentido para você.
- Escolha uma data de início
- Opções de Script:
- Emblema: Escolha o emblema que você criou acima
- Grupo: Escolha o grupo que você criou acima
- Adicione uma nova automação
- Primeiro crie um novo grupo para os membros serem adicionados. O meu está apenas nomeado
É isso. Você agora deve ter um sistema que garante que os membros concordaram com as regras da categoria antes de poderem postar na categoria.
Minha próxima exploração é ver se há uma maneira de ocultar todos os tópicos, exceto as regras, para todos que não estão naquele grupo. Mas, este sistema básico é bom o suficiente por enquanto.