Skip to content

How to Set Up Custom Commands and Auto-Replies on Discord

Stop typing answers to frequently asked questions manually: set up custom commands triggered by mentioning the bot from the dashboard, pick the right match type, personalize the reply with variables, and configure channel, role, and cooldown limits.

VeyroBot team

This article was translated automatically from the Turkish original. Read the Turkish original

How to Set Up Custom Commands and Auto-Replies on Discord
In this article
  1. Module, bot mention and channel permission
  2. Step 1: Choose the trigger and match type
  3. Step 2: Write the response and save
  4. Step 3: Channel, role, and cooldown
  5. If a message matches multiple commands
  6. If a command replies too often or not at all
  7. If you need a command that takes options
  8. Frequently asked questions

In short

A custom command is a rule that gives a ready-made response to a message tagging the bot. When a member types @VeyroBot rules, VeyroBot sends the text or embed card you defined in the dashboard. Commands are added from the Custom Commands tab in the dashboard. They do not create a slash command on Discord and there are no prefix text commands (like !rules).

First, we will set up the trigger and match type, then the response, and finally the channel, role, and cooldown limits.

Module, bot mention and channel permission

  • The module must be enabled. If the Module status switch at the top of the Custom Commands tab is turned off, no custom commands will reply.
  • The message must start with the bot mention. @VeyroBot rules works, rules @VeyroBot does not. Messages without the mention at the start will not trigger any custom commands.
  • The bot must be able to write in the channel. The bot must have permission to view the channel and send messages; if you are using an embed card, grant the embed links permission as well. If the bot cannot write, the reply won't go through and no error message will appear in the channel.
  • Your questions should be clear. Note down a few answers that staff repeat most often: server IP, rule summary, application steps, etc. Custom commands are most effective at reducing these repetitions.

This topic in VeyroBot:Discord Custom Commands & Auto-Responder →

Step 1: Choose the trigger and match type

The trigger is the word or short phrase searched for after the mention and can be up to 100 characters. Comparisons are case-insensitive. Symbols like !, ., ?, -, and $ at the beginning of the trigger and message are ignored. Therefore, a trigger previously saved as !rules will also work with @VeyroBot rules.

Exact MatchThe text after the mention must be the exact trigger itself. @VeyroBot rules gets a reply, while @VeyroBot where are the rules does not. This is the correct choice for most commands.
ContainsIf the trigger appears anywhere in the text, you get a reply: the "ip" trigger responds to @VeyroBot what is the server ip address. Word boundaries are not checked; a sentence containing "tip" or "iptal" will also trigger this command.
Starts WithThe text must start with the trigger: @VeyroBot rules please gets a reply. The beginning is also searched letter by letter; the "ip" trigger will also respond to text starting with "iptal".

Step 2: Write the response and save

  1. Open the Dashboard → your server → Custom Commands tab.
  2. Fill in the Trigger field and select the Match Type.
  3. Select either Plain Text Message or Rich Embed Card as the Response Type.
  4. Fill in the Bot Response field and click Add Custom Command. The command works the moment you save it.

Plain text responses can be up to 2,000 characters, and embed responses can be up to 4,096 characters. On an embed card added from the dashboard, the title is the trigger word; the response you write goes into the card's description. If the embed card cannot be sent, VeyroBot sends the same response as plain text.

The following variables are replaced with their real values in the response:

  • {user}: mention of the member who wrote the command
  • {username}: the member's display name in the server
  • {server}: the name of the server
  • {memberCount}: the member count of the server
  • {channel}: the channel where the command was written

Example response: Hello {user}, {server} currently has {memberCount} members. @everyone, @here, and role mentions in the response will not notify anyone; only user mentions generate notifications. An abused response will not turn into a mass ping.

Step 3: Channel, role, and cooldown

  • Allowed Roles: If selected, only members with one of these roles can trigger the command. If none are selected, anyone can use it.
  • Allowed Channels: If selected, the command only works in these text channels. If left blank, it works in every channel.
  • Cooldown (Seconds): The same member cannot re-trigger the command before this duration expires. The duration can be set between 0 and 86,400 seconds (24 hours); 0 means disabled. The cooldown is counted separately for each command and each member. During the cooldown, the bot does not reply at all and does not send a "wait" message.

Role and channel lists can each hold a maximum of 25 entries. A maximum of 100 custom commands can be defined per server, and the same trigger cannot be added twice.

If a message matches multiple commands

At most one command responds to each message. Commands are tested in the order they appear in the Saved Custom Commands list in the dashboard (starting from the most recently added), and the first matching command replies. Commands that hit a channel or role limit are skipped, and the next one is tried. Conflicts mostly occur with short triggers of the Contains type.

If a command replies too often or not at all

  • Using a short trigger with "Contains". A two-letter trigger like "ip" will respond to almost any mentioned message containing those letters. Choose Exact Match for short triggers.
  • Typyping the trigger incorrectly. A mentioned message that matches no command goes to the AI assistant. If the assistant is enabled, it answers the question; if it is disabled or bound to another channel, VeyroBot sends a short message stating this. The same happens for messages hitting role or channel limits.
  • Typing variables incorrectly. Variables are case-sensitive: {memberCount} works, but {membercount} will be sent as-is.
  • Testing in a thread. If you selected allowed channels, the command will not work in threads and forum posts under that channel; threads are counted as separate channels.
  • Trying to edit a saved command. There is no editing feature in the dashboard. To change it, delete the command and re-add it; deletion cannot be undone, so copy the response text first.

If you need a command that takes options

Suitable for: servers where the same questions are asked frequently. It ties answers like game server IPs, rule summaries, application steps, or event times to a single mention. If your rule text is not ready yet, check out the server rules guide first.

Not suitable for: commands that take input from users or need to appear in the slash menu. Custom commands give a single ready-made response and do not accept options. For one-time announcements where you determine the title, color, and visual yourself, the method in the embed message guide is more appropriate.

Frequently asked questions

Do custom commands appear in the slash menu?

No. Custom commands respond to messages tagging the bot; they do not create a new slash command on Discord.

Can I add an image or a different title to the embed card?

Only the response text is entered in the Custom Commands tab; the card's title becomes the trigger word. If you want to choose the title, color, and image yourself, send the message from the Message Builder tab in the dashboard.

What happens to cooldowns if the bot restarts?

Cooldowns are reset because they are kept in memory; anyone can use the command again immediately after the bot restarts. The commands themselves are saved and will not be deleted.

What should I check if I don't get a reply even though I mentioned the bot?

Check these in order: module switch, the mention being at the beginning of the message, match type, role and channel limits, cooldown, and the bot's permission to write in that channel.

For a general introduction to the feature, check the Discord custom commands bot page, and for a setup summary, check the custom commands documentation. The assistant that unmatched mentions go to is explained in the AI documentation and the AI bot guide; see the ai card for command details.

Last updated: September 26, 2026. The match types, variables, and limits in this article have been verified against the custom command engine and dashboard validation in the current version of VeyroBot.

Add the bot to your server Free · ~30s