"Override lower roles" setting for permissions
Currently, if a user has any role that sets a permission to positive, then they have that permission, regardless of higher roles that set the same permission to negative. This is clearly impractical, and leads to the issue that it is impossible to mute a user in a restricted channel. In servers where all users have a role that allows them general access, and by default new users cannot chat until they are given this role, it becomes impossible to mute anyone, server-wide, as no matter the hierarchy of the mute role, their lower role allows them to chat.
A simple solution is a tickbox next to permissions for a role, that says "override lower roles?". This would then ignore settings for any lower roles for that permission, and a user would receive the permission of the highest role that overrides those below it, or, if there are none, then as normal.
-
yes this would make it so much easier to mute people in servers as atm you have to remove all there roles to mute them (if your mute role makes it so they cant type)
this would be a amazing feature to have and by having it as a button that you can turn on and off will make it great so if people want different roles for colors or so on it doesn't effect it too
20 -
The thing is, higher roles used to always override the permissions of lower roles.
But discord recently seems to have removed that hierarchy feature to this new system that only listens to "yes", and doesn't listen to higher roles saying "no", something that really doesn't work for a lot of servers that relied heavily on the hierarchy role permissions used to have. (And someone might say that bots will fix this issue, but I don't want yet another bot on my server, when discord used to do it just fine....)
20 -
Yes, this is really annoying.
I have two factions on my channel, let's call them "Bloods" and "Crips" — and they don't like seeing each other. So I've got them split up, with duplicate channel sections, two separate roles.
Then I have a bunch of language roles, like 15 roles. So if you speak italian, I've got an italian channel in "Bloods" and an italian channel in "Crips".
Here's the problem. If I give the "italian" role to a Crip, he CAN ALSO SEE the Italian channel in the Bloods's section. I don't want him to see that channel, and I don't want him to see the Blood's section at all.It'd be great to be able to have some kind of override. Some kind of conditions for channel permissions. Apparently you used to.
Until then, my solution is that I just have double the amount of roles. I have 15 language roles for Crips, and 15 language roles for Bloods.17 -
This is so simple to fix, all this need is discord to prioritise denies instead of allows.
Channel permissions start with server permissions as a base. Then, the hierarchy is as follows:
- Apply denies of @everyone on channel
- Apply allows of @everyone on channel
- Sum up all the denies of a member's roles and apply them at once
- Sum up all the allows of a member's roles and apply them at once
- Apply denies for a specific member if they exist
- Apply allows for a specific member if they exist
to
- Apply allows of @everyone on channel
- Apply denies of @everyone on channel
- Sum up all the allows of a member's roles and apply them at once
- Sum up all the denies of a member's roles and apply them at once
- Apply allows for a specific member if they exist
- Apply denies for a specific member if they exist
if you apply them in this order we can have conflicting groups that will do what every sane person expects.
It's like a security firewall rule, your last rule is always a "deny all", try and manage a firewall with "allow all" as the last rule and let us know how it goes.
14 -
This even seems to allow privilege escalation of sorts. I have a server where I want regular members to be able to give "guest rights" of sorts. The only way to do this with Discord's role system without a bot seems to be to use the "Manage Roles" function. Now where this screws up is that members have other roles, too, which should not be messed with. So if, say, I have 20 roles, #18 is the one with "Manage Roles", and a user has #5 and #18, they can give anyone roles #6-#18 as well, and not only #19 as the description of "Manage Roles" indicates. It specifially says "lower than THIS ONE" in the description, and it does not obey that...
13 -
How isn't this a feature yet? It's such an important feature that should be there already!
13 -
If you're trying to hide channels from a new user without a specific role until they accept the terms of a discord with a react or whatever, you have to disable what the everyone role can see and in turn give the 'members' role (which may be given when they agree) the ability to see/type messages in a channel. In Role/Member permissions for channels, even if the muted role is above the others and has no ability to speak in said channels, the users still can speak because roles don't have dominance over eachother.
11 -
I have been wrapping my head around why a user with the mute rule that denies the Send Messages channel permissions is still able to send a message in a channel that has a lower special role that can send messages.
11 -
I am upvoting this because while it is important to override other roles, but only if they are lower in the order.
I am unhappy with the way the current role hierachy is calculated.
what if a user has a permission denial but I want to give him a global role that overrides those personal settings?
I want users to be able to hide a channel for themselves, and to unhide it if they have an observer role.
this would work like a global role that supercedes everything9 -
I just found out there is also randomness happening; Moderators able to give themselves Admin (Privilege escalation witch is a big Nooo in security world) Other Mods not able to give a new user the appropriate roles, probably related to Android vs IOS.
It all is related to the option "manage roles" that's broken. I cant seen to find any excuse why this has been released as roles and security perimeters in terms of channels and server management is compromised.
9 -
When will this be added?
9 -
This is still an issue. Muted roles are useless in any channel that has an explicit send message. I have a channel where @everyone can not send message but can read. My general purpose role allows user to send messages in that channel. If I give a general purpose user the muted role, they can't talk in other channels, but they can still talk in that specific channel even though I don't want them to. The only way to fix this is to remove the general purpose role every time I mute them, which is tedious.
9 -
Still hasn't happened. Still a VERY useful tool that would be well worth having. I run a server where the ability to create a "timeout" role that doesn't let users post would be beneficial, but there's no way to make it actually block the user from posting since there's other roles which give the "able to post" property and no way to make a higher-level role that revokes it.
An "overrides lower roles" toggle you can set on a role would be a perfect way to fix this without breaking other things.
9 -
JUST FIX THIS CRAP! THERE NEEDS TO BE MORE FUNCTIONS- SOMETHING THAT MAKES THE DARN THING ***USER FRIENDLY***!
8 -
I agree with the post but I think this should just count in general, not a button to override lower roles, permission override pretty much already means that.
A basic hierarchy that solves the problem described below should be perfect.apparently when you have two roles in channel permission override, the higher role does not override the lower role's overrides.
if I have a
temp-ban
role, above amembers
roletemp-ban
has deny override on see-channelsmembers
has allow override on see-channelspeople with both
members
andtemp-ban
can still see the channel, even thoughtemp-ban
says they shouldn't. I don't think this is an intended feature, and if it is it should be changed.8 -
this is crap the way it currently works. I want to keep an under 18 person out of a NSFW room but because I also have them assigned to another role that has permissions to the room there seems not way to block them.
6 -
I don't understand how this is still the case
It is a important problem in the roles6 -
Our server has a non paid member section and a paid member section, now we can't mute anyone in the paid member section cause despite the mute role denying permission to speak and being higher, the lower role which is the paid member role allows speaking :(
5 -
yes plz
5 -
This please
5 -
That is wrong @Desdevil,
Negative permissions do not override positive ones. It's the exact oposite and one of the major reasons for the existance of this feedback post.
When the role has send Message granted by default and you deny it using a muted role with aforementioned permission set to deny, will the user still have permissions to send messages because for unknown reasons are positive permissions prioritized over negative ones.
This is also mentioned in detail on the Discord Developer documentation:
"Otherwise, permissions do not obey the role hierarchy. For example, a user has two roles: A and B. A denies the
VIEW_CHANNEL
permission on a #coolstuff channel. B allows theVIEW_CHANNEL
permission on the same #coolstuff channel. The user would ultimately be able to view the #coolstuff channel, regardless of the role positions."
- Source: https://discord.com/developers/docs/topics/permissions#permission-hierarchyI highly suggest to actually read stuff and inform yourself before spreading wrong information. Thanks.
5 -
good idea 4 -
Yes, please make this a reality. At least give the admin the option of whether he wants to follow a more traditional hierarchy are the more combinational hierarchy.
4 -
please fix this. We can't make a mute permission and low level staffs can edit themselves to the high tier cause of this.
4 -
DISCORD FIX THIS ALREADYYYYY IS 2020
4 -
I think each permission should have 2 levels of deny: soft, and hard.
- Soft acts like it does right now, so if you have a role that has the permission on allow, it will override the deny.
- Hard makes it so that no matter what, the permission is denied.
4 -
Yo, Discord devs, stop sitting with a thumb up your ass for 3 years. This issue seriously needs to be addressed...
4 -
Things might be easier than the past- but it doesn't mean it is anywhere NEAR close to perfect.
3 -
and also you have a lot of things to fix
3 -
Discord!! It is very tough for us to fix the muted role! It took me a day to configure the muted roles! please fix this!
3
Please sign in to leave a comment.
Comments
134 comments