Badge basato sulla prima promozione a moderatore?

Ho appena taggato questo come sql-triggered-badge, ma ho pensato di verificare se stai cercando uno automatico o meno? Presumo che tu non abbia un gran numero di mod e potresti magari concedere questo badge manualmente in base a una query del data explorer?


Penso che una versione semplificata di quella sopra potrebbe essere:

-- [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)

Questa funzionerebbe come una query del data explorer piuttosto che come un set di badge SQL, e può selezionare un elenco di utenti che soddisfano i criteri in modo da poter concedere loro manualmente il badge.

C’è un’unica avvertenza: se hanno lasciato il gruppo mod in qualsiasi momento e si sono riuniti, conterebbe solo l’ultima inclusione. Penso che sarebbe possibile utilizzare la tabella user_histories per aggirare questo problema, ma se è un’eccezione, è probabile che sia più facile tenerne conto manualmente.