Bot permissions
Which Discord permissions PaulCLI needs, and why role position matters.
PaulCLI asks for a broad permission set on invite so that any module works out of the box. If you trim permissions, use this table to know what each module needs.
| Module | Permissions used |
|---|---|
| Suggestions | Send Messages, Manage Messages (deletes the original post), Create Public Threads (auto-thread) |
| AutoMod | Manage Messages, Moderate Members (timeouts) |
| Welcome | Send Messages, Attach Files (image cards) |
| Logging | Send Messages in the log channel (or a webhook) |
| Giveaways | Send Messages, Embed Links |
| Stats channels | Manage Channels (renames) |
| Moderation | Kick Members, Ban Members, Moderate Members |
| RSS | Manage Webhooks (creates one per feed) |
| Tickets | Manage Channels, Manage Roles (channel overwrites), Read Message History (transcripts) |
| Starboard | Send Messages, Embed Links in the starboard channel |
| Auto voice | Manage Channels, Move Members |
| Economy / Levels | Send Messages, Attach Files, Manage Roles (rewards) |
| Auto roles | Manage Roles |
| Workflow | Whatever the actions you use require — see the Workflow reference |
Role hierarchy
The most common cause of “it does nothing”
Discord only lets a bot manage roles below its own highest role, and only moderate members whose highest role is below the bot's. Drag the PaulCLI role near the top of Server Settings → Roles and most “missing permissions” problems disappear.
Modules check this before acting and report it clearly — Moderation commands reply with an ephemeral error, Workflow stores it as the workflow's last error, and queued dashboard actions are marked FAILED with the reason.
Privileged intents
The bot uses the Server Members, Presence and Message Content privileged intents. These are enabled by the bot owner in the Discord Developer Portal — nothing for server admins to configure.
