Lesson 4: Set Up and Function: PERMISSIONS ON DISCORD
Once you become a moderator, it’s important to know what tools are at your disposal to help manage your Discord server. While there are many bots that cover both manual and automatic features of moderation, understanding how these bots work will be difficult without knowing how Discord’s native moderation features function. Due to the discrepancies in functionality between the mobile and desktop clients, throughout this article the instructions for navigating Discord will be in terms of the desktop client.
Turning on Developer Mode
The first thing you should do is turn on developer mode for Discord. This will allow you to copy user, channel, and server IDs which are extremely helpful for moderation, reporting issues to Discord, and dealing with Discord bots. Read here for instructions on turning on developer mode and getting IDs.
A Note About the Administrator Permission
The Administrator permission is a special permission on a Discord role in that it grants every Discord permission and allows users with that permission to bypass all channel-specific permissions. Because of this granting this role to any user or bot should be done with the utmost caution and on an as-needed basis.
Because bots can automate actions on Discord, bots with this permission can instantly delete all of your text channels, remove your emotes and roles, create hundreds of roles with the Administrator permission and start assigning them to your other users, and otherwise cause unmitigated havoc on your server faster than you can even understand what is happening. While the chance of this happening with larger or more renowned public bots is low, you should be mindful that this is the sort of power you are giving to a Discord Bot if you grant it the Administrator permission and only do so if you are confident the bot and its development team can be trusted.
Before giving this permission to a user, consider if giving them a role that has every other permission enabled will serve your purpose. This way you can at least protect your channels via channel permissions. You may also find on further consideration that the user in question does not even need every permission, and will be fine with only a couple of elevated permissions. If you do give Administrator to anyone, it is highly recommended to enable 2FA for your server as described in the next section.
Administrative Role Permissions
Discord has several role-specific permissions that grant what would be considered “administrative functionality” to users (not to be confused with the actual Administrator permission). These permissions are considered sensitive enough that if you are in a server where two-factor authentication (2FA) is required for moderators, these permissions are disabled. The permissions for which this applies are as follows:
- Manage Server
- Manage Channels
- Manage Roles
- Manage Messages
- Kick Members
- Ban Members
If you aren’t using a bot for server moderation, your moderation is going to be done by using Discord’s context menus. How to access each menu and how its options work will be discussed in detail below.
The Server settings items allow you to configure the server as a whole, as opposed to managing individual members. Note that depending on the exact permissions you have as a moderator and whether or not your server has boosts or is verified/partnered, not all options shown may be available to you.
On Desktop: Right click on the server name and go to Server Settings
On Mobile: While viewing the server list, tap the server name and then Settings in the bottom right.
The important menu items for you to know are the following:
- Overview: Requires the Manage Server permission to view. From here you can change the server name and region, set an AFK voice channel, set up system messages, change default message notification settings for members, and change the server invite background (unlocked at boost level 1).
- Roles: Requires the Manage Roles permission. From here you can create, delete, edit, and reorder roles that are lower than your highest assigned role. Note that you cannot toggle permissions that you do not have on any of your roles.
- Emoji: Requires the Manage Emojis permission. From here, you can upload new emojis, delete current emojis, or edit the name of current emojis.
- Moderation: Requires the Manage Server permission. From here, you can set the verification level of the server and configure the explicit media content filter.
- Audit Log: Requires the View Audit Log permissions. This provides a log of moderation actions on the server. Once something is in the Audit Log, it cannot be deleted or edited, and as such, it is an excellent way to verify who has done what on the server and to troubleshoot any technical issues that may arise.
- Integrations: Requires the Manage Webhooks permission. This allows you to manage all of the webhooks in your server, the channels that you are following, the bots in your server, and any platform specific integrations you can manage such as Twitch or Youtube.
- Members: Allows you to view the members of the Discord server and their roles. You can filter the member list by an assigned role as well.
- If you have any permission that allows you to see the server options menu, you will be able to see this screen but will not be able to do anything but browse the members list.
- If you have the Manage Roles permission, you can also add or remove roles from a user
- If you have the Kick Members permission, you can perform a server prune or remove individual members from the server. They can rejoin later with a valid invite link
- If you have the Ban Members permission, you can ban a member from the server. They will not be able to rejoin the server and their IP address will be blacklisted.
- Invites: Requires the Manage Server permission. Allows you to view and delete active discord invite links along with their creator, number of uses and expiration time.
User options allow you to manage individual server members. You can manage them from the Members server option as noted previously or through the following:
Desktop: Right click on a user’s name anywhere in the server (online list, mention, message, or their voice channel presence)
Mobile: Tap a user’s name anywhere in the server and then tap the “manage” option. If you only want to kick or ban a user you can do so without tapping the manage option. You can also copy their user ID by tapping the three dots in the upper right instead.
The most important menu options for you to know are as follows:
- Change Nickname: Requires the Change Nickname permission. This allows you to set a server-specific name for the user in question and is useful for making sure people’s names are appropriate.
- Kick [user]: Requires the Kick Members permission. This removes the user from the server. They can rejoin with a valid invite link
- Ban [user]: Requires the Ban Members permission. This will allow you to select how much message history of a user to delete and enter a reason for your ban. It is generally recommended to delete no message history unless the user is spamming inappropriate messages or content for record keeping purposes, and it is also recommended to enter a ban reason.
- Roles: Requires the Manage Roles permission. You can quickly add or remove roles from a user.
These are accessed in a similar fashion to member options, but are only visible while the user is in a voice channel.
The most important menu options are as follows:
- Server Mute – Requires the Mute Members permission. This will prevent anyone in the server from being able to hear this user speak and lasts until someone else with the server mute permission unmutes them.
- Server Deafen – Requires the Deafen Members permission. This will prevent the user from being able to hear anyone else speak. This state lasts until someone else with the server deafen permission undeafens them.
- Disconnect – Requires the Move Members permission. This will forcibly remove the user from the voice channel. Keep in mind that they will be able to reconnect unless there is a channel permission on the voice channel that prevents them from doing so.
- Move To – Requires the Move Members permission. You can move the member to a different voice channel from their current one even if they do not have permissions to connect to the target channel. They will be able to move to another voice channel unless there are permissions preventing them from doing so.
This menu allows you to manage a specific message on the server.
Desktop: Right click anywhere in a message, or mouse over the message and click the three dots to the right
Mobile: Press and hold on a message
The most important options on this menu are as follows:
- Pin Message: Requires the Manage Messages permission. This will add a message to the list of pinned messages in the channel for easy access later. You can view the pinned messages by clicking the pin symbol near the top right of the screen (on desktop) or by pressing the same symbol after tapping the channel name (on mobile). From here, you can also un-pin a message.
- Delete Message: Requires the Manage Messages permission. This will permanently remove the message from Discord. If the message contains content that breaks Discord’s community guidelines or terms of service, you should also choose to report the message. Messages that are deleted without turning on the report option are unrecoverable even by Discord and cannot be used to convict someone of violating Discord’s terms of service.
Some permissions are integrated into other areas of Discord or are more implicit. The following permissions should only be granted to moderators or trusted users.
- Manage Channels – Allows users to edit channels by mousing over the channel name and clicking the gear, or by tapping the channel name at the top of your mobile device and then tapping settings. You can change the channel name, implement slow mode, manage channel permissions, or delete the channel.
- Mention @everyone, @here, and All Roles – Allows users to mention all users on the server, all online users with access to the channel in which the message is sent, or all users in a specific role even if that role’s “allow anyone to mention this role” permission is disabled.
- Send TTS Messages: Allows users to start a message with /tts to cause Discord to read their message out loud to everyone currently focused on the channel.
- Priority Speaker: While users with this permission are talking in a voice channel, the volume of other users will be lowered.
While some advanced Discord server configurations may require otherwise, the following permissions are generally good to give to everyone:
- Change Nickname: Allows users to set their own nickname on the server, different from their username.
- Read Text Channels & See Voice Channels: Allows users to see channels and read messages.
- Embed Links: Allows for a preview of links sent by users. If disabled, users can still post links but they will no longer preview.
- Attach Files: Allows users to upload images and files to the Discord server.
- Read Message History: Allows users to read messages sent in the channel while they were away. With this permission off, users are unable to read messages in the channel if they go to another channel or quit Discord.
- Use External Emoji: Members with Discord Nitro will be allowed to use emoji from their other Discord server. Discord bots may specifically need this to implement some of their functionality.
- Add Reactions: Allows users to add new reactions to a message. Members do not need this permission to click on an existing message reaction.
- Connect: Allows users to join voice channels.
- Speak: Allows users to speak in voice channels.
- Video: Allows users to use Discord Video.
- Use Voice Activity: User voice will be automatically detected when they are speaking. With this permission disabled, members must use push to talk to be heard in a voice channel.
If you have the Manage Channel Permissions permission, you can also set channel-level permission overrides for both roles and individual members. By changing one of the permissions to a checkmark or an X, you can define a specific permission for that channel for specific members or roles that will be used instead of the permissions that are set on the Roles management screen. The permissions for channel overrides are similar to their role level counterparts, but the descriptions will provide you additional information as to exactly what they do.
However, it’s not enough just to know what buttons to click. It is vital that you understand how Discord determines what permissions a user actually has when you start involving channel overrides. Discord checks each permission in the following order and stops if there are any overrides set at that step.
- Channel overrides for a user.
- Channel overrides for a custom role (not @everyone).
- Channel overrides for the @everyone role.
- Otherwise, use the role permissions.
This is fairly logical, but there is one important thing to note: if there are conflicting channel overrides on different custom roles and a user has two or more of these roles, Discord resolves this by allowing the permission.
For example, let’s say you run a server for World of Warcraft with a #guild-recruitment channel, where people can advertise their guild. You set a channel override to deny Send Messages to @everyone, then add another channel override for your Recruiter role to allow Send Messages. This way, only people with the Recruiter role can send messages in the channel. However, you also set a channel override to deny Send Messages for your Muted User role. If you have to mute one of the people with the Recruiter role by giving them the Muted User role, they will still be able to send messages in the #guild-recruitment channel because they have the Recruiter role. In this case, you have three options:
- Set a channel permission for the Muted User role to deny View Channel, so that the member can’t access the channel to send messages in the first place.
- Set a user level channel override to deny that specific user Send Messages.
- Remove their Recruiter role for the duration of their mute and give it back to them when it’s over.
You can use whichever method is easiest for you depending on any Discord bots you are using and how your server is setup. However, this example is just one way that channel overrides can conflict with each other. Be mindful of the way you set your role permissions and channel overrides to use as few channel overrides as you can so that you can avoid unexpected conflicts.
Other Technical Considerations
“Chat Muting” Users
As mentioned in the channel override section, one common use of permissions is to prevent certain users from sending messages in your server by giving them a Muted User (or similarly named) role. This is most easily accomplished by using a Discord bot to administer the role. The bot will first a “mute role” and then for every channel in the server sets the channel permissions for that role such that users with that role are not allowed to send messages or add reactions. When you mute a user through the bot, it assigns them that role and thus prevents them from interacting in the server’s channels.
It is also possible to set this up yourself and then manually assign the mute role to users that need to be muted from chatting.
A lot of moderation on Discord is done using bots. You can find plenty of them by doing some research online. Some options include MEE6, CarlBot, Zeppelin, Dyno, GiselleBot, Gaius, and more. Y
To invite a bot to a server, you must have either Administrator or Manage Server permission