Skip to main content

Create and preview

Build your first custom command, then inspect, preview, list, and toggle it.

Your first custom command

1

Write the definition

A definition is a name, optional argument declarations, a separator, and the response script.
  • greet — the command name.
  • (member) — a required argument (one word).
  • [message...] — an optional argument that swallows the rest of the line.
  • -- — the separator between the definition and the response.
  • everything after -- — the response script.
2

Preview it before anyone sees it

Dry-run it with sample arguments. Nothing is banned, logged, or written to the database.
Output:
Hello @wanderer! good to have you
3

Run it for real

Anyone allowed to use it can now type:
Output:
Hello @wanderer! Welcome to the server.
4

Lock it down (optional)

Restrict who can run it before you announce it.
See Restrictions for the full model.

Management commands

All of these require Manage Server.
=> and -> work in place of --.
Running ;cc set on a name that already exists updates it in place and keeps a revision in the command’s history. Creating a brand new command counts against your tier limit.

Previewing

Preview renders the command exactly as it would appear — content, embeds, buttons, and dropdowns included — prefixed with a small preview of (name) note.
Safe sandbox. Preview also skips every output directive — nothing is deleted, redirected, DM’d, reacted to, or rate-limited, and the note tells you which directives it skipped. Preview runs the template engine only. It does not ban, kick, warn, timeout, change roles, or read/write stored data. Action tags are left inert.
Paginated scripts. If the script uses {page}, preview shows page 1 only and tells you which page you’re seeing out of how many. Navigation buttons need a real invocation, because the page set is registered against the sent message. Run the command normally to page through it.
Missing a required argument in your sample input fails the preview the same way a real invocation would, which makes it a quick way to confirm your argument schema is right.