Passa al contenuto principale

Custom Commands

Create your own commands, button interactions, modals, and message-based automations — all from the SCNX Dashboard, without writing any code.

Included in these plans

Included in the Starter-Plan (free for ever)
Up to 10 simultaneously enabled custom commands.
Included in the Unlimited-Plan (4,99 € / mese)
Unlimited custom commands.
Included in the Professional Plan (7,99 € / mese)
Unlimited custom commands.
Final prices depend on your currency and payment interval and will be displayed before purchase.

Overview

Custom Commands let you build your own bot interactions using a visual flow editor. Each custom command consists of:

  • A trigger — what causes the command to run (a slash command, button click, message, modal submission, or manual execution from another command).
  • One or more action blocks — groups of actions that execute when the trigger fires.
  • Actions — the individual things the bot does (reply, send a message, manage roles, show a modal, and more).
  • Optional permissions — restrict who can use the command by requiring specific roles.

Setup

  1. Open the Custom Commands page on your SCNX Dashboard.
  2. Make sure your bot is online and running.
  3. Click "Create new Custom Command" to get started.

Triggers

Each custom command needs a trigger that determines when it runs. The following trigger types are available:

Slash Command

The command runs when a user executes a slash command (e.g. /mycommand).

  • Slash Command name — The name shown in Discord. Must be lowercase, no special characters (except -).
  • Description — Shown below the command name in Discord's command menu.
  • Options — Add up to 25 parameters that users can fill in when running the command. Supported types: Text, Integer, Number, True/False, User, Channel, Role, and Attachment.
  • For text options, you can optionally limit values to a predefined list of up to 25 choices.
warning

Discord allows a maximum of 100 server slash commands. Custom commands and module commands both count toward this limit. Your bot will encounter issues if this limit is exceeded.

informazioni

Slash command permissions are managed in your Discord server settings (Server Settings → Integrations → Bots & Apps), not in the SCNX Dashboard. See the Slash Commands & Permissions guide for details. It may take up to 24 hours for new commands to appear in Discord. The command must be enabled first.

Button or Select Menu Click

The command runs when a user clicks a button or selects an option from a select menu attached to a message.

To send a message with a button or select menu:

  1. Use the Bot Log-In feature to send a message.
  2. In the message editor, add a Custom Command Button or Custom Command Select Menu Element and link it to this custom command.
  3. You can also attach buttons to messages sent by other custom commands or module configurations.

Message

The command runs when a user sends a message that matches a configured pattern. Match types:

Match typeDescription
Starts withMessage starts with the configured text
ContainsMessage contains the configured text anywhere
Ends withMessage ends with the configured text
EqualsMessage exactly matches the configured text
Every messageTriggers on every message sent (use with caution)

Additional options:

  • Ignore casing — Match regardless of uppercase/lowercase.
  • Limit to channels — Only trigger in specific channels or channel categories.

Modal

The command runs when a user submits a modal (form/dialog). Modals are shown using the "Show modal" action in another custom command.

  • Configure the modal's title and input fields (text inputs with short or paragraph style).
  • User answers are available as parameters (%answer1%, %answer2%, etc.) in the command's actions.

None (manual execution)

The command can only be executed by another custom command using the "Execute Command" action. Useful for creating reusable logic.

Action blocks

Actions are organized into action blocks. When a command triggers, it executes action blocks in one of two modes:

  • All — Execute all action blocks sequentially.
  • One (randomly) — Execute one randomly selected action block. Useful for random responses.

Each action block contains one or more actions. You can add multiple action blocks to a single command.

Actions

Actions are the individual operations your bot performs. The following actions are available:

ActionDescription
Reply to message or interactionReply to the triggering message or interaction. Supports ephemeral replies (only visible to the user) for slash commands and button clicks.
Send message in channelSend a message in any channel on the server. Optionally pin the message.
Edit the interaction messageEdit the message a button is attached to (button triggers only).
Send DM to userSend a direct message to the executing user or a mentioned user. Skipped silently if the user has DMs disabled.
Delete matched messageDelete the message that triggered the command (message triggers only).
Change nicknameChange the nickname of a user. Leave blank to reset.
Manage rolesAdd, remove, or toggle roles on a user.
React to matched messageAdd emoji reactions to the triggering message.
Show a modalDisplay a modal to the user. The modal must be configured as a separate custom command with a Modal trigger. Only one modal can be shown per interaction.
informazioni

Some actions are only available for certain trigger types. For example, "Show a modal" only works with interaction-based triggers (slash commands, buttons). Unsupported actions are silently skipped.

Parameters

Custom commands support dynamic parameters that get replaced with actual values when the command runs. You can use parameters in any text field within your actions.

Built-in parameters

These parameters are always available:

ParameterDescription
%userID%ID of the user who triggered the command
%userTag%Tag of the executing user
%userUsername%Username of the executing user
%userNickname%Server nickname of the executing user
%userAvatarURL%Avatar URL of the executing user
%userCreatedAt%Timestamp when the executing user's account was created
%channelID%ID of the channel the command was executed in
%content%Content of the matched message (message triggers only)

Slash command option parameters

When using a slash command trigger with options, additional parameters become available depending on the option type:

  • User options%userID-optionname%, %userTag-optionname%, %userName-optionname%, %userAvatarURL-optionname%
  • Role options%roleName-optionname%, %roleColor-optionname%, %roleID-optionname%, %rolePosition-optionname%
  • Channel options%channelName-optionname%, %channelID-optionname%, %channelType-optionname%, %channelParentName-optionname%, %channelParentID-optionname%
  • Attachment options%attachmentURL-optionname%
  • Text, Number, Integer, Boolean options%value-optionname%

When using a modal trigger, user answers are available as %answer1%, %answer2%, etc., corresponding to the order of input fields in the modal.

Global parameters

Global parameters (like %botName%, %guildName%, timestamps) are also available in all custom command text fields.

Permissions

You can restrict who can use a custom command by enabling role requirements:

  1. Open your custom command and find the "Command permissions" section.
  2. Enable "Require roles".
  3. Add the roles that should be allowed to use the command.
  4. Optionally customize the "Missing role message" — the message shown when a user without the required roles tries to use the command.

Users without any of the configured roles will see the missing role message instead of the command executing.

Managing custom commands

Enabling and disabling

Each custom command can be individually enabled or disabled. A disabled command won't respond to any triggers. To enable a command, it must have a valid trigger configured and all required fields filled in.

Sharing

You can share a custom command with others by creating a unique sharing link:

  1. Open the custom command you want to share.
  2. Click "Create sharing link".
  3. Copy the generated URL.

The link contains a snapshot of the command at the time of sharing — future changes won't be synced.

attenzione

Shared custom commands may contain actions that could be harmful. Only import commands from sources you trust.

Importing

To import a shared custom command:

  1. Open the sharing link.
  2. Select the server to import it into.
  3. Review the command and confirm the import.
  4. Important: Roles and channels referenced in the imported command need to be manually updated after import.
  5. Don't forget to save your changes.

Deleting

You can delete individual custom commands or all custom commands at once from the command list. Deletion cannot be undone.

Plan limits

The number of simultaneously enabled custom commands depends on your SCNX plan:

PlanEnabled custom commands
StarterUp to 10
Professional / UnlimitedUnlimited

You can always create more commands than your limit allows, but only the allowed number can be enabled at the same time. Disabled commands are saved and can be enabled later if you upgrade or disable other commands.

Troubleshooting

My slash command doesn't show up in Discord
  • Make sure the command is enabled.
  • It may take up to 24 hours for new slash commands to appear in Discord.
  • Check that the slash command name is valid (lowercase, no special characters except -).
  • Verify you haven't exceeded the 100 server slash command limit.
  • Try restarting your bot.
My command can't be enabled
  • Make sure a trigger is configured.
  • Check that all required fields are filled in (the error message will tell you which fields are missing).
  • Verify you haven't reached your plan's limit of simultaneously enabled commands.
My button / select menu command doesn't work
  • Make sure you attached the button or select menu element to a message using the message editor and linked it to the correct custom command.
  • Verify the custom command is enabled.
  • Check that the bot has the necessary permissions in the channel.
Parameters show up as raw text (e.g. %userID%)
  • Make sure you're using the correct parameter syntax with % on both sides.
  • Verify the parameter is available for your trigger type (e.g., %content% only works with message triggers).
  • Check for typos in the parameter name.
"Show modal" action isn't working
  • Modals can only be shown from interaction-based triggers (slash commands, buttons). They can't be shown from message triggers.
  • Only one modal can be shown per interaction — if another action already showed a modal, subsequent ones will be skipped.
  • A modal can't be shown from another modal submission (Discord limitation).
  • Make sure you created a separate custom command with a Modal trigger and selected it in the "Show modal" action.
Role management action doesn't work
  • The bot's highest role must be above the roles it's trying to add, remove, or toggle.
  • Make sure the bot has the Manage Roles permission.
  • Verify the user parameter is set correctly — if no user is specified, the action is silently skipped.