Skip to main content
Output directives change how a custom command delivers its response. Write them anywhere in the script — they are stripped from the message before it is sent.
Directives are read from the saved script, before any variable is substituted. That means they cannot be injected by whoever runs the command. {variable} placeholders will not resolve inside directive values — but (arg) references to the command’s own arguments will, e.g. {dm: (target)}.

Directives

Deletes the invoking message once the command has run. slug needs Manage Messages; if it can’t delete, the rest of the command still works.
Directives combine freely:

Message extras

These are ordinary script tags rather than directives, but they shape the delivered message.
Role tags apply to the invoker, so any member who can run the command can self-assign that role. Roles above slug and roles carrying Administrator are refused. Gate the command with restrictions if that isn’t what you want.

Interaction with pages

A script that uses both {page} and a redirect still paginates, as long as the destination is a normal server channel. With {dm} or {silent}, only page 1 is delivered and no navigation is attached, because the page set has to be registered against a message in a guild.