> For the complete documentation index, see [llms.txt](https://zoomiescore.gitbook.io/zoomiescore-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zoomiescore.gitbook.io/zoomiescore-docs/docs/getting-started/permissions.md).

# permissions

ZoomiesCore requests a broad permission set at invite time because its modules cover moderation, channel management, message posting and role assignment. Trimming the invite mid-flow will silently break features.

## Discord permissions used

| Permission                      | Used by                                                                   |
| ------------------------------- | ------------------------------------------------------------------------- |
| **Manage Server**               | Reading settings, updating server nickname                                |
| **Manage Roles**                | Verification autorole, level rewards, `/role add\|remove`, reaction roles |
| **Manage Channels**             | Ticket creation, lockdown, slowmode, backups                              |
| **Kick / Ban Members**          | `/kick`, `/ban`, `/softban`, `/unban`                                     |
| **Moderate Members**            | `/timeout`, AutoMod timeout actions                                       |
| **Manage Messages**             | `/purge`, AutoMod delete, pinning ticket transcripts                      |
| **View Audit Log**              | Modlog enrichment, backup restore attribution                             |
| **Send Messages / Embed Links** | Every response, embed builder, scheduled msgs                             |
| **Attach Files**                | Ticket transcript exports, backup JSON downloads                          |
| **Read Message History**        | AutoMod re-scans, purge preview                                           |
| **Add Reactions**               | Reaction-roles reaction mode                                              |
| **Manage Webhooks**             | Scheduled announcements with custom avatars                               |

## Role hierarchy — the most common gotcha

Discord will not let a bot act on a member whose highest role is **equal to or higher than** the bot's highest role. If you invite the bot then leave its `ZoomiesCore` role at the bottom of the list, it won't be able to timeout admins, purge messages in staff channels, or assign level roles above itself.

Fix: **Server Settings → Roles → drag `ZoomiesCore` above any role you expect it to manage.**

## Channel-level overrides

If a specific channel isn't working (AutoMod skipping it, tickets not posting, etc.), check its channel permissions — a `@everyone` deny for Send Messages will block the bot too. Add an explicit allow on the `ZoomiesCore` role.
