Is there any way to restrict posting in a topic to members of a group, but allow all users to read the topic?

Basically, we’re hoping to set up groups to manage posting permissions within a topic, but we still want every user and unregistered guests to be able to read what is posted.

Any way to make this work?

Category → Security

  • kaikki is all in egnlish

I don’t understand point of Restrict Replies, though.

1 Like

I get that you can do it for a category, but we’re hoping to not have to make an entire new category given all of these topics are already neatly sorted into categories and subcategories.

We’re really hoping for the ability to restrict replies (and likes, actually) on a per-topic basis.

You can’t out of the box AFAIK. But I would like to be wrong now.

You might want to archive those topics.

Not sure how that still allows users of a certain group to post there…

1 Like

Ah, sorry @orangeandblack5, I wasn’t considering your original question, just replying to this part:

Let’s start over…

In Discourse we set group permissions at the category level, not the post level, so I do not believe there is a way to do as you ask.

:thinking: I’m curious: why do you not want anyone who can read the topics not be able to like them? I thought of archiving because maybe you wanted to “freeze” them, but it sounds like you want some folks to have the like ability and others to not have it. I love hearing how people use Discourse in their communities! :slight_smile:

For us, the posting bit is far more important than the liking bit, but in general we use Discourse to run various types of games and discussions online that people have to sign up to participate in, and it’s against the rules to post in a game you are not actually playing, but we have no software enforcement of that and so sometimes new users get confused and end up disrupting things on accident when they should instead be signing up for an upcoming topic.

Some way to allow everyone to read all of the topics, but prevent people not signed up for a particular topic from posting in it would be awesome!

1 Like

I also think the only way to achieve this without custom code is adding a dedicated sub-category for each game or discussion that you want to restrict. This sounds cumbersome, but as you already have to set up a dedicated group each time it’s actually not that much more of a manual effort. In any case, the user experience will be clean with a setup like this:

  • category : games
    permission: everyone read
  • sub-category: game-A
    permission: only game-A group reply

So topics from game-A will be visible for everyone, but anyone who isn’t a member of the game-A group and opens the topic won’t be able to reply.

If you want a very clean interface and it aligns with your architecture you could even hide the relevant sub-category badges from the interface with css. So the sub-categories are purely about access rights and not about navigation.


The issue with that is that we already use sub-categories to sort things.

We’ll consider it at least, but it’s really not ideal because we’d need to cut out an entire layer of sorting/organization and that could make the site way harder to navigate, especially for new users

1 Like

I suspect that you should use tags to do some of that organisation. See It’s Time We Talked About Tags.

There isn’t going to be an easy way to get per topic permissions.

I wonder if there is a way to provide Page Publishing for PMs?

I don’t believe so. But you could publish them in a category that people could write to and then unlist them.

This is separate from the OP’s use case, but I admin a forum with one anonymous-only category where users can post about professional issues without exposing their usernames to everyone else (although they know the admins can find out who posted what if anyone misbehaves). It would be great to be able to restrict likes to only anon users too.