How to achieve the campaigner badge

I’ve got 4 people invited here on meta

and 8 people on my hosted discourse (/users/allen/invited)

and so I would think I’d have this badge (as would more than just @sam

https://meta.discourse.org/badges/26/campaigner

Would someone check it out?

Yeah that does seem like a bug @sam.

The definition is 3 members, not 3 users

They got to be tl1

On my hosted site, I have invited 11 members and they are all TL1

What’s the difference between members & users?

Sorry I meant TL2

    SELECT u.id user_id, current_timestamp granted_at
    FROM users u
    WHERE u.id IN (
      SELECT invited_by_id
      FROM invites i
      JOIN users u2 ON u2.id = i.user_id
      WHERE i.deleted_at IS NULL AND u2.active AND u2.trust_level >= 2 AND not u2.blocked
      GROUP BY invited_by_id
      HAVING COUNT(*) > 3
    ) AND u.active AND NOT u.blocked AND u.id > 0 AND
      (:backfill OR u.id IN (:user_ids) )

Its meant to be a reasonably hard to get badge

https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/5?u=sam

Member is defined as TL2 throughout Discourse.

I guess that’s fine for meta, but it means that badge won’t work for my forums, where we don’t let members invite members.

In that case, you should disable the badge.

1 Like

I think this is far too hard to get. This reads more like the gold level criteria.

I can bump it down to tl1 if you wish

Yeah that would be better, we want to encourage invites. Gold level of this can use TL2.

1 Like

Done

https://github.com/discourse/discourse/commit/1db92e6027837f6a6db1dcffc281f4af97391f86

5 Likes

Change the text for “Champion” to be “Invited {n} active members” to indicate it’s stricter than the previous level. (It still means TL2, and it’s kinda weird terminology-wise, but whatever. Anyone have a better idea?)

3 Likes