Discord Bot Permissions Guide: What Each Permission Does (2026)
Bot permissions are confusing. There are dozens of options, some sound similar, and getting them wrong means features silently break or โ worse โ your bot gets more access than it needs. Here's a plain-language breakdown of every permission, which ones common bot features actually require, and how to set things up securely.
How Discord permissions work
Discord uses a layered permission system:
- Server permissions โ set on the bot's role in Server Settings โ Roles. These apply everywhere by default.
- Category permissions โ set on a category folder. All channels inside inherit these unless overridden.
- Channel permissions โ set on individual channels. These override both category and server permissions.
A deny at any level always wins over an allow. So if the bot's role has "Send Messages" allowed at the server level but denied in a specific channel, the bot can't send messages there.
Permissions common bots need
| Permission | What it does | Used by |
|---|---|---|
| View Channel | See the channel exists and read messages | Everything โ without this, the bot is blind |
| Send Messages | Post text messages | Welcome cards, level-ups, responses |
| Embed Links | Send rich embeds with formatting | Ticket panels, FAQ answers, mod logs |
| Read Message History | See messages sent before the bot joined | Summarize, transcripts, context-aware replies |
| Manage Messages | Delete messages, pin/unpin, add reactions | AutoMod, purging, reaction role menus |
| Manage Channels | Create, edit, delete channels and categories | Tickets, temp voice, blueprint setup |
| Manage Roles | Assign/remove roles, create new roles | Auto-roles, verification, level rewards |
| Kick Members | Remove members from the server | Moderation commands, anti-raid |
| Ban Members | Ban members and manage ban list | Moderation, ban sync, appeals |
| Connect / Speak | Join and talk in voice channels | Music bots, voice XP tracking |
Dangerous permissions to avoid
These permissions give a bot (or anyone with the role) near-total control. Only grant them if absolutely necessary:
- Administrator โ bypasses ALL permission checks and channel overrides. A compromised bot with Admin can delete your entire server in seconds. Never give this to a bot unless you fully trust the developer and understand the risk.
- Manage Server โ change server name, region, verification level, invite settings and widget. Rarely needed by bots.
- Manage Webhooks โ create webhooks that can post as any user. Useful for integrations but dangerous if misused.
- Mention Everyone โ ping @everyone and @here. Bots rarely need this, and it's the #1 way raid bots cause chaos.
Nodariq never asks for Administrator. It requests only the specific permissions each feature needs, and the invite link shows exactly what you're granting before you authorize.
Role hierarchy: why order matters
Discord enforces a strict role hierarchy: a bot can only manage roles below its own highest role. This is the most common source of "Missing Permissions" errors.
To fix this:
- Go to Server Settings โ Roles.
- Drag the bot's role above any roles it needs to assign or remove.
- The bot still can't manage roles equal to or above its own โ this is a Discord security feature.
For Nodariq, place its role above your member roles but below your staff/admin roles. This lets it assign Member, Verified, Level 5, etc., while preventing it from accidentally removing staff roles.
Channel overrides explained
Channel overrides let you fine-tune where a bot can operate:
- Ticket channels โ the bot needs Manage Channels to create them, and View Channel + Send Messages + Embed Links inside them. Staff roles also need View Channel.
- Log channels โ the bot needs Send Messages and Embed Links. Deny Send Messages for regular members so only the bot posts there.
- Welcome channel โ the bot needs Send Messages and Embed Links. You may want to deny Send Messages for new members so the welcome card doesn't get buried.
- Staff-only channels โ deny View Channel for the bot's role if it doesn't need to read staff discussions. Grant it only where it actively participates (like ticket channels).
Troubleshooting permission errors
When a bot says "Missing Permissions" or silently fails:
- Check the bot's role position โ it must be above any roles it manages.
- Verify server-level permissions โ open the bot's role and confirm the required permissions are enabled.
- Check channel overrides โ click the channel's settings โ Permissions and look for explicit denies on the bot's role or @everyone.
- Check category permissions โ channels inherit from their category. A deny at the category level blocks everything below.
- Re-authorize the bot โ if you changed permissions after inviting, re-invite using the updated invite link to refresh the granted scopes.
What Nodariq specifically needs
Nodariq requests these permissions during invite, depending on which features you enable:
- Core (always): View Channel, Send Messages, Embed Links, Read Message History, Add Reactions, Use External Emojis.
- Moderation: Manage Messages, Kick Members, Ban Members, Manage Nicknames.
- Tickets: Manage Channels, Manage Threads, Create Public Threads, Create Private Threads.
- Roles & Verification: Manage Roles (place Nodariq's role above assignable roles).
- Voice features: Connect, Speak, Move Members.
You can review and adjust these anytime in Server Settings โ Integrations โ Nodariq. The dashboard also flags missing permissions per feature tab.
Questions
Does a Discord bot need Administrator permission?
Almost never. Administrator bypasses all permission checks and channel overrides, which means a compromised bot can delete everything. Most bots only need specific permissions like Manage Channels, Manage Roles, Send Messages and Read Message History.
Why can't my bot see certain channels?
The bot's role needs the View Channel permission for each category or channel it should access. Check both the server-level role permissions and any channel-specific overrides that might deny access.
How do I fix 'Missing Permissions' errors?
Check the bot's role hierarchy โ it must be above the roles or members it's trying to manage. Also verify the bot has the specific permission (e.g. Manage Nicknames) at both the server and channel level.
Can I change bot permissions after inviting it?
Yes. Edit the bot's role in Server Settings โ Roles to add or remove permissions. For OAuth2 scopes (like applications.commands), you'll need to re-authorize via the invite link.