Discord Bot Permissions Explained: What Each One Actually Does
A practical guide to Discord bot permissions: what each one means, which combinations are safe, and how to give your bot exactly the access it needs and nothing more.
Why permissions matter (more than you think)
A Discord bot with too many permissions is a security incident waiting to happen. If a bot gets compromised — through a leaked token, a vulnerability in a third-party library, or just a malicious update — every permission it holds becomes an attack surface against your server.
The most common mistake we see: people grant the Administrator permission "to make sure it works." This gives the bot effectively full control over the server. If the bot is ever compromised, the attacker can:
- Delete every channel
- Ban every member
- Change every role
- Lock you out of your own server
The right approach is the opposite: grant the minimum permissions the bot needs, and grant more only when a specific feature requires it. This guide walks through every common Discord permission, what it does, when to grant it, and when to refuse.
How Discord permissions work, briefly
Discord permissions live at three levels:
- Server-level permissions — granted via roles. The bot's role determines its base permissions across the whole server.
- Channel-level permissions — overrides on specific channels. Can grant or deny permissions just for that channel.
- Category-level permissions — same as channel, but applied to a category that contains multiple channels.
The effective permission for a bot in a channel = (server-level) + (any allow overrides) − (any deny overrides). When in doubt, channel-level deny beats anything else.
The Administrator permission: just don't
What it does: grants every other permission.
When to grant it: essentially never. There are extremely rare custom-bot use-cases where it's appropriate, and if you're reading this guide, you don't have one.
What to do instead: grant the specific permissions the bot's features need. If the bot's docs say "needs Administrator," that's a red flag — push back and ask which specific permissions are required.
Permissions every bot needs
Some are practically universal. Grant these to almost any bot:
View Channel
The bot can see channels. Without this, the bot is blind. Grant on every channel where the bot should operate.
Send Messages
The bot can post text messages. Required for any bot that talks back.
Read Message History
The bot can read past messages, not just real-time ones. Required for slash commands that reference earlier messages, transcript exports, and most moderation logic.
Use Slash Commands
The bot can register and respond to slash commands. Required for any modern bot.
Embed Links
The bot can post messages with embedded preview cards (the formatted boxes with title, description, image). Most polished bots need this.
Attach Files
The bot can upload files (images, transcripts, etc). Needed for welcome cards, transcript exports, and any image-generating features.
Permissions for moderation bots
Manage Messages
The bot can delete or pin messages, including messages from users.
Grant if: The bot needs to auto-delete spam, slurs, banned links, or pin announcements. Risk if compromised: Mass deletion of legitimate messages. Mitigation: Pair with audit logging so every deletion is tracked.
Kick Members
The bot can kick members from the server.
Grant if: The bot escalates moderation to kicks (e.g. on the 5th warning). Risk if compromised: Mass-kick attack. Mitigation: Don't grant if your moderation thresholds never reach kick — let humans decide.
Ban Members
The bot can permanently ban members.
Grant if: The bot enforces hard limits like "auto-ban accounts using slurs" or "ban after 7 warnings." Risk if compromised: Mass-ban attack, hard to recover from. Mitigation: Use this sparingly. For most servers, mute-only auto-moderation is enough; humans handle bans.
Mute Members (Timeout)
The bot can timeout members (Discord's softer alternative to muting via roles).
Grant if: Bot uses tiered moderation (warn → mute → ban). Risk if compromised: Mass-mute attack — annoying but recoverable. Mitigation: Generally safe; this is the bread-and-butter of automated moderation.
Manage Roles
The bot can assign and remove roles (other than roles higher than its own).
Grant if: Bot does reaction roles, leveling rewards, sub-tier syncing, or any role automation. Risk if compromised: Mass-assign of @Admin (only if the bot's role is above @Admin — which it shouldn't be). Mitigation: Make sure the bot's role is below every protected role (Admin, Mod, etc.). The bot can only manage roles below its own.
View Audit Log
The bot can read the server's audit log.
Grant if: Bot generates moderation reports, anti-raid analytics, or activity dashboards. Risk if compromised: Information disclosure of server actions. Mitigation: Low risk — audit logs are visible to staff anyway.
Permissions for engagement bots
Manage Channels
The bot can create, delete, or rename channels.
Grant if: Bot creates temp voice channels for parties (LFG bots), opens private ticket channels, or manages event-specific channels. Risk if compromised: Mass-creation of spam channels, mass deletion of legit channels. Mitigation: Grant only on category overrides where the bot needs to act. Don't grant server-wide.
Send Messages in Threads
The bot can post in threads.
Grant if: Bot creates or operates in threads (e.g. ticket bot that uses threads instead of channels). Risk if compromised: Low.
Create Public/Private Threads
The bot can spawn threads.
Grant if: Bot opens threads for help requests, event discussions, etc.
Add Reactions
The bot can react to messages.
Grant if: Bot sets up reaction-role panels or marks messages as handled.
Permissions for music/voice bots
Connect (voice)
The bot can join voice channels.
Grant if: Music bot, voice-recording bot, voice-summarizer.
Speak (voice)
The bot can transmit audio.
Grant if: Same as above.
Use Voice Activity (voice)
The bot's audio is detected by other Discord clients.
Grant if: Music bot.
Move Members (voice)
The bot can move members between voice channels.
Grant if: LFG bot that auto-pairs party members. Otherwise no. Risk if compromised: Annoying voice-channel manipulation.
Mute / Deafen Members (voice)
The bot can server-mute or server-deafen members in voice.
Grant if: Voice-moderation bot. Otherwise no.
Permissions you should almost never grant
Manage Server
Lets the bot rename the server, change the icon, set the boost role, etc.
Grant if: You have a very specific reason. Otherwise no.
Manage Webhooks
Lets the bot create/edit webhooks.
Grant if: Bot generates webhooks for automation. Otherwise no.
Mention Everyone
Lets the bot ping @everyone or @here.
Grant if: Bot needs to broadcast critical alerts. Even then, prefer using a dedicated alert role and limit which channels the bot can mention in.
Manage Emojis and Stickers
Most bots have no business with this.
Manage Events
Most bots have no business with this.
View Guild Insights
Server analytics. Granted only to specific stat-tracking bots from trusted vendors.
A safe-default permissions table
Here's what we recommend by bot type. Use this as your starting checklist.
| Permission | Mod | Music | Welcome | Tickets | Leveling | AI Chat |
|---|---|---|---|---|---|---|
| View Channel | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Send Messages | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Read Message History | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
| Use Slash Commands | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Embed Links | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Attach Files | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ |
| Manage Messages | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Kick Members | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Ban Members | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Mute Members | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Manage Roles | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ |
| Manage Channels | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Connect | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Speak | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Add Reactions | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Legend: ✅ grant; ❌ don't grant; ⚠️ grant only if your bot escalates to kick/ban (most don't).
Checking what permissions a bot has
In Discord:
- Server Settings → Roles → [Bot's role] shows server-level perms
- Channel → Edit Channel → Permissions shows channel-level overrides
- Server Settings → Audit Log shows what the bot has actually done
Audit your bots quarterly. If a bot has permissions it never uses, revoke them.
What to do if a bot is compromised
If you suspect a bot's token has leaked or the bot has been compromised:
- Immediately revoke the bot's role permissions. Set its role to no permissions, or kick the bot from the server.
- Regenerate the bot's token (in the Discord Developer Portal or your bot platform's settings).
- Audit the audit log for any unauthorized actions in the last 24 hours.
- Restore deleted channels/roles from a recent server backup if any damage was done. (Server backups are a Discord boost feature.)
- Notify your community if any user-visible damage occurred.
How Discord Bot Creator handles this
When you build a bot with our platform, the invite URL we generate for you includes only the permissions your bot's actual features require. We update the URL automatically when you add features, so you don't have to manually re-invite.
We also keep all bot tokens encrypted at rest, never expose them in the UI after first creation, and offer one-click token rotation if you suspect a leak.
You can read more about this in our security overview — but the headline is: we err strongly on the side of fewest permissions, even if it means the bot needs a re-invite when you add a feature.
FAQ
My bot stopped working after I revoked a permission. How do I know which one is needed? Discord's error messages will usually tell you. If not, the bot's logs in your platform should show the API call that failed and which permission it was missing.
Can two bots have the same permissions? Yes. There's no conflict between two bots having "Manage Messages" — each operates independently.
Should the bot's role be above or below my staff roles? Below. If the bot's role is above your staff roles, it could (in theory, if compromised) modify those roles. Always position the bot just above the highest role it needs to manage and below all staff roles.
What's the difference between "Mute" and "Timeout"? Discord deprecated traditional muting (which used a role) in favor of "Timeout" (a built-in temporary restriction). Modern bots use Timeout. The "Mute Members" permission in this guide refers to the Timeout permission.
Next steps
- If you're starting fresh, build your bot via Discord Bot Creator — it picks correct permissions automatically.
- If you're auditing existing bots, walk through each bot in your server and compare its permissions to the table above.
- If you've ever granted Administrator, revoke it now and grant only the specific permissions the bot uses.
Build your bot in under 10 minutes
Discord Bot Creator turns plain-English briefs into hosted, working Discord bots. The free tier covers your first bot end-to-end.
Start free