Skip to main content

Permissions

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.

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.

Values

The following permissions are currently allocated:

NameValueDescription
ManageChannel1Manage the channel or channels on the server
ManageServer2Manage the server
ManagePermissions4Manage permissions on servers or channels
ManageRole8Manage roles on server
ManageCustomisation16Manage emoji on servers
KickMembers64Kick other members below their ranking
BanMembers128Ban other members below their ranking
TimeoutMembers256Timeout other members below their ranking
AssignRoles512Assign roles to members below their ranking
ChangeNickname1024Change own nickname
ManageNicknames2048Change or remove other's nicknames below their ranking
ChangeAvatar4096Change own avatar
RemoveAvatars8192Remove other's avatars below their ranking
ViewChannel1048576View a channel
ReadMessageHistory2097152Read a channel's past message history
SendMessage4194304Send a message in a channel
ManageMessages8388608Delete messages in a channel
ManageWebhooks16777216Manage webhook entries on a channel
InviteOthers33554432Create invites to this channel
SendEmbeds67108864Send embedded content in this channel
UploadFiles134217728Send attachments and media in this channel
Masquerade268435456Masquerade messages using custom nickname and avatar
React536870912React to messages with emojis
Connect1073741824Connect to a voice channel
Speak2147483648Speak in a voice call
Video4294967296Share video in a voice call
MuteMembers8589934592Mute other members with lower ranking in a voice call
DeafenMembers17179869184Deafen other members with lower ranking in a voice call
MoveMembers34359738368Move members between voice channels