Skip to main content

Slash first

Slash commands are the primary surface: they’re discoverable, they carry option descriptions, and they’re the only route to grouped commands like /mod case or /config toggle. /help opens a private panel with a category picker inside the container. It’s ephemeral and only the person who ran it can use the buttons. /help <command> shows that command’s options, whether each is optional, and the permissions it requires.

Prefix second

Prefix commands exist for the moments when an interaction is too slow · raids, spam floods, a member melting down in a channel. The prefix is per server and off unless set:
With , configured, the moderation core is available as ,ban, ,unban, ,softban, ,kick, ,mute, ,unmute, ,jail, ,unjail, ,warn, ,clearwarns, ,purge, ,slowmode, ,nickname, ,threadlock (,tl). Purge and ban accept flags rather than options:
Some features are only available by prefix, because they predate the slash surface and are kept for compatibility: ,rr add, ,br setup, ,r <user> <role>, and the per-platform social shorthands (,youtube add, ,kick latest post).

Panels, not embeds

Replies are Components V2 containers. Practical consequences:
  • Buttons and selects are inside the card, so a paginated list has its arrows in the same message rather than underneath.
  • Long text is split across sections automatically · a huge permission dump can’t 400 the reply.
  • Ephemeral panels (help, config, automod status) are private to the person who opened them.

Permissions in Discord’s UI

Commands declare their own permissions, so Discord greys out what you can’t use. The bot re-checks server-side and replies with a clear denial instead of failing silently · ui.denied() produces a styled refusal naming the missing permission.

Cooldowns and confirmations

Bulk actions (/mod unban user:all, /unmute member:all, /untimeout member:all) ask for confirmation before touching the server. Destructive single actions (/channel nuke, honeypot reset) confirm too · there’s no single-click path to wiping a channel.