I have a bunch of users that are intensely active in PMs. I don’t want to give any badge to them in this situation. They rarely show up in public. Is there a way to do so?
Are you finding badges that are being awarded to these users based on their activity in PMs?
Most of the Discourse badges for posts query the
badge_posts table. This table excludes PMs, so PM activity shouldn’t be causing badges to be awarded.
I’m sure all of badges related to giving and getting likes are granted to them.
Yes, you’re right. Badges for likes are querying the regular
So what does it mean? Is there a way to prevent this?
What it means is that PMs are being used for granting some of the badges for likes. A user will not be granted the First Like badge for liking a PM, but they can be granted the Admired, Crazy in Love, and Empathetic badges for likes given and received on PMs.
At the moment, the only thing you can do to prevent this is to disable those badges.
I suggest reducing the number of posts allowed per PM or disabling PMs altogether, in your site settings. This isn’t a healthy community pattern.