# Badge basé sur la première promotion d'un utilisateur au rang de modérateur ?

**URL:** <https://meta.discourse.org/t/badge-based-on-when-user-was-promoted-to-moderator-first-time/303035>\
**Category:** Data & reporting\
**Tags:** sql-triggered-badge\
**Created:** [Avril 9, 2024, 1:24 UTC](https://meta.discourse.org/t/badge-based-on-when-user-was-promoted-to-moderator-first-time/303035 "2024-04-09T13:24:34Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Post date:** [Avril 19, 2024, 6:00 UTC](https://meta.discourse.org/t/badge-based-on-when-user-was-promoted-to-moderator-first-time/303035/7 "2024-04-19T06:00:15Z")

</div>

J’ai juste marqué ceci comme #sql-triggered-badge, mais j’ai pensé vérifier si vous cherchiez un badge automatique ou non ? Je suppose que vous n’avez peut-être pas énormément de modérateurs et que vous pourriez peut-être accorder ce badge manuellement sur la base d’une requête d’explorateur de données ?

* * *

Je pense qu’une version simplifiée de celle ci-dessus pourrait être :

```sql
-- [params]
-- int :years

WITH time_in_mod_group AS (

SELECT
    user_id,
    (CURRENT_DATE - created_at::date) AS days_as_mod
FROM group_users
WHERE group_id = 2 -- group id of the 'moderator' group
  AND user_id > 0 -- exclude system users and bots

)

SELECT
    user_id,
    days_as_mod
FROM time_in_mod_group
WHERE days_as_mod > (365 * :years)

```

Celle-ci fonctionnerait comme une requête d’explorateur de données plutôt que comme un ensemble de badges SQL, et peut sélectionner une liste d’utilisateurs qui correspondent aux critères afin que vous puissiez leur accorder manuellement le badge.

Il y a une mise en garde : s’ils ont quitté le groupe de modérateurs à un moment donné et l’ont rejoint, cela ne compterait que la dernière inclusion. Je pense qu’il serait possible d’utiliser la table `user_histories` pour contourner cela, mais s’il s’agit d’une exception, il est probablement plus facile de la prendre en compte manuellement également.

---

_[View the full topic](https://meta.discourse.org/t/badge-based-on-when-user-was-promoted-to-moderator-first-time/303035)._
