Skip to content

Permissions

Permissions in Floodilka are stored as a 64-bit integer. Each bit is a separate permission. A user’s roles combine via bitwise OR; channel overwrites are applied on top: deny clears bits, allow sets them.

Resolution order is @everyone → roles → category overwrites → channel overwrites. The ADMINISTRATOR bit bypasses every check.

(full list)

NameBitValueDescription
CREATE_INSTANT_INVITE01Create invites to the guild.
KICK_MEMBERS12Kick members.
BAN_MEMBERS24Ban members.
ADMINISTRATOR38All permissions. Bypasses every permission check and overwrite.
MANAGE_CHANNELS416Create, edit, and delete channels.
MANAGE_GUILD532Edit guild settings: name, region, features.
ADD_REACTIONS664Add new reactions to messages.
VIEW_AUDIT_LOG7128Read the audit log.
PRIORITY_SPEAKER8256Priority speaker in voice.
STREAM9512Start a video or screen-share stream.
VIEW_CHANNEL101024View the channel or connect to voice.
SEND_MESSAGES112048Send messages in the channel.
SEND_TTS_MESSAGES124096Send text-to-speech messages.
MANAGE_MESSAGES138192Delete others’ messages, pin/unpin, and manage published messages.
EMBED_LINKS1416384Auto-embed links.
ATTACH_FILES1532768Attach files to messages.
READ_MESSAGE_HISTORY1665536Read channel message history.
MENTION_EVERYONE17131072Use @everyone, @here, and @role mentions (when the role is mentionable).
USE_EXTERNAL_EMOJIS18262144Use custom emojis from other servers.
CONNECT201048576Connect to a voice channel.
SPEAK212097152Speak in voice.
MUTE_MEMBERS224194304Mute other members in voice.
DEAFEN_MEMBERS238388608Deafen other members in voice.
MOVE_MEMBERS2416777216Move members between voice channels.
USE_VAD2533554432Use voice activity detection (no push-to-talk required).
CHANGE_NICKNAME2667108864Change own nickname in the guild.
MANAGE_NICKNAMES27134217728Change other members’ nicknames.
MANAGE_ROLES28268435456Create, edit, and delete roles below your highest role.
MANAGE_WEBHOOKS29536870912Manage webhooks.
MANAGE_EXPRESSIONS301073741824Manage server emojis, stickers, and sounds.
USE_EXTERNAL_STICKERS37137438953472Use stickers from other servers.
MODERATE_MEMBERS401099511627776Timeout members and other soft-moderation actions.
CREATE_EXPRESSIONS438796093022208Create (but not manage others’) emojis and stickers.
PIN_MESSAGES512251799813685248Pin messages without MANAGE_MESSAGES.
BYPASS_SLOWMODE524503599627370496Bypass channel slowmode limits.
UPDATE_RTC_REGION539007199254740992Change the voice channel RTC region.

Building a permissions bitfield for invite URLs

Section titled “Building a permissions bitfield for invite URLs”

OR the values together:

const permissions =
(1 << 10) | // VIEW_CHANNEL
(1 << 11) | // SEND_MESSAGES
(1 << 16); // READ_MESSAGE_HISTORY
// → 68608

Drop the number into the OAuth2 URL permissions parameter:

https://floodilka.com/oauth2/authorize?client_id=APP_ID&scope=bot&permissions=68608

For bits >= 32 use BigInt: (1n << 40n) instead of 1 << 40.