Skip to main content

Permissions

Permissions are a bitfield. Resolution applies allows and then denies, in sequence, from the least specific grant to the most specific one — so a channel override beats a role, and a role beats the server default.

If you are implementing this in a library, read the permission crate rather than reimplementing from the table below. The ordering rules matter more than the values do, and the crate is where they actually live.

The table is generated from that crate by scripts/permissions-doc.py, and CI fails if the two disagree. A number that governs access control is not something to maintain by hand.

Channel and server permissions

NameValueBitwiseDescription
ManageChannel11 << 0Manage the channel or channels on the server
ManageServer21 << 1Manage the server
ManagePermissions41 << 2Manage permissions on servers or channels
ManageRole81 << 3Manage roles on server
ManageCustomisation161 << 4Manage server customisation (includes emoji)
KickMembers641 << 6Kick other members below their ranking
BanMembers1281 << 7Ban other members below their ranking
TimeoutMembers2561 << 8Timeout other members below their ranking
AssignRoles5121 << 9Assign roles to members below their ranking
ChangeNickname10241 << 10Change own nickname
ManageNicknames20481 << 11Change or remove other's nicknames below their ranking
ChangeAvatar40961 << 12Change own avatar
RemoveAvatars81921 << 13Remove other's avatars below their ranking
ViewChannel10485761 << 20View a channel
ReadMessageHistory20971521 << 21Read a channel's past message history
SendMessage41943041 << 22Send a message in a channel
ManageMessages83886081 << 23Delete messages in a channel
ManageWebhooks167772161 << 24Manage webhook entries on a channel
InviteOthers335544321 << 25Create invites to this channel
SendEmbeds671088641 << 26Send embedded content in this channel
UploadFiles1342177281 << 27Send attachments and media in this channel
Masquerade2684354561 << 28Masquerade messages using custom nickname and avatar
React5368709121 << 29React to messages with emojis
Connect10737418241 << 30Connect to a voice channel
Speak21474836481 << 31Speak in a voice call
Video42949672961 << 32Share video in a voice call
MuteMembers85899345921 << 33Mute other members with lower ranking in a voice call
DeafenMembers171798691841 << 34Deafen other members with lower ranking in a voice call
MoveMembers343597383681 << 35Move members between voice channels
Listen687194767361 << 36Listen to other users
MentionEveryone1374389534721 << 37Mention everyone and online members
MentionRoles2748779069441 << 38Mention roles
BypassSlowmode5497558138881 << 39Bypass slowmode
ViewAuditLogs10995116277761 << 40Access server audit logs

User permissions

These govern what one user may do in relation to another, rather than within a server.

NameValueBitwiseDescription
Access11 << 0See that the user exists at all
ViewProfile21 << 1View the user's profile
SendMessage41 << 2Send the user a direct message
Invite81 << 3Invite the user to a group