Channel Permission Overwrites
Manage channel-specific permission overwrites for roles and users. Set granular permissions with Allow, Deny, or Default states for complete control.
Channel Permission Overwrites - Set specific permissions for roles or users in a channel. Permission states: Allow (grant), Deny (block), or Default (inherit from role).
Quick Presets
Permissions
VIEW_CHANNEL
View channels and read messages
MANAGE_CHANNELS
Manage channel settings
MANAGE_PERMISSIONS
Manage permission overwrites
MANAGE_WEBHOOKS
Create, edit, and delete webhooks
CREATE_INSTANT_INVITE
Create instant invites
SEND_MESSAGES
Send messages in text channels
SEND_TTS_MESSAGES
Send text-to-speech messages
MANAGE_MESSAGES
Delete and pin messages
EMBED_LINKS
Links embed automatically
ATTACH_FILES
Upload files and media
READ_MESSAGE_HISTORY
Read message history
MENTION_EVERYONE
Mention @everyone and @here
USE_EXTERNAL_EMOJIS
Use external emojis
ADD_REACTIONS
Add reactions to messages
USE_APPLICATION_COMMANDS
Use slash commands
CONNECT
Connect to voice channels
SPEAK
Speak in voice channels
STREAM
Video and screen share
USE_VAD
Use voice activity detection
PRIORITY_SPEAKER
Priority speaker (quiets others)
MUTE_MEMBERS
Mute members in voice
DEAFEN_MEMBERS
Deafen members in voice
MOVE_MEMBERS
Move members between channels
MANAGE_THREADS
Manage threads
CREATE_PUBLIC_THREADS
Create public threads
CREATE_PRIVATE_THREADS
Create private threads
SEND_MESSAGES_IN_THREADS
Send messages in threads
Calculated Bitfields
00// Select permissions to generate code
Understanding Permission Overwrites
What are Permission Overwrites?
Permission overwrites allow you to set channel-specific permissions for roles or users that override their server-wide role permissions. This enables granular control over who can do what in each channel.
Key Concepts:
- โข Override Hierarchy: Channel overwrites take priority over role permissions
- โข Three States: Allow (grant), Deny (block), Default (inherit from role)
- โข Per-Target: Set different permissions for different roles/users in the same channel
- โข Bitfield System: Stored as two integers (allow and deny bitfields)
Permission States
Allow
Explicitly grants the permission in this channel, even if the role doesn't have it.
Deny
Explicitly denies the permission in this channel, even if the role has it.
Default
No override - the permission is inherited from the role's server permissions.
Permission Hierarchy
Discord calculates final permissions using a specific hierarchy. Understanding this order is crucial for setting up permissions correctly.
Server Owner
Has all permissions in all channels, cannot be overridden
Administrator Permission
If a role has Administrator, they have all permissions (cannot be denied)
User-Specific Deny Overwrites
Deny overwrites applied directly to a user
User-Specific Allow Overwrites
Allow overwrites applied directly to a user
Role-Specific Deny Overwrites
Deny overwrites from any of the user's roles
Role-Specific Allow Overwrites
Allow overwrites from any of the user's roles
Server-Level Role Permissions
Default permissions from the user's highest role
@everyone Role
Base permissions from the @everyone role
Common Use Cases
๐ Read-Only Channels
Create announcement or rules channels where only moderators can post.
๐๏ธ Hidden Channels
Create staff-only or private channels invisible to regular members.
๐ค Muted Members
Temporarily restrict a user from sending messages or speaking.
๐ก๏ธ Moderator Channels
Give moderators full channel management in specific channels.
Best Practices
Use Deny Sparingly
Deny overwrites take priority over Allow. Only use Deny when you need to block a specific permission.
Prefer Role Overwrites
Use role-based overwrites instead of user-specific ones for easier management and scalability.
Sync Category Permissions
Use category-level permissions and sync channels to them for consistent permission structures.
Test Permission Changes
Always test permission changes with a test account to ensure they work as expected.
Document Your Permission Structure
Keep notes on your permission setup to avoid confusion when making changes later.
Use VIEW_CHANNEL Carefully
Denying VIEW_CHANNEL hides the channel entirely. This is the most common permission for creating private channels.
Important Notes
- โ Server owners and users with Administrator permission bypass all channel overwrites
- โ User-specific overwrites take priority over role-specific overwrites
- โ Deny always wins over Allow when calculating final permissions
- โ Setting both Allow and Deny for the same permission in one overwrite makes Deny take effect
- โ Permission changes may take a few seconds to propagate across Discord's servers
- โ Too many permission overwrites can make server management complex - aim for simplicity