Discord Bot Permissions, Explained
The three permission layers that actually control what a bot can do — server permissions, channel overwrites, and role hierarchy — and how they interact.
Quick answer
A Discord bot's ability to do something is controlled by three independent layers: server-wide permissions from its role, per-channel overwrites that can allow or deny access to a specific category or channel, and role hierarchy, which limits which members and roles it can manage regardless of what permissions it holds. All three have to line up — and Administrator does not bypass the third one.
What you'll learn
- The three permission layers, and how they combine
- Why 'it has Administrator' doesn't guarantee a feature will work
- The specific permissions common features actually need
- How to diagnose a permission error methodically instead of guessing
- Why some Airwavy features need more than just a Discord permission
Why permission problems are so common
Discord's permission system is genuinely three separate checks stacked together, and a feature only works if all three line up. Most 'the bot isn't working' reports are actually one of these three layers silently blocking something, not a bug in the bot itself — which is why methodically checking each layer, rather than guessing, resolves most of them quickly.
The three layers Discord enforces
These apply to every bot on Discord, not something specific to any one of them.
- Server permissions come from the bot's assigned role(s) — the baseline set of things it's allowed to do anywhere in the server.
- Channel overwrites can allow or deny specific permissions for a specific category or channel, overriding the server-wide default in either direction.
- Role hierarchy limits which members and roles a bot can manage, independent of permission bits — a bot can have Administrator and still be unable to manage a member or role positioned above its own highest role.
What Airwavy specifically needs, by feature type
Grant permissions according to which features you actually enable — not everything up front.
- View Channel, Send Messages, Embed Links, and Read Message History for most relevant text flows.
- Connect and Speak for music; Move Members for join-to-create or voice moderation.
- Manage Roles for verification and reaction roles.
- Manage Channels for tickets, join-to-create, and channel locks.
- Ban, Kick, Moderate, Mute, or Deafen Members only for the matching moderation actions — and beyond Discord permissions, some commands also require an enabled dashboard feature, an Airwavy staff or DJ role, Premium access, or another eligibility rule shown in its reference entry.
Set permissions up deliberately
- Decide which features you're actually enabling before granting permissions — don't grant everything up front.
- Check each enabled feature's command reference entry for its declared bot permission requirement.
- Grant only those specific permissions, rather than a blanket Administrator role.
- Move the bot's role above whatever member roles or target roles it needs to manage.
- Test each feature with a normal, non-administrator account — an admin account skips exactly the checks you're trying to validate.
Common mistakes
- Granting Administrator as a shortcut instead of the specific permissions a feature needs.
- Assuming Administrator bypasses role hierarchy — it doesn't; a bot still can't manage a role or member above its own.
- Checking only server-level permissions and missing a channel-level overwrite that denies access.
- Not distinguishing a Discord permission problem from an Airwavy-specific access gate (feature not enabled, missing Premium, missing staff role).
Troubleshooting
The command is absent from the picker entirely
Confirm you selected the right application, application commands are allowed in that channel, and the command has finished syncing after an update.
The command appears but gets denied
Open its command reference entry and check user permissions, bot permissions, access badges, feature state, role hierarchy, channel overwrites, and cooldown — in that order.
An admin can run it but a regular member can't
That's usually correct behaviour, not a bug — the member is hitting a real role, channel, DJ, or feature-access restriction. Test and configure the least-privileged role you actually intend members to use.
Related guides
How to Add a Bot to Discord (Beginner's Guide)
The three things every Discord bot install actually needs — the right authorization, correct role placement, and a real test — explained once.
Read guideHow Discord Roles and Permissions Actually Work
Role hierarchy, permission bits, and channel overwrites — the three concepts that decide what any member or bot can actually do.
Read guide