Understanding Discord — Roles and Permissions

Lela Benet
Statbot Community Blog
16 min readJun 30, 2020

--

Making a server on Discord can be a daunting task especially when one considers all the different settings available when you start your server. Even a veteran community builder will tell you they don’t know all there is to know about the application and so that’s why we decided to start our newest series of articles titled “Understanding Discord”. In this series we will cover various aspects of Discord with the hope of giving you a better understanding of the application and empowering both new and veteran users with the knowledge needed to build strong communities.

Our first article in the series will cover roles and permissions from the aspect of server settings. We’ve split the article into two parts; starting with the basics of how to create a role and setting up permissions. We’ll then go into the nitty-gritty of role hierarchy and what each permission does.

Disclaimer: This article covers roles and permissions for the PC/Mac application

Role colors anyone?

The Basics

Before understanding how Discord’s roles and permissions work, we need to explain what they are and why they are important.

  • Roles: These are like ranks in a forum or on a subreddit. They give users different privileges within a server or make them stand out from other users by adding a color to their name or placing them higher than other users on the sidebar.
  • Permissions: These are the previously mentioned privileges given by roles. Permissions are how you control access to various settings in your server such as banning users or deleting messages.

Now let’s get to making our first role. For this article I created a test server and grabbed my convenient Test Dummy account to be our guinea pig.

Step 1: Creating Your First Role

To start, you need to navigate to the Roles page. To do this, click on your server name to open the drop-down menu, then click on Server Settings. Once the settings page opens head to the Roles tab.

You should now be on the Roles page which will show a “Default Permissions” button, a “Create Role” button, a role search bar, and a list of your created roles.

Role Tab on Server Settings

Next, let’s click the “Create Role” button to create your first role. You will get a pop up window wherein you can set the role name and color. Next it will guide you through setting up the permissions of the role. This will have 4 settings; Cosmetic for a color role, Member for normal members to chat, Moderator which gives moderation permissions and Manager which gives manage permissions.

Role creation setup

For this article, I named my role “Test Role” and made its color green. You can set these to whatever suits you. I also gave it the Member permissions as it is just a chatting role. Once created, the role is now displayed in my role list and if I click on it I enter the role settings. Role settings has 3 tabs; Display which changes how the role looks, Permissions which controls what it can and can’t do, and Manage Members which allows you to see the users in the role and remove or add members to it. I went ahead and set my Test Role to “Display role members separately from online members” and “Allow anyone to @mention this role”. The GIF below shows how I did this.

Entering the role settings

Note: Whenever you change a setting on a role you need to click “Save Changes”, please only click this if you are absolutely certain you are done changing settings.

Step 2: Setting Permissions

When creating a new server, Discord creates the @everyone role with a set of default permissions. All newly made roles will receive the @everyone role’s permissions at the time of creation. You can adjust all role settings to suit your needs, just keep in mind that existing roles will not change when changing the @everyone role. You will need to set them manually if you want those roles to have the same permissions as the @everyone role.

The following is a list of the default permissions:

Create Invite; Change Nickname; View Channels; Send Messages; Embed Links; Attach Files; Read Message History; Mention @everyone,@here, and All Roles; Use External Emojis; Add Reactions; Use Slash Commands; Connect; Speak; Video; Use Voice Activity

For this article, I have disabled every permission on the @everyone role in my test server to demonstrate how roles affect users. A convenient way to clear all permissions is by clicking “Clear Permissions” at the top of the Permissions tab. Let’s look at our previously created “Test Role” which still has the default permissions mentioned above.

We are going to remove the “Send Messages” permission from the Test Role as I demonstrate how to do in the GIF below.

Disabling Send Messages

Changing permissions is as simple as toggling them on and off then clicking save. Below is a GIF showing that Test Dummy can’t send messages in my test server, because I turned this permission off earlier.

Demonstrating denying send messages permission

Permissions are a powerful part of controlling access to your server. Depending on how they are set up, you can either block a user completely from using your server or give a user full access to doing everything a server owner can do except for a few key options. We’ll cover all this and more in the next section of this article.

Other things to note from the above GIF is how the Test Dummy shows up with a blue name and higher on the sidebar than my own account, this is because we set the Test Role color as blue and made it display on the sidebar.

An in-depth look at Roles and Permissions

In this section I’ll go over the more detailed information about roles and permissions. We’ll discuss: what access and functions each permission controls in the server, what role hierarchy is, and how this hierarchy affects your server.

We’ll start off with permissions, because understanding what they do is the most important part to understanding how roles can help you keep your server organized and well-managed.

Permissions, what can they do for you?

I’ve many times had server owners and admins ask me “What does this permission do?” or “How can I achieve X using permissions?”, and I’ll be honest, I would have never been able to answer them if I didn’t play around with permissions in a test server. So, the first piece of advice to better understand permissions is taking the time to play around with them using a test server and a second user account.

To better explain what permissions do in a server, we’ll take a closer look at two of the most commonly used permissions. Specifically, “Read Text Channels & See Voice Channels” and “Send Messages”.

  • View Channels— This permission controls a user’s ability to see content in a server. If this permission is disabled, a user cannot read any text because they will not be able to see the text channels. The same goes for using voice channels, a user might have permission to connect to voice channels, but they will not see any voice channels to connect to for as long as this permission is disabled for them.
  • Send Messages — Mostly self-explanatory, it controls if a user can send messages in a text channel. If this permission is later disabled for a user, the user will no longer be able to edit any of their previously sent messages in that channel.

There are many more ways you can control your server using permissions, such as giving people the ability to manage messages and channels. Let’s look at some of the permissions used to manage a server.

  • Manage Messages — This permission grants the ability to delete other users’ messages or pin messages in a channel. They also can manage reactions on a message, which means they can delete other users’ reactions.
  • Manage Channels — Anyone who has this permission can create, delete, rename, and reorder any channels or categories that they can see. It also allows someone to edit a channel’s topic along with other channel specific settings.

Permissions are powerful and can make or break any Discord server depending on how they are set. For this reason, we will be dedicating an article to Permission Overwrites that will explain how setting permissions on both the server and channel levels can change the way users access and use your server. For now, let’s take a closer look at Role Hierarchy.

At the bottom of this article we have a Permissions List that explains how each permission affects your server. Please keep in mind that Discord makes changes to the application often and so these permissions may change over time. We will do our best to keep it as up to date as possible.

My Role is higher than your Role!

Depending on your Role Hierarchy, it can change how users use your server. When we say Role Hierarchy, we mean the order in which roles are listed on the Roles page. A role that is higher than another role will take higher priority when permissions are determined and will display higher on the sidebar.

To see how Role Hierarchy affects users directly, I will use my Test Role and another role to place my user account above the Test Dummy account. I created a Second Role with all the same settings as Test Role except for name and color then moved it above my Test Role. To move roles around on the Roles page, simply click and drag them up or down then hit Save Changes.

Moving Roles

Now my Role Hierarchy has changed, and Second Role will display above Test Role on the sidebar. I then gave myself the Second Role to demonstrate my position on the sidebar. The GIF below shows how this happens.

Role hoist order

As you can see, my user moved above the Test Dummy account on the sidebar due to me having a role that is above the Test Role. This is how Role Hierarchy can alter the sidebar on a server, but this is not where it stops.

Depending on the order of roles, the access and control permissions grant can change. An example of this is how the Manage Roles permission will only allow a user to have access to managing roles under their highest role. In this case, you would have to make sure the role with that specific permission is higher up on the list than the roles it needs to manage. Furthermore, Role Hierarchy and permissions are closely related when it comes to setting permissions on channels. According to your channel permissions, you can give and remove access to a channel but if your roles are in the incorrect order this might not have the intended effect. When discussing Channel Overwrites, you cannot alter the order of the roles on the channel settings, so you must have the order already set correctly on the Roles page. Another point to note is that the highest role will always have its color prioritized over lower role colors unless that role is set to the default setting for color (the equivalent of “this role has no color”).
Make sure to always test your Role Hierarchy to see what order best fits your server settings.

Fun Fact: Depending on the permissions set on a text channel, only the people who have access to seeing that channel will show up on the sidebar.

Final Words of Wisdom

The most important thing to remember when working with Server Settings in general is to first test anything you are unsure of in a Test Server. A clever way to test is by creating a second Discord account and running it either in a browser or downloading and using the Discord PTB or Canary versions of the application. All these options will allow you to log in to multiple accounts at the same time so you can immediately see how your changes will affect your members. This will also allow you to test out different settings on another user account without having to ask someone to help you. Taking the time to play around with the settings will save you a lot of trouble overall and it’s how I learned everything written down in this article. Also, remember to check out the Permissions List at the bottom of the article.

Now that you have the knowledge needed to work with Roles & Permissions we recommend reading our Channel & Categories article. In it we cover how to create, edit, and rearrange Channels and Categories along with any settings related to these. Once you’re done with that head over to the Permissions Overwrites article that goes in-depth on permission settings and levels along with a simple mute role setup.

Permissions List

  • View Channels — Gives access to reading and seeing channels.
  • Manage Channels — Gives full access to the creation, deletion, reordering, and editing of channels or categories. Does not give access to server settings or any kind of permission settings for channels and categories. Does allow the managing of invites on channels directly.
  • Manage Roles — Gives full access to the Roles tab of Server Settings allowing a user to change the settings of roles, create new roles and rearrange roles with the limitation of not being able to change the settings of their highest role or any roles above their highest role. Also allows the viewing of the Overview tab, and gives access to giving roles to members under the Members tab and anywhere else on the server with the limitation of only being able to give roles that are under their highest role. Furthermore, having the Manage Roles permission gives access to the Permissions tab of Category and Channel Settings.
  • Manage Permissions — This permission is only available under channel or category settings. Allows the editing of channel permissions. Please remember that this also allows the user to add roles above their own role to the channel permissions, but they can only give it permissions that their role has access too.
  • Manage Emojis and Stickers — Allows the upload and deletion of Emojis and Stickers in the Server Settings menu. Also gives access to viewing the Overview, Server Boost Status and Members tab in the server settings.
  • View Audit Log — Allows viewing of the Audit Log tab under the Server Settings. Also gives access to seeing the Overview tab, Server Boost Status and the Members tab.
  • View Server Insights — Allows the viewing of Server Insights under the Server Settings. Also gives access to seeing the Overview tab, Server Boost Status and the Members tab.
  • Manage Webhooks — Gives access to the creation and deletion of Webhooks on Server Settings and Channel Settings under the Integration tab. Also gives access to viewing the Overview, Server Boost Status and Members tab in the server settings.
  • Manage Server — Gives full access to changing the following Server Settings; Overview, Moderation, Integration, Widget and Server Template. It also allows viewing of the Server Boost Status and Members tab. Furthermore, roles with Manage Server can use the Invites tab to see all server invites and delete them.
  • Create Invite — Allows for the creation of invite links to your server. This is the only permission that gives this ability, if this is turned off a user can not invite people to your server.
  • Change Nickname — Lets a user change their nickname on your server to something custom from their username.
  • Manage Nicknames — Works the same as Change Nickname with the addition of having the ability to change other users’ nicknames. Also gives access to viewing the Overview, Server Boost Status and Members tab in Server Settings.
  • Kick Members — Allows a user to kick other members from the server. Also gives access to using the Prune function under the Members tab of Server Settings, but this permission does not give access to Server Settings, so another permission has to be in place that allows the user to see the Server Settings such as View Audit Log.
  • Ban Members — Allows the banning and unbanning of users. Gives access to viewing the Overview, Server Boost Status, Members and Bans tab under Server Settings.
  • Timeout Members — This gives a user access to muting members of your server via the built-in Discord function called “Timeout”. We recommend giving this permission to your moderators.
  • Send Messages — Allows for sending messages in channels and threads.
  • Send Messages in Threads — Allows users to send messages in threads. Can be controlled by server or by channel.
  • Create Public Threads — Gives a user access to using and creating public threads. This can be controlled by server or by channel.
  • Create Private Threads — Gives a user access to using and creating private threads. This can be controlled by server or by channel.
  • Embed Links — If enabled when a user sends a link Discord will automatically embed a preview of the link. For example, sending a YouTube video link will create a YouTube video player embed to play the video straight in the application. Bots usually needs this to send embeds.
  • Attach Files — Lets a user send files and images from their computer/mobile device.
  • Add Reactions — Lets a user add new reactions to messages. This permission is not needed for reactions already added to a message.
  • Use External Emojis — Allows users to use emojis from other servers in messages, reactions and custom status messages. Requires Discord Nitro usually, but this also applies to emojis obtained through other means like Twitch subscriptions and Global Emotes.
  • Use External Stickers— Allows users to use stickers from other servers. Requires Discord Nitro.
  • Mention everyone, here, and All Roles — Allows for the mentioning of the everyone role and the @here mention. It also allows the mentioning of any role in the server, overwriting the “Allow anyone to @mention this role” setting. This is best left off on normal user roles as it can be used to spam people with notifications.
  • Manage Messages — Allows a user to delete any messages sent, pin messages in channels and manage reactions on messages.
  • Manage Threads— Allows a user to rename, delete, archive/unarchive, and turn on slow mode for threads. Also allows them to view private threads and remove users from a thread. If the user has access to viewing all channels in a server this will also give them access to the “Active Threads” list. This can be controlled by server or by channel.
  • Read Message History — Allows for the reading of message history. When this permission is denied, a user that exits and reloads Discord or refreshes it with CTRL+R will not see the content sent in channels from before the the reload. Even their own messages will not show. As long as the application is running anything sent during that time will still be available to read.
  • Send TTS Messages — Lets a user send a text-to-speech message using the /tts text command. A user has to be viewing the channel to have the audio play otherwise it will just look like a normal message.
  • Use Application Commands — Allows members of your server to use slash commands in text channels and context menu commands. This can be controlled by server or by channel. The biggest usage for this is controlling if people can use the slash commands or interaction buttons of bots in any chat.
  • Connect — Allows a user to connect to a voice channel.
  • Speak — Gives access to speaking in a voice channel.
  • Video — Allows the streaming of video such as Going Live with a game, screen sharing and video calls.
  • Start Activities — This permission controls if a user can start the built-in Discord game activities in a voice channel. These activities are not yet fully released though.
  • Use Voice Activity — Allows for the use of voice activity instead of being forced to use Push-To-Talk.
  • Priority Speaker — Users with this permission will sound louder than users without this permission. Priority Speaker is activated by using the Push to Talk (Priority) keybind.
  • Mute Members — Allows the server muting of users in voice channels. Does not affect text.
  • Deafen Members — Allows for the server deafening of users in voice channels. Does not effect text.
  • Move Members — Lets a user move other users from one voice channel to another or disconnect a user from the voice channel.
  • Request to Speak — Allows users to request to speak in a Stage channel. Moderators have to allow or deny the request manually while in the channel.
  • Manage Events — With this a user can create, edit or delete events from your server.
  • Administrator — Gives full access to the server and all its settings, also overwrites all permissions. This should only be given to roles that are intended to have the same control over the server as the server owner.

If you liked this article and publication, please consider leaving a 👏 applaud. It will let our authors know that you found this kind of information worthwhile.

If you want to continue discussing this article and other ideas in this blog or related topics, join the Community Builders on Discord where community discussions are occurring!

Our blog is sponsored by Statbot, the premier statistics and analytics Discord bot and dashboard for your community. It is an absolute must-have for any server that is serious about its growth and well-being. When a server has Statbot in it, you know it’s aiming to be the best of its kind! Statbot tracks member count, messages, minutes spent in voice, activity, and statuses. It offers many ways to view and use this data to help grow your community, such as, automatic role assignment according to users activity in your Discord server (A.K.A. Statroles), and channel counters that allow you to display all kinds of stats about your community to others as a channel (A.K.A. Statdocks). If you run a Discord server we highly recommend getting Statbot to help track your growth and augment your community.

Have ideas for content you’d like to see on the blog? Make a suggestion!

Think you have what it takes to write for CBB? We’re hiring authors! If you are interested, please fill out this application and join the Statbot Discord server where blog operations are based. We look forward to seeing you!

--

--