- Documentation
- Getting started
Permissions and intents
What Bao needs on the Discord side, and what breaks without it.
Bao requests its permissions at installation. If you unticked some of them, or if the bot was installed before a feature existed, you sometimes have to re-invite it.
Permissions by feature
| Feature | Permission required |
|---|---|
| Sending a message, scheduling | View Channel, Send Messages, Embed Links |
| Tickets (dedicated channels) | Manage Channels, Manage Permissions |
| Tickets (thread mode) | Create Private Threads, Manage Threads |
| Transcripts | Attach Files, Read Message History |
| Roles (join, levels, menus, premium) | Manage Roles |
| Moderation | Kick Members, Ban Members, Moderate Members, Manage Messages |
| Audit log | View Audit Log |
| AI agent identity | Manage Webhooks |
| Giveaway referrals | Manage Server (to read invites) |
The hierarchy rule
To grant or remove a role, Bao's role must sit above the target role. This applies to every module. A role managed by an external integration (another bot's role, a Twitch role…) can never be granted by Bao: Discord forbids it.
Dangerous roles
Bao refuses to automatically grant a role that holds takeover permissions (Administrator, Manage Server, Manage Roles…) through autorole or a role menu. This is not a bug: a role any newcomer could obtain in one click must not be able to administer the server.
Intents
Bao needs the privileged Server Members and Message Content intents for moderation, levels and tickets. They are already enabled on the public bot: there is nothing for you to do. This only concerns you if you use a custom bot.