Revolt's permission system works by sequentially applying allows then denies.

Flow Chart

Below are the high-level steps taken to determine both server and channel permissions (click to view).

If you are looking to implement permissions in a library, I highly recommend reading either revolt.js or delta source code since all the routines are well commented and should be relatively easy to understand.


The following permissions are currently allocated:

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 emoji on servers
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