Expiration automatique des badges

J’aimerais offrir des avantages à mes utilisateurs Discourse qui restent engagés périodiquement. Par exemple, je souhaite accorder des avantages uniquement aux utilisateurs qui invitent au moins un nouvel utilisateur par mois.

Je pourrais configurer cela en disant que tous les utilisateurs possédant un badge « Promoteur » bénéficieront de ces avantages. Cependant, le badge « Promoteur » exige que l’utilisateur n’invite qu’un seul visiteur, et l’utilisateur conserve ce badge pour toujours.

Existe-t-il un moyen de configurer une expiration automatique du badge afin que, après un mois, le badge « Promoteur » (ou tout autre) soit retiré de l’utilisateur, l’obligeant à le gagner à nouveau ?

Ou existe-t-il une meilleure approche pour ce que je tente de faire (exiger un engagement mensuel de la part des utilisateurs) ?

Merci d’avance.

C’est vraiment une idée intéressante.

@codinghorror, je comprends donc qu’une telle fonctionnalité n’existe pas encore ? :slight_smile:
Y a-t-il une solution de contournement possible pour l’implémenter, même manuellement ? Le principal problème que je constate actuellement est que je ne peux même pas voir les informations sur la date d’attribution d’un badge à un utilisateur. Ces informations sont-elles disponibles quelque part, même via une API ?

Je suppose que vous pouvez utiliser Discourse Data Explorer pour répliquer des requêtes SQL et ajouter des contraintes temporelles afin de créer de nouveaux badges « expirants ». Je n’ai pas vérifié dans la catégorie #plugin:data-explorer ni dans la collection (Superseded) What cool data explorer queries have you come up with? si de telles requêtes existaient déjà. Il serait vraiment apprécié de partager ce que vous trouvez dans ce sujet !

Sous les 3 lignes à côté de votre avatar, cliquez sur Badges. Chaque badge affiche un nombre… correspondant au nombre d’utilisateurs qui le possèdent. Cliquez sur ce nombre. Ensuite, chaque utilisateur ayant le badge sera listé avec la date à laquelle il l’a obtenu.

Mais pourquoi quelqu’un voudrait-il des badges expirables ? Les utilisateurs seront énervés, à mon avis.

C’est en réalité une demande courante dans l’espace communautaire. Il s’agit de badges liés aux actions récentes ou actuelles des utilisateurs, par opposition à l’attribution historique de badges que vous gardez à vie, que vous restiez actifs dans la communauté ou non. Cela est particulièrement pertinent pour les communautés existantes depuis plusieurs années. Facebook le fait avec le badge « Superfan », qui n’est pas statique et peut disparaître si vous cessez de participer à la page.

Si je supprime manuellement un badge d’un utilisateur, ce dernier le retrouvera-t-il s’il effectue les actions requises ?

Pour cela, je pense que le conseil serait toujours de créer de nouveaux badges qui intègrent un élément temporel dans la requête SQL sous-jacente.

Si quelqu’un a besoin d’aide pour une requête, vous pouvez ouvrir un sujet dans Data & reporting. :+1: