Automatische Ablaufdatum für Abzeichen

Ich möchte meinen Discourse-Nutzern, die regelmäßig aktiv sind, bestimmte Vorteile gewähren. Zum Beispiel möchte ich diese Vorteile nur Nutzern anbieten, die mindestens einmal pro Monat einen neuen Nutzer einladen.

Ich könnte dies einrichten, indem ich festlege, dass alle Nutzer, die das „Promoter"-Abzeichen besitzen, diese Vorteile erhalten. Das „Promoter"-Abzeichen erfordert jedoch lediglich, dass ein Nutzer einen Besucher einlädt, und danach behält der Nutzer das Abzeichen dauerhaft.

Gibt es eine Möglichkeit, ein automatisches Verfallsdatum für Abzeichen einzurichten, sodass das „Promoter"-Abzeichen (oder ein anderes) nach einem Monat vom Nutzer entfernt wird und dieser es erneut verdienen muss?

Oder gibt es einen besseren Ansatz für das, was ich erreichen möchte (monatliche Aktivität der Nutzer erforderlich)?

Vielen Dank im Voraus.

Definitely an interesting idea.

@codinghorror, I understand then that there is no such feature yet? :slight_smile:
Is there any workaround that can be used to implement this, even if manually? The main problem I see now is that I can’t see even information about when a badge was granted to a user. Is this available somewhere, even if it via API?

I guess you could use Discourse Data Explorer Plugin to replicate SQL queries and add time constraints to create new “expiring” badges. I did not check in the #plugin:data-explorer category or (Superseded) What cool data explorer queries have you come up with? collection if there are such queries already. It would definitely be appreciated to share what you come up with in this topic!

Under the 3 lines next to your Avatar, click Badges. Each badge has a number… for how many users have it. Click on the number it shows. Then, each user with the badge will be listed with the date they earned the badge.

But why would anyone want expiring badges? Users will get ticked, IMO.

This is actually a common ask within the community space. Badges that are tied to more recent/current actions of the users vs. the historical granting of badges you get to keep forever regardless of whether or not you are still active in the community. Especially for communities that have been up for years. Facebook does this with the “Top Fan” badge which is not static and can go away if you fade away from participating on the page.

If I simply manually delete a badge from an user, will he/she gain that badge again if he perform the needed actions?

Dafür wäre der Rat immer noch, neue Abzeichen zu erstellen, die ein Zeitelement in die zugrunde liegende SQL-Abfrage integriert hätten.

Wenn jemand Hilfe bei einer Abfrage benötigt, kann er ein Thema in Data & reporting starten. :+1: