🔐 Permissions
Bot permissions
The bot needs the following permissions at the guild level:
| Permission | Why |
|---|---|
View Channels | Read messages and channels |
Send Messages | Post panel, welcome, close, and control embeds |
Manage Messages | Remove user reactions from panel and control messages |
Add Reactions | Add numbered and control reactions |
Manage Channels | Create and delete ticket channels; update permission overwrites |
Read Message History | Fetch messages to build transcripts |
Attach Files | (Optional) DM transcript HTML files — only needed if using DM archiving |
Embed Links | Render embed messages |
Use External Emojis | Render external emojis in messages (optional) |
Ticket channel permission overwrites
When a ticket channel is created, the bot sets the following overwrites:
| Subject | Allow | Deny |
|---|---|---|
@everyone | — | View Channel |
| Ticket opener | View Channel, Send Messages, Read Message History, Attach Files, Embed Links, Add Reactions, Use External Emojis | — |
| Support role(s) | Same as opener | — |
| Global staff roles | Same as opener | — |
This means only the opener and the designated support staff can see the channel.
Lock / Unlock overwrites
When a ticket is locked (🔒 reaction), the opener's overwrite changes to:
| Allow | Deny |
|---|---|
| View Channel | Send Messages |
When unlocked (🔓 reaction), their overwrite is restored to the full set.
Permissions bitfield reference
The permissions.js file defines all permission constants as BigInt bitfields following the Fluxer permission model:
| Constant | Bit |
|---|---|
ViewChannel | 1n << 10n |
SendMessages | 1n << 11n |
ManageMessages | 1n << 13n |
EmbedLinks | 1n << 14n |
AttachFiles | 1n << 15n |
ReadMessageHistory | 1n << 16n |
AddReactions | 1n << 6n |
UseExternalEmojis | 1n << 18n |
ManageChannels | 1n << 4n |
The full list is in src/permissions.js.