"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.
-
No updates on this one?
Would be really nice because I have some channels that have the @everyone role blocked so ppl can’t just have access to them. And then I have a role that grants permission to the rest of the server. But then I also have roles that are meant to censor some channels to some users, which conflict with the existing permissions.I’m surprised that the permission does not work by role hierarchy, when everything else seem to work by role order.
1 -
New UI has broken this even more -- Need this all corrected to reflect Perms of what everyone is use to in the IT world. This concept is not smart.
0 -
Wow, I ran into this problem while constructing my new server and find that it's been a known problem for 3 years. My entire server except for the rules channel requires at least one role to see. I made a role that should deny a user the ability to see a channel and placed it above the role that grants them permission because that's obviously how it would work right? Nope. I guess I'll have to rely on my moderators and bot's auto moderation instead of the ability to mute users.
1 -
Yea don't count on Discord to fix things that actually matter. They're too busy changing background colors and reaction frame shapes to care.
2 -
How is this still a thing? What is the point in hierarchy? Other than to decide what colour a user’s username is?
0 -
How is this not fixed?
2 -
Trying to build in language support based on roles and looks like I cant as the higher privlege rooms become exposed even with my GeneralUser role denied and way down the list. This REALLY needs to be fixed
1 -
bruh, discord, we need this
1 -
I am facing this issue right now, I am creating a server where I want 2 steps of authentication. I am using both an "unverified" role applied by a bot upon entry, and a "verified" role that is assigned when people agree to the server rules (in truth, there are 5 verified roles that have the same permissions but different names, and they're assigned semi-randomly for flavor). I want it to be so that the unverified role can only see server rules and agree, but nothing else, and that UNTIL that unverified role is removed by a moderator, the person with the verified AS WELL AS unverified role can only see the server rules and introduction channel. I want these people to make an introduction, according to a template, which a moderator could like or not, and that moderator would then remove the unverified role if the introduction was satisfactory... following which, the rest of the server is open to that person (including other roles). I have made the everyone role unable to do anything. I am very new to making servers etc, so I'm wondering if I'm doing this incorrectly and there is a simple fix, or if this problem that everyone is complaining about is behind it as well. If anyone reading has any suggestions for how I can accomplish what I'm trying to do, please let me know.
1 -
If it's just that, just leave @everyone's permissions at neutral, have the bot apply a role that is blocked from seeing all those channels and they'll get visible only once the newcomer role is removed. As long as there's no actual positive permission given, negative permissions will actually work to block people from things. The problems only start once people have an actual positive permission as that is unable to be negated by any negative permissions at all.
2 -
Yo, Discord devs, stop sitting with a thumb up your ass for 3 years. This issue seriously needs to be addressed...
4 -
How is this still an issue???!!!!! Let's go!
0 -
THIS NEEDS TO BE IMPLEMENTED BACK. I am trying to create a muted role, but when i try to mute mods, they get muted, although i put they can send messages...
0 -
Request to add this as it would be extremely useful
0 -
text me on DC, my english isnt the best, but i think i got an ez fix for this. Its all in Discord itself.
Luzen#97210 -
Unfollowing, this feature will never be implemented for sure.
3 years passed
1 -
Can we please have this already? I need to divide my private channels by language!
Stop changing the background colors.1 -
Please implement this feature
1 -
Hello to fellow Discord users.
I used to share the same issue and the frustration. However, I did some more digging and learned that this is not a defect that needs to be fixed. While it is not very intuitive, Discord designed their app to function this way, which is why they are not doing anything to "fix this" because it's not broken. I have my own server, and I am an admin on a few others, and I can tell you that most servers have roles set up incorrectly (or not the way Discord wants us to set). I have my server set up correctly, and I have no issue. The problem is that, intuitively, people are adding roles to each channel and ticking the green check box to enable chat. That's the problem. We are not supposed to do that. We are supposed to set that in default role permission that applies across the site and not even worry about having to set that in each channel. Permissions within a channel should almost always be the neutral "/" option. "/" means that a default server-wide setting is being applied. So, if you gave a role a default permission to chat, then "/" means they can chat in all channels they have access to on your server. I can see why Discord did this because once you learn how this works, it's easier because you don't have to micromanage permissions for each channel. As for mute, for as long as the permission inside the channel is "/", when you add a mute role and select "X", it will work because the neutral "/" always yields to "X". In a nut shell, if you are checking that green check mark on prime roles inside your channels, you need to change that to "/" and make sure that prime roles have permission to chat by default. Then, a mute role will work as it should. I hope this helps everyone. If anyone has any questions, you can find me on my server: https://discord.gg/xtZJCQFvs2
-4 -
I'm aware of that and setting it up this way. But as soon as you have channels that are meant to be only accessible to certain roles, that all falls apart. And if you have channels with limited access but also want to be able to limit permissions for part of those roles that can access a channel, you're screwed.
Just because Discord is intended a certain way doesn't mean it's perfect the way it is. People clearly want it differently and Discord is completely ignoring everyone asking for it to be more user friendly. Because I waste hours upon hours just trying to get channels on my server to work the way I need them to just to give up on them because it simply doesn't work as needed.
2 -
It actually doesn't though. If you are having that problem, you have something set up incorrectly. I have a VIP only section for special roles, and mute works perfectly fine with the correct setting. In my VIP channel, role A has permission to post in some of the channels while role B can only view. Role C has a permission to post and embed links. Others don't. And so on. Once I learned how to set things correctly, ZERO ISSUES. I highly recommend you to thoroughly review your setup. For as long as you are convinced that it's Discord that's the issue, you won't be able to get to a solution because you'd just be waiting for Discord to change things. In reality, the solution is in your own hands.
-2 -
Yes and what about wanting everyone of Role A to be able to see but not post, Role B able to see and post and also be able to have people with Role B + Role C not being able to post? As soon as your roles are overlapping it falls apart.
2 -
The fact that you wrote what you just wrote is very evidence that you are not understanding how to set and use roles correctly. While I'd love to help you, it doesn't seem like you are asking for help but just counter-arguing, and I'm not a Discord support staff, so I can't over-extend my help. All I can say is that, once you gain true understanding of how to set things up, you won't have to struggle with this. I do wish that Discord designed their app more intuitively because it is a weird way that they did this, but if I have a choice between complaining that a tool should be different and learning to use a tool the right way even if it's not designed the best, the latter gets me going while the former gets me stuck. Good luck.
-3 -
No, look. I'm not counter arguing, I'm just trying to bring a point agross. So, in more detail:
I have 4 "tiers" of users, with different levels of access and different times of gaining access to new events.
Then I also have a reaction role bot that people can pick up roles for different activities in so they don't see all the channels they don't want to see and get pinged from within there.So if I set up all the roles to not see any channels by default and just unlock them via roles, I have two different roles making people see channels and people will be forced to see all channels as long as they have a certain tier.
If I set it to neutral by default and give everyone a negative permission for seeing those channels, they'd need a positive permission in the channels for being able to see those channels which overrides negative permissions and again would force them to see the channels if they have the required tier, whether they want it or not.And that's all not even considering I want to be able to block people from seeing a certain channel without messing with their tiers, in the form of a "timeout" role.
I spent so much time just trying to get things set up properly and a lot of it simply doesn't seem doable. And it would be so easy to fix by making use of that role tier system they already have.
And even if there's an intended way that can make this work the way I am thinking of, they should at least give a guide on that. At the very least someone from Discord could SAY something and acknowledge the fact that people are struggling with it and explain how to do it.
2 -
Could you guys please stop this pointless arguing?
All you do is spam our e-mails with your debates. If you want to continue, do so somewhee else, but people like me would like to keep their inboxes free of this garbage.2 -
OK. Sorry for misunderstanding your intent. I don't want to oversimplify what you said, but the issue there is, you have set up role permissions that conflict with each other in relation to your intended goal (and in a messy way). To be fair to Discord, it's not Discord that's the problem in this specific case. It's how you decided to set that whole thing up. I would personally revisit your structure and rework it, but if you are committed to your structure, then as messy as it is, you'd have to create a new role that gives desirable access, rather than keep slapping on multiple roles to a member. So, instead of using role A + role B + role C, which creates conflicts, a user needs to be moved to role D for specific accesses or role E with specific accesses. In Discord, you don't want to over-assign too many roles to a single user. That always leads to issues like yours. Role combination works best if each role controls for different permissions, rather than overlapping same permissions.This is still a situation where it is in your favor to learn how to use Discord in how it's designed to be used, rather than complaining and wishing that it were different. While it would be nice if Discord was willing to change its software for you, I don't think you'd benefit from waiting for that to happen when there isn't any guarantee or indication for that to happen. For what it's worth, I'm sorry that you've been struggling with that. As a fellow server owner, I can empathize.
-2 -
This is the feedbacks forums. The whole purpose is to make suggestions.
We’re not dependent on this happening, we’re making feedbacks on what we hope could happen that can improve user experience, notably our own, and those who agree are showing support. That’s it.
If you don’t need it, that’s fine, after all, not everyone need all features. However there is no use to assume no one understands what’s going on, or that “we’re doing it wrong”. Just move on.
0 -
I agree with you, Hermit. This is a feedback forum. For some reason, many users started using this as if a tech support/complaint, saying "why hasn't discord fixed this yet!?" "stop changing background colors!" Many users here are treating this as if it's a defect or an issue that Discord owes them to fix. It's important that we hold accurate understanding.
-1 -
Just to clarify... the PROBLEM here is that you have to use a very specific, less user-friendly (as in admin user of Discord, not general user on the server) means of managing roles in order to get a measure of flexibility that should be available in a more user-friendly way. This suggestion provides ways to manage users in a way that would work better than the current system.
It isn't people begging for something they don't actually want. It isn't a situation where the current system works well. It's a problem with the current system being harder to use than similar systems in competing alternative platforms, and which would be beneficial for this platform to ADD AS AN OPTION for servers to be able to use. People want another way to - again, OPTIONALLY - manage roles which makes the app more flexible and easier to implement numerous useful functions in.
There are, for example, good reasons to want the ability to - WITHOUT having to remove a person's existing role and replace it - slap on a temporary "you are now muted in this channel" role to someone who normally has a "you can chat in this channel" role as part of their standard permissions. You don't want to remove their access to certain things, but you want the ability for a secondary role to override those permissions. Setting that up without this feature is unreasonably difficult. There are a number of other things which can be problematic (or impossible) to do with the current role system for similar reasons. The suggestions posted above DO NOT resolve the issues and DO NOT remove the validity of people wanting this feature to be added. No matter how many times you try and say otherwise, there will be valid use cases that make this a much more user-friendly option than the current tools.1 -
Hmmm.
I've just been playing around with this, and while the documentation still says that the overwrites pseudocode is still
# Apply role specific overwrites. overwrites = channel.permission_overwrites allow = NONE deny = NONE for role_id in member.roles: overwrite_role = overwrites.get(role_id) if overwrite_role: allow |= overwrite_role.allow deny |= overwrite_role.deny permissions &= ~deny permissions |= allow
it now appears to be doing
# Apply role specific overwrites. overwrites = channel.permission_overwrites allow = NONE deny = NONE for role_id in member.roles: overwrite_role = overwrites.get(role_id) if overwrite_role: allow |= overwrite_role.allow deny |= overwrite_role.deny permissions |= allow
permissions &= ~denyinstead!
It appears to be allowing a deny to override an allow.
To test this, I set up two roles, and in the channel overrides set Level 1 to Allow Send Messages, while Muted had Deny Send Messages. When both roles were applied to a member, that member could not send messages.
Note that whether the Muted role is higher or lower than the Level 1 role, the results are the same.
To implement the original suggestion in this thread, the pseudocode would need to be something like this:
# Apply role specific overwrites.
overwrites = channel.permission_overwrites
for role_id in member.roles:
overwrite_role = overwrites.get(role_id)
if overwrite_role:
permissions &= ~overwrite_role.deny
permissions |= overwrite_role.allowassuming that member.roles is sorted from lowest priority to highest.
0
サインインしてコメントを残してください。
コメント
131件のコメント