Não exibir os nomes de usuário que possuem um distintivo específico distintivo específico

Existe uma maneira de ocultar a lista de usuários que possuem um distintivo específico?

Eu olhei em Don't list members having the same badges e Hide badge user list?, mas eles não se encaixam exatamente no nosso caso de uso (ou, mais provavelmente, no nosso caso extremo).

Os distintivos são muito populares em nossa comunidade, são um recurso fantástico para engajamento.

Temos algumas categorias premium em nosso Discourse que estão disponíveis apenas para assinantes / membros pagantes e gostaríamos de recompensar esses membros pagantes com um distintivo de ouro para o perfil deles, vamos chamá-lo de “Membro Extra Especial” neste exemplo.

O número de membros pagantes que temos é um número comercialmente sensível.

Esse número seria vazado para qualquer pessoa que possuísse o distintivo de Membro Extra Especial, mesmo que estivesse oculto na página do distintivo, eles poderiam simplesmente clicar em seu próprio distintivo e, em seguida, ver todos os outros membros que também possuem esse distintivo.

Existe uma maneira de impedir que as pessoas vejam quem mais possui apenas um distintivo específico? :thinking:

Você não poderia usar flair em vez disso?

Hmmmm :thinking:

Muito possivelmente…

Este aviso acarreta risco de vazamento de números de membros sensíveis?

Como este é um grupo primário, o nome ‘hidden_group_test_2’ será usado em classes CSS que podem ser visualizadas por qualquer pessoa.

Desculpe as cores chamativas, é apenas para teste:

1 curtida

Não tenho objeções quanto ao vazamento do nome do grupo oculto, desde que a lista/contagem de membros não seja.

Realizei alguns testes, mas não tenho certeza se isso é ideal para o nosso caso de uso também.

O flair (do nosso grupo oculto) é aplicado ao usuário, mas no momento em que ele entra em qualquer um dos nossos outros grupos, seu flair é substituído pelo do grupo que ele acabou de entrar.

No perfil deles, eles só conseguem escolher um flair de um grupo público, perdem completamente o acesso ao seu flair especial de membro e não conseguem reaplicá-lo :confused:

Você tem isso configurado nos outros grupos:

Screenshot 2023-02-07 at 2.09.34 PM

Está em ‘Effects’ em Manage/Membership para cada um dos grupos.

Se estiver configurado nesse grupo e em nenhum outro, não deve haver substituição.

O grupo principal determinará o flair e o título padrão para o usuário.

1 curtida

Sim, está configurado em todos os nossos grupos, para que eles recebam o flair do grupo que acabaram de ingressar.

Outros pensamentos foram no sentido de forçar um título em todos os usuários, como “Convidado”, por exemplo, mas isso poderia ser alterado por eles para qualquer um dos títulos de distintivo que eles possuem. Não acho que eu possa impedir que as pessoas mudem seu Título.

Estou procurando uma maneira para que convidados e membros se identifiquem como tal (ou seja, um distintivo), mas sem vazar o número de Membros Extra Especiais que temos.

Haveria outras soluções ou contornos inovadores?

Eu poderia fazer algo inteligente com “Campos de Usuário”?

Talvez criar um campo de usuário chamado “Status”, deixá-lo visível em seu perfil, mas não editável por eles. Eu poderia então atualizar este campo de usuário “status” automaticamente por uma chamada de API? (disparamos uma chamada de API para adicioná-los a um Grupo)

Talvez eu esteja chegando a algo aqui:

Criei um campo de usuário chamado “Membro” e não permito que eles o editem:

Se eu editar um usuário para testar, posso ver “Membro: Sim” no perfil dele:

Isso provavelmente decidirá, no entanto:

Como eu faria isso? :thinking:

Eu já tenho chamadas de API existentes que são feitas quando alguém se torna membro, eu disparo uma chamada de API para o Discourse para adicioná-los a um grupo. Eu também poderia disparar uma segunda chamada de API para atualizar esse Campo de Usuário?

Certamente :slight_smile:

Cada vez que você realiza qualquer ação no Discourse, pode verificar a aba de rede das ferramentas de desenvolvedor do seu navegador para ver a consulta que foi feita.

Por exemplo, aqui eu salvo o perfil de um usuário:

Você vê a URL da solicitação, mencionando o nome de usuário e o tipo de solicitação (PUT).
Na aba Payload, você vê os dados relevantes:

Os campos personalizados são listados como user_fields[X], onde X é o número do campo personalizado.


Editar: Vi que você descobriu isso em Dev, então, apenas para fazer um link… :slight_smile:

1 curtida