VeyroBot Logo
VeyroBot

Discord Role and Permission System: The Complete Reference

Permissions in Discord arise from the intersection of role permissions, hierarchy, and channel overrides. If you know the evaluation order of these three layers, you can diagnose a permission issue in five minutes.

VeyroBot team

This article was translated automatically from the Turkish original. Read the Turkish original

In this article
  1. Short answer
  2. 1. Role permissions: server-wide base
  3. 2. Hierarchy: who can touch whom
  4. 3. Channel overrides: the final word
  5. Four common issues
  6. Three rules for setup
  7. What you see in the panel
  8. Who it is for, and who it is not for
  9. Frequently asked questions

Short answer

Permissions in Discord arise from the intersection of three things: the role's permissions, the role's position in the hierarchy, and channel-level overrides. If you want to understand what a user can do in a channel, you must read these three in order; asking "is the permission enabled on the role" by itself is misleading.

This article is a reference summary that will allow you to diagnose a permission issue in five minutes. The only thing you need to memorize is the order.

This topic in VeyroBot:Discord Leveling System and Rank Cards →

1. Role permissions: server-wide base

Role permissions are the base that applies to the entire server. If a user has multiple roles, permissions are aggregated: if any of the roles grant a permission, the user has that permission. There is no "no" value at the role level; there is only enabled or disabled.

Two permissions are exceptions to this rule and override everything:

  • Administrator: Grants all permissions and ignores channel overrides. Even if you disable writing in a channel, an administrator can write.
  • Server Owner: This is an account, not a role. It cannot be restricted by any settings.

2. Hierarchy: who can touch whom

The order in the role list is not just visual. A member can only manage roles below their own highest role and can only kick, ban, or mute members with a lower role than themselves.

This rule applies exactly the same to bots. This is the reason for the majority of "the bot cannot assign roles" complaints: the bot's role is below the role it is trying to assign. "Manage Roles" appears enabled in the permission list, yet the action fails.

SituationResult
Bot role is above the role to be assignedWorks
Bot role is below the role to be assignedSilent or "Missing Permissions" error
Moderator trying to kick a member at their own levelDenied (equality is not enough, superiority is required)
Target is the server ownerDenied under all circumstances

3. Channel overrides: the final word

At the channel and category level, every permission can be in one of three states: allow (green check), inherit (gray slash), deny (red cross). Inherit means "whatever the role permission says."

Discord evaluates these in a specific order. The order is what resolves conflicts:

  1. Server permissions of the @everyone role.
  2. The @everyone override in the channel.
  3. Server permissions of the user's other roles (aggregated).
  4. Role overrides in the channel — first all denies, then all allows.
  5. Member-specific override in the channel. This is the strongest.

The practical result is this: a deny at the role level is overridden if another role grants permission in the same channel. If you want to strictly remove someone from a channel, use a member-specific deny.

Four common issues

  • "I can't see the channel." The View Channel permission is disabled. It won't appear in the channel list at all; you won't even get an access denied message.
  • "I can't write, but I can see the channel." Send Messages is inherited or denied, or the channel is an announcement channel.
  • "The bot's command isn't working." First, check the bot's channel-level permissions: the permission to use application commands can be disabled on a per-channel basis.
  • "I assigned the role, but the channel is still locked." There is an explicit deny for that role in the channel; the role permission does not override this.

Three rules for setup

Grant permissions to the category. Let channels inherit from the category; define exceptions only in the specific channel required. This reduces permission auditing to a single screen.

Use deny sparingly. Set up visibility by not granting it to @everyone and only enabling it for the relevant role. When deny layers overlap, it becomes difficult to track which role is overriding what.

Do not distribute the Administrator permission. Administrator completely bypasses channel settings; for moderation, Kick Members, Ban Members, Manage Messages, and Timeout Members are usually sufficient.

What you see in the panel

The Server Health Score on the VeyroBot panel's Overview tab lists dangerous permissions left enabled on the @everyone role as a separate finding. It assigns the highest priority to four permissions: Administrator, Manage Server, Manage Roles, and Manage Webhooks. The same check reports kick and ban permissions one level lower.

This finding has a one-click fix; the fix is applied using your actual permissions in Discord and can be reverted within 24 hours. If an auto-role or reward role cannot be assigned, the same card reports this separately as a hierarchy issue.

Who it is for, and who it is not for

For: Server administrators who repeatedly solve permission issues through trial and error, and communities that are just setting up their moderation team.

Not for: Single-person or very small servers. A simple structure with three roles is sufficient there; setting up an override layer creates unnecessary complexity.

Frequently asked questions

What happens if one of two roles allows and the other doesn't?

At the server level, permissions are aggregated, meaning the user has the permission. At the channel level, an explicit deny beats an allow in the same layer — you need a member-specific deny for a definitive block.

Does role color or position affect permissions?

Color does not affect them. Position, however, has a direct effect: a role can only manage roles and members below it.

Should I give the Administrator permission to a bot?

This is a separate topic of debate, and the answer depends on what the bot does. In short: Administrator is both the easiest and broadest authority because it also skips channel denies.

What is the difference between timeout and a mute role?

Timeout is a built-in Discord feature; it lifts automatically when the duration expires and does not require channel settings. A mute role requires you to define a separate deny in every channel and is forgotten in newly created channels.

How do I see a user's actual permission in a channel?

When you select a member in the Permissions tab of channel settings, Discord shows the calculated result. This is the combined state of role and channel layers; it is more reliable than guessing by looking at the role list.

Last update: September 18, 2026. The permission evaluation order is based on Discord's documented behavior as of that date. For VeyroBot's moderation modules, see the AutoMod page, and for the command list, see the commands page.

Add the bot to your server Free · ~30s