PaulCLI logoPaulCLI

Settings reference

How command toggles are stored and enforced.

Setting or fieldTypeDefaultWhat it does
GuildCommand.commandstringnoneSlash command name, for example ban or giveaway. The API accepts ^[\w-]{1,32}$.
GuildCommand.enabledbooleantrueWhether this command may run in the guild. Missing row also means enabled.
GuildCommand.guildIdsnowflakecurrent guildThe server this override belongs to. A unique constraint keeps one row per command per guild.
GET /api/commands/[guildId]API responselive Discord commands plus stored rowsReturns { command, description, enabled }[], sorted by command name.
PATCH /api/commands/[guildId]{ command, enabled }noneUpserts the per-guild override after access checks.
Disabled interaction replyephemeral messagen/aIf enabled is false, the bot stops before command execution and replies with the disabled message.

Autocomplete

The disable check is in the chat-input command path. Autocomplete handlers for /shop buy and /rss remove may still answer choices, but the actual command execution is blocked when disabled.

The command router also handles context menus and components, but the files documented here are slash commands under packages/bot/src/commands/**. Unknown slash commands are logged and otherwise ignored.