Plugins

Custom Commands

Premium
Your own !commands with text or embed responses, placeholders and per-command activation.

Define your own prefixed commands. A member types !rules, Cloudy answers with whatever you configured — plain text or a full embed.

LicensePremium
Prefix!
NeedsMessage Content intent, Send Messages

Fields

Command name

1–32 characters · required

What comes after the !. Lowercase letters, digits, dash and underscore only. discord-rules is valid; Discord Rules is not.

Names are unique per server.

Description

Up to 200 characters · optional

What the command is for. Shown in the audit log and in the dashboard list — it is documentation for your staff, not something members see.

Response type

text or embed · default text

TypeResultLength limit
TextA plain message2000 characters — Discord's message limit
EmbedA structured card4096 characters in the description
Switching an existing 3000-character embed response to text mode is rejected on save, because the bot could not send it. Trim it first.

Response content

1–4096 characters (2000 in text mode) · required

The answer itself. Supports Markdown and these placeholders:

PlaceholderBecomes
{user}A mention of whoever ran the command
{userMention}The same mention
{server}Server name
{memberCount}Current member count

Embed title

Up to 256 characters · optional

Bold header above the content. Embed mode only.

Embed colour

Hex #rrggbb · optional

Left rim of the card. Empty inherits the server embed colour.

For anything more elaborate — images, fields, footer — use the full embed builder, which is available per command.

Active

Default true

Off means the bot ignores the command but the definition is kept. Better than deleting when you only want to retire something temporarily.

What custom commands are good for

  • Canned answers. !ip, !rules, !socials, !support — anything staff types more than twice a week.
  • Onboarding. !start pointing at the channels a newcomer should read.
  • In-jokes. Cheap, harmless, and the reason most servers enable this plugin.

What they are not good for: anything conditional. A custom command always answers the same thing to everyone. If you need "only for role X" or "only in channel Y", use Automations triggered on a sent message instead.

Behaviour notes

  • The prefix is ! and is not configurable.
  • Commands are per server; names cannot collide with each other but may shadow another bot's ! commands — pick names that are unlikely to clash.
  • The plugin needs the Message Content intent to see what members type. Without it, nothing responds.
  • Changes apply immediately; there is no registration delay because these are not Discord slash commands.