Skip to main content
Guides
GuidesCommand CreatorBasics

Building Discord Commands With Real Branching

The Advanced Builder is a visual flow editor with actual conditions. What it can do, when it is worth leaving the simple mode, and why Discord counts your saves.

Published on by AlphaCloud3 min read

A custom slash command is quick to build: enter a name, enter a reply, done. That covers /rules and /discord, and for most servers it is all they ever need.

It gets interesting where the reply should not always be the same.

When the simple mode runs out

Three examples where the simple mode ends:

  • The command should reply differently depending on whether the person is a booster
  • The command should have buttons, and each button should do something different
  • The command should pick one of several replies at random

All three are what the Advanced Builder is for, a visual flow editor. Instead of one fixed reply you build a flow from blocks you connect.

Branching

At its core are conditions with two outputs, Then and Else. You can check:

  • Is server booster
  • Has permission, meaning Administrator, Manage Server, Manage Messages, Timeout Members or Manage Roles
  • Parameter equals value, particularly strong together with predefined choices

The last one is easy to overlook. You can give your command parameters, including a fixed list of choices, and then branch on the selected option. That effectively turns one command with three choices into one command with three different replies, without creating three commands.

Button flows

Every button in your reply gets its own output in the editor. What happens after the click is built from there.

This lets you build small guided flows: a question with three buttons, each leading into its own branch. That is considerably nicer than three separate commands nobody remembers.

Three actions that exist only here

Wait. A pause between two steps, 1 to 300 seconds. It sounds like a gimmick, but it is what makes a flow feel like a conversation instead of a wall of text.

Random reply. Picks one of up to 10 messages. A magic eight ball style command is two minutes of work with it.

Set nickname. With variables, and leaving it empty resets.

Variables

Beyond the obvious ones there are {channel}, {channel.name}, {server.members} and {random.X-Y} for a random number in a range. The last one together with random reply is the kit for almost any small fun command.

Why Discord counts your saves

One point that shows up nowhere else and explains why saving sometimes feels delayed: Discord only allows a limited number of newly created commands per server per day.

Heavy editing would burn through that quota without a countermeasure. So several saves in quick succession are bundled into a single registration, rather than knocking on Discord's door for every click.

The practical consequence: building everything calmly and then saving beats saving after every small step. If something does get stuck, the panel has a re-register button, with a five minute cooldown per server.

When an automation fits better

The difference in one sentence: a command is invoked by somebody, an automation runs on its own.

If your flow should start on a schedule or hang off an event like a join, it belongs in Automations rather than the Command Creator. The other way round: as soon as you need conditions or buttons, the Advanced Builder is right, because automations deliberately have no branching.

Everything about the editor is in the Command Creator documentation.

More articles