Need ability to ban one or more users from a category

We have a group/category that is only visible to logged in users. I.e. we’ve set trust_level_0 to have create/reply/see.

We have a few users who can be disruptive in this particular category, but their input is valued in other categories on the site. Simply asking them to stay away from that first category is not working, I need a way to kick them out, while still allowing them to participate in other categories.

Going the route of explicitly allowing everyone else, minus these few disruptive people, is not realistic as we have over 41,000 users.

Bottom line: We need a way of setting the permission of “all logged in users, minus NN1, NN1, NN3… NNn” to a category.

Any ideas on how this can be accomplished?


You’d need to create a new group, copy all the tl0 users and delete the bad people, and adjust the category permissions. And you’d need to add new people to the group as time goes on.

As Jay mentioned there is no way to create a “minus” in category permissions. This could be done in a plugin that keeps track of a custom group’s membership.

We don’t have any plans on adding “minus” security into the security tab.

One human way of solving this is:

Ban user for 7 days from the forum, if user continues being disruptive in that category ban for 30 days.


I can relate to the quandary. For example, if a passionate member was exemplary in the “cars” category but toxic in the “trucks” category I would be torn. On the one hand I would want to not lose the benefit to “cars”, on the other I would definitely want the “trucks” toxicity to stop.

If the member was reasonable, they would agree to my initial polite request. If they persisted it might be they considered themselves to be an indispensable asset and entitled to misbehave.

Having a way to avoid (postpone?) the need to make hard decisions that could lead to awkward conflict does seem like it would be something desirable. But it would need to be done with a plugin and I don’t know how effective it would be.

I fear that even if a plugin did a type of

if currenUser = "TruckHater" && category = "trucks" 
  currentUser.blocked = true 

that eventually the member would complain about it and react poorly.

I agree with sam that a temporary wrist slap either by a short term Silence (née Block) or Suspend is the better way, even with the risk of losing the benefits to ensure the toxicity stops.


With 41k users and adding 6-10 users every day, that’s just not practical. Neither is monitoring a category 24/7, or for that matter, monitoring the user 24/7.

Follow-up question: Can a user be put on probation, so that every post they make is automatically held for moderation?


This is a great feature request and something that has popped up before, I would like us to have this option but we do not have it now.

Closest would be locking the user at tl0 and putting all tl0 posts through the moderation queue.


Then I’d like to add my voice/vote to this feature request. As forums grow and age, more granular user administration than what Discourse currently offers will be needed, and not just by Jag-lovers.


1 Like

We do this all the time and we have plenty of positive experiences with this approach. There is a plugin though which we haven’t tested yet:

Would be very nice to have that one integrated to the core.


Thank you!

I just installed and tested the plugin, it works exactly like advertised. Please integrate this into the core, like @rizka suggests.

Oh, and please add functionality so that the addition to the list of a user can be time limited. IOW, so they can be put on probation for 1 day, a week, or whatever, then automatically returned to “normal”.