Anular notificações proceduralmente para um grupo

TLDR: Em fevereiro de 2024, o Google mudará sua taxa de spam aceitável para 0,3%. Quero reduzir o volume de e-mails de saída para evitar ser sinalizado. (3 sinalizações de spam/1000 e-mails colocarão seu domínio na lista negra). Preciso alterar proceduralmente ‘acompanhar primeira postagem’ para determinados grupos.

Minha organização sem fins lucrativos é uma organização física que usa o Discourse para facilitar o engajamento de membros/comunidade. Em particular, optamos por novos membros em notificações obrigatórias sobre nossa organização (pautas de reuniões, votações e atualizações críticas. Temos permissão legal e somos obrigados a enviar esses e-mails).

  • Atualmente: Nosso portal de membros adiciona novos usuários do Discourse via API e os atribui ao grupo ‘membros atuais’, desde que estejam em situação regular.
  • O grupo de membros atuais está definido para Categorias: Acompanhar Primeira Postagem: Anúncios Oficiais.

Até aqui tudo bem.

  • Quando eles saem/expiram, nós (API) os movemos para ‘ex-membros’ para uma variedade de permissões. Quando os membros expiram/saem/etc., mantemos a conta deles ativa como um nível de permissão de ‘membro público não associado’, para que eles ainda possam interagir com a comunidade.
  • Objetivo: Remover a opção de acompanhar primeira postagem ao adicionar um grupo.
Capturas de tela


As configurações do grupo não atribuem acompanhamento.


O membro do grupo ainda tem o acompanhamento.

  • Mover para um grupo parece ser apenas aditivo. Existe uma maneira de designar ‘remover’ rastreamento com base na adição ao grupo?
  • Existe uma maneira de remover configurações de rastreamento que foram adicionadas pela associação ao grupo? (ou seja, ao sair do grupo, desfazer o que foi adicionado).

Alternativamente, poderíamos usar marcação @, mas seria muito fácil de abusar acidentalmente. Ter os grupos gerenciando o nível de notificação seria o mais fácil.

Acho que é isso que você deve fazer. Remova essas categorias observadas quando eles saírem. Você pode Engenharia reversa da API do Discourse para encontrar a chamada de API para alterar suas categorias observadas.

O problema é que tenho centenas de usuários nessa situação. Configurar isso para o futuro é um bônus, mas ter uma lista vazia nula explícita seria um ótimo recurso.

1 curtida

Então um comando do Rails que removesse os watches dos usuários do grupo expirado pode ser uma solução. Não me lembro se alterar a configuração do grupo oferecerá aplicá-la a todos os membros. Você pode tentar isso (fazer o grupo expirado assistir a categoria e então remover esse watch?)

Vou tentar. Sei que a adição de um watch oferecerá recursividade. Não consegui encontrar uma maneira de remover um watch que não estivesse lá. Você está certo, pode ser uma questão de adicionar e remover.

1 curtida

Esta é a mágica. Adicionar a um grupo que não possui a flag não afirma a remoção da flag - isso seria um pesadelo para manter… mas aplicar retroativamente a flag e, em seguida, remover a flag do grupo funciona como uma boa solução alternativa se eu só tiver que fazer isso anualmente.

#feature-request - a capacidade de afirmar uma categoria ou tag de ‘anular’ na adição de grupo seria ótima.

1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.