Les badges sont très populaires dans notre communauté, ils constituent une ressource fantastique pour l’engagement.
Nous avons des catégories premium sur notre Discourse qui ne sont accessibles qu’aux abonnés / membres payants et nous aimerions récompenser ces membres payants avec un badge d’or pour leur profil, appelons-le « Membre Extra Spécial » dans cet exemple.
Le nombre de membres payants que nous avons est un nombre commercialement sensible.
Ce nombre serait divulgué à toute personne détenant le badge « Membre Extra Spécial », même s’il est caché sur la page du badge, ils pourraient simplement cliquer sur leur propre badge, puis voir tous les autres membres qui détiennent également ce badge.
Existe-t-il un moyen d’empêcher les gens de voir qui d’autre détient un badge spécifique ?
J’ai effectué quelques tests, mais je ne suis pas sûr que ce soit idéal pour notre cas d’utilisation non plus.
Le « flair » (de notre groupe caché) est appliqué à l’utilisateur, mais au moment où il rejoint l’un de nos autres groupes, son « flair » est remplacé par celui du groupe qu’il vient de rejoindre.
Sur son profil, il ne peut alors choisir qu’un « flair » d’un groupe public, il perd complètement l’accès à son « flair » de membre spécial et ne peut pas le réappliquer
D’autres idées allaient dans le sens de forcer un titre sur tous les utilisateurs, par exemple « Invité », mais cela pourrait simplement être modifié par eux pour n’importe lequel des titres de badge qu’ils détiennent. Je ne pense pas pouvoir empêcher les gens de changer leur titre.
Je cherche un moyen pour que les invités et les membres puissent s’identifier mutuellement (c’est-à-dire un badge) mais sans révéler le nombre de membres Extra Spéciaux que nous avons.
Y aurait-il d’autres solutions ou solutions de contournement innovantes ?
Pourrais-je faire quelque chose d’intelligent avec les « Champs utilisateur » ?
Peut-être créer un champ utilisateur appelé « Statut », le rendre visible sur leur profil, mais qu’il ne soit pas modifiable par eux. Pourrais-je ensuite mettre à jour ce champ utilisateur « statut » automatiquement par un appel API ? (nous déclenchons un appel API pour les ajouter à un groupe)
J’ai déjà un appel API existant qui est effectué lorsqu’une personne devient membre, j’envoie un appel API à Discourse pour l’ajouter à un groupe. Pourrais-je également envoyer un deuxième appel API pour mettre à jour ce champ utilisateur ?
Chaque fois que vous effectuez une action dans Discourse, vous pouvez consulter l’onglet réseau de vos outils de développement de navigateur pour voir la requête qui a été effectuée.
Par exemple, ici, je sauvegarde le profil d’un utilisateur :
Vous voyez l’URL de la requête, mentionnant le nom d’utilisateur, et le type de requête (PUT).
Dans l’onglet Payload, vous voyez les données pertinentes :