This article will serve as your go-to reference for how Discord's roles and associated permissions work. In here we'll cover:
- Role Colors
- Role Hierarchies
- Channel Permissions
Part One: Role Colors
Something that may not be immediately noticeable, but super helpful, is how roles behave in the role tab. To put it simply:
Members of a server inherit the permissions of the highest placed role in the list that's assigned to them.
Not only does this apply to permissions but to the color too! You can see the difference pretty easily here:
Even though I have all three roles, "Cool Kids" is the highest up, therefore I inherit it's delightful pink color. BOXES and I have the same roles with the exception of Cool Kids, so he inherits the next highest role and color- "Chicken", and lavender.
You can drag to re-arrange roles and their position on the metaphorical totem pole:
In this instance, all I did was drag "Chicken" up to the top, above Cool Kids. As a result, I've now inherited it's lavender color, as well as Chicken being listed first under my role titles. I still have my old Cool Kids role, but it's lower in the list, so I lose my shiny pink badge of honor.
You'll also see the color of your highest-sorted role in the users list as well:
In this case, some roles have the "Display role members separately from online members" permission checked, but the others don't. Each user in this list has a different highest role.
Part Two: Role Hierarchies
In addition to looking pretty, roles offer a very structured way to delegate permissions to users, and establish anything from a multi-tiered public server admin system, to a trusted buddy in your private server helping out here and there.
Role Linear Hierarchy:
Roles now follow a linear hierarchy. In simpler terms, the "metaphorical totem pole" is now a bit more literal in practice.
All roles above yours will appear with a lock next to their name. This enables server owners to establish multiple roles with separate administrative powers that can't interfere with each other. Here are some of the tools that enable hierarchies to work:
This is the omega role! Giving this role to a user gives them all of the permissions in the permissions list, and also cannot be locked out of any channel, regardless of permissions. That's a tall order. This permission also lets users with that role assign any permission to roles underneath them in the hierarchy, although they still can't affect their role and any above them in the hierarchy. Real talk: with great permissions power comes great permissions responsibility. Assign with caution.
This permission allows a role to add roles beneath them, then edit them accordingly. Keep in mind that this role comes 2nd to the Administrator role, and although you can add, edit, and assign new roles to users, you still can't edit your role and roles above yours. Additionally, you can only assign permissions that you have to roles under you. If your role doesn't have banning members enabled, you can't let other users ban them either. Duh.
Another important point to remember about managing roles is if you have multiple roles, you can't remove a permission from a lower role that would remove it from yourself.
Important note on adding roles: the @everyone role now serves as the basic template for all added roles. Want anyone in your server to add channels as they want? Assigning "Manage Channels" to @everyone will automatically grant that permission to all other roles created. Any role assigned to @everyone will be universal, regardless of assignment in higher roles.
Keep in mind that when you add a new role (if you're not the server owner), that the roles gets added at the very bottom, right above the @everyone role, so that you can sort it as necessary, but not above your role.
Additional to the role sorting hierarchy, there's a special exception placed on banning, kicking, and nicknaming members: Even if users have ban/kick/nickname permissions, they cannot ban / kick / change nicknames of anyone with the same role or a role higher than theirs.
Part Three: Channel Permissions
If you're one of the more orderly types that likes sorting your clothes into oodles of boxes, then the right-click menu has some helpful tools for you as well. These shortcuts apply when setting up individual text channel permissions, instead of working in the server settings.
This option will create a new text channel with the exact same role-specific permissions as the previous one selected. You'll be given the choice to name the new channel, then poof, done. You can go in and edit specific permissions once the channel is created.
Creating role-exclusive Text Channels:
When you (or anyone with the "manage channels" permission) creates a new channel, you'll see the the option to select specific roles that can access the new channel. Selecting a role does two things in the permissions menu:
1. First, denies the @everyone role the "read messages" permission to this new channel, making it inaccessible and invisible to them.
2. Also, specifically adds an exception for the role(s) selected. You'll see both of these changes reflected in the Channel Permissions screen.