Restrictions
Control who can run a custom command with allow lists, deny lists, and required permissions.
Evaluation order
1
Deny list always wins
If the invoker, one of their roles, or the current channel is denied, the command stops immediately — no matter what else is configured.
2
Allow list gates entry
If any allow entry exists, the invoker must match one of them (as a user, through a role, or by running it in an allowed channel). If no allow entries exist at all, everyone passes this step.
3
Required permissions are always checked
Whatever
;cc requireperm lists must be held by the invoker. Matching an allow entry does not skip this.4
Action permissions are checked last
If the script runs actions, the invoker needs the mapped permission — unless a user or role allow entry covers them, which bypasses this step only.
A channel allow entry lets the command run in that channel. It never bypasses a permission check — only user and role entries do that, and only for action permissions.
Commands
All of these require Manage Server.- Allow
- Deny
- Required permissions
- Review / reset
Worked example
Goal: a;quiet command that times someone out for 10 minutes, usable only by moderators, only in the staff channel, and never by a suspended moderator.
1
Create it
{mod:timeout} action.2
Limit it to the staff channel and the mod role
3
Require a Discord permission on top
4
Suspend one person without touching the rest
5
Confirm the result

