Back to Articles
Community Basics22 min read

Roles and Permissions

In the Basics section I will cover everything regarding a basic server setup in a chronological order. Now that you have created a basic channel structure and filled those channels with content, it's time to set up some roles! This section will cover the following areas:

  • Permissions & moderation
  • Topics & notifications
  • Identification & Entertainment
  • Permissions check-up

Permissions & moderation

Roles are an important tool for any Discord server as you can tie them to permissions that unlock channels, perks or management tools to support your server. A role for developers/staff, moderators and some role for users to interact with would form the basics of your role hierarchy.

For administrative purposes, the people in your server enforcing the rules can be assigned the moderator role with permissions to manage messages and kick/ban users. You can opt for this role to be mentioned by anyone with a @mention too, so attentive users can ping your mods to deal with rule breakers. It's fine to personalise the role names too, but keep in mind that some roles like mod or admin should be easy to spot; it's appreciated when the names are relatively obvious.

šŸ’” Tip
⁠
The colour of a role is a detail of which the importance is often neglected. Be sure to use colours that are generally deemed positive or neutral, so for example, don't use red for roles of authority. Additionally, please be aware of what roles look like on PC and mobile, as well as dark and light mode to test their readability thoroughly.

Topics & notifications

For technical purposes, you can provide users with the means to self-assign roles that will give them access to hidden channels or specific notifications. Examples of hidden channels are feedback and bug-reporting channels (useful for opt-in play testing) or game channels to have members curate their experience without having to see all game chat by default.

Notification-wise, you can allow users to assign themselves a role to receive pings (@mentions) for specific subjects, allowing you to dish out specialised announcements catered to a part of your audience. This means you can save the @everyone pings for your most important global announcements and use your new pings for curated content like @livestreams, @devblogs or @game updates, to name a few examples.

To have users self-assign roles like this, you will need to enable Onboarding as you can set up questions and answers that connect these roles and channels to users. Preparing the right roles and channels is essential to smoothly setup Onboarding later, so make sure to start creating some roles you would like for your members to assign themselves.

šŸ’” Tip
⁠These technical roles usually offer no cosmetic advantages and are mainly used to direct traffic and keep track of who is interested in what. Try to use colours for roles that members have to earn and/or roles that distinguish them from the rest to create a better sense of value in those roles.

Identification & Entertainment

Lastly, you can have some fun with roles depending on how you wish to run your community. Best practice is to keep the amount of roles relatively low and expand based on community needs and events. If you start with 20+ different roles, setting up and keeping track of permissions can be a total nightmare. Don’t make it too hard for yourself!

Some examples are being able to select where they are from, what platforms they have accounts on, their preferred pronouns, what topics they are interested in, etc - anything to allow users to showcase their online identity in your server. More tools to personalise their identity and the connection to your brand or product will help with interactions among members as well.

Entertainment roles are for example roles to pick a team or faction that has ties to your product or brand. This will allow users to experience adversaries in an entertaining and safe way, and can even be entwined in a server-wide minigame. If you’re a game developer and support multiplayer and/or speedrunning, you can opt to use the roles as teams for competitions or other community events that include playing the game.

Permissions check-up

Now that you've set up all the initial roles for your server, it’s a good moment to check up on every role to see if the permissions are set correctly. Here’s my idea of what new members should have enabled by default:

@everyone

  • View Channels - View channels by default. Nothing surprising here.
  • Create Invite - Let members invite their friends! Manage invites in the server settings.
  • Change Nickname - Being able to choose your identity is important. Check Automod if you want to block sketchy ones.
  • Send Messages - They should be able to talk in channels by default, as specific channels that are read-only will be set up manually.
  • Embed Links - Being able to embed GIFs and seeing links gives users a lot more freedom.
  • Attach Files - Attaching files is helpful for bug reports and feedback rounds, and also means uploading local pictures.
  • Add Reactions - Adding reactions to posts is integral to the interaction on Discord.
  • Use External Emoji - External emoji allow users to express themselves better.
  • Use External Stickers - External stickers allow users to express themselves better.
  • Read Message History - If not enabled, users will only see the server’s content until they close their session. Then it starts over where all the posts in the past are not accessible.
  • Use Application Commands - If you have a bot with slash commands that users should be able to use, feel free to enable this. In the Integrations tab of your Server Settings you can disable slash commands per bot. Be aware that bots usually have their own permissions to set up to define what roles are allowed to use which commands.
  • Connect - Connecting to a voice chat. If you want private voice channels, disable permissions in the channel instead of a global role.
  • Speak - Speaking in voice channels. If you want listeners in your voice channel instead of talkers, consider creating a Stage Channel.
  • Use Activities - Using the new Activities can be fun for socially oriented servers.
  • Use Voice Activity - Having to use Push to Talk feels ancient. If you want to restrict who gets to talk when, consider creating a Stage Channel.
  • Request to Speak - This is specific to Stage Channels. This allows users to apply for a queue to be added to the stage and partake in the fireside chat or podcast.

These permissions are the default for everyone, so that other roles won't need much customisation with permissions. For each role that you have added that is purely for vanity, notifications or identification, you can click the "Clear Permissions" button at the top right of the permission settings to not connect any permission to the role.

A screenshot of the Role Settings of "Server Booster", pointing to the location of the "Clear permissions" button.
A screenshot of the Role Settings of "Server Booster", pointing to the location of the "Clear permissions" button.

Critical permissions that should never be enabled for everyone by default are "Send TTS Messages", "Mention everyone and All Roles", "Allow anyone to mention this role" and obviously any ā€œManageā€ permissions as well as ā€œAdministratorā€.

šŸ’” Tip (with thanks to u/DarkOverLordCO)
⁠
⁠⁠⁠Channel permissions are calculated in the following order:
⁠
  1. ⁠User-specific allow overrides on the channel
  2. ⁠User-specific deny overrides on the channel
  3. ⁠Role allow overrides on the channel (excluding @everyone)
  4. ⁠Role deny overrides on the channel (excluding @everyone)
  5. ⁠@everyone allow overrides on the channel
  6. ⁠@everyone deny overrides on the channel

This setup ensures that for read-only channels, all you have to disable is the ability to send messages and potentially emoji reactions. The rest is inferred with the permissions of the role itself, so it doesn’t need to be separately enabled. For private channels, disable the permission to view the channel and add the roles or people that should be able to see the channel manually, like moderators.

@Moderator

  • View Audit Log - being able to view the audit lot is helpful to figure out changes being made. A bot logging member actions and moderator actions is more helpful, though.
  • Manage Nicknames - If a user has a nickname that is against the rules, they would be able to change it. Bear in mind that users can change it straight back unless they are timed out.
  • Kick Members - Although enabled, kicking members from the server shouldn’t really be used as users can rejoin straight away. Members that are breaking rules should either receive a warning or time out or be banned entirely (like NSFW content or repeated rule breaking).
  • Ban Members - The mighty ban hammer. Moderators can’t ban admins or the server owner.
  • Time out Members - the old mute command. Time out a user to let them think about their actions for a bit. Not always helpful as users can escalate due to feeling powerless as well.
  • Manage Messages - This allows removing messages.
  • Manage Threads - This allows editing and removing threads.
  • Use Application Commands - If you have a bot with slash commands that moderators should be able to use, feel free to enable this. In the Integrations tab of your Server Settings you can disable slash commands per bot. Be aware that bots usually have their own permissions to set up to define what roles are allowed to use which commands.

@Administrator

  • Manage Channels - Edit, delete and create new channels.
  • Manage Roles - Edit, delete and create new roles. Edit the role hierarchy.
  • Manage Expressions - Upload new emoji, stickers and sounds for a personalised experience.
  • Manage Server - View the general server info, invites, add bots and Automod settings.
  • Mention everyone, here and All Roles - the mighty ping. Use it wisely.
  • Create Events - Create events inside your server or link up external livestreams or real-life events.
  • Manage Events - Edit and delete events.
šŸ’” Tip
⁠The permission called "Administrator" at the bottom of the list is a sketchy one for the security risks that come with it. It's basically a shortcut that overrules all permissions and grants the role full access to all parts of the server, basically acting as co-owner. It's better to set up administrator roles manually and limit the permissions to the basic necessities for them to fulfill their role, without having to worry about them being able to change and delete settings they shouldn't touch anyway.

Next up: Finding Moderators

Find out why moderators are important,what makes a good moderator, and how to organize moderator applications in the next guide, Finding Moderators.

Related topics:
rolespermissionssecuritycommands