Command Builder

Build your own commands and events from connected blocks, with no code.

What this is

The command builder is a section of its own where you build your commands and events on a canvas, by dragging blocks and connecting them. Each block is one step: the trigger starts the flow, a condition splits it into two paths, and an action does something real. The bot walks the wire from the trigger to the last connected block, and runs only what you actually connected. What you have to work with: 50 blocks across eight groups, seven conditions, plus the trigger block and the option block.

The three pages

The command trigger and all its options

The event trigger: twelve events

Event filters

The timed event

Options: command inputs

An option is a block you attach to the trigger to collect an input from the member. There are eight kinds: text, number, yes or no, member, channel, role, choice, and attachment. Each option has a key you read its value with later by writing {option_key}, a label shown inside Discord, and a Required switch. The choice kind takes a list of preset choices you write yourself, and the number kind takes a minimum and a maximum. In slash the options appear as separate fields; in prefix they fill positionally, with the last text field swallowing the rest of the line.

The seven conditions

The fourteen comparison operators

Message actions

Role actions

Channel actions

Voice actions

Moderation actions

Bot system actions

These actions call your real bot systems, so what they do shows up in the logs and leaderboards and escalates like any manual action:

The system action list

Logic and flow actions

Forms: ten field kinds

The open-a-form action shows a popup input with a title and fields. The ten kinds: text, select menu, radio group, checkbox group, single checkbox, member picker, role picker, channel picker, member or role, and file upload. Discord has no slider, so for a bounded numeric answer the alternative is a radio of preset steps, or a number field you validate with a following comparison block. A form has two paths on the canvas: on submit, and on cancel or timeout, so you answer each case. Form answers are read by writing {form_fieldKey}.

Every button becomes a branch

When a message block sends buttons or a menu, the block grows extra ports on the canvas, one per button, each captioned with its label. You drag from the Yes port to whatever should happen when it is clicked, and from No to another path. That is how you build a whole chain: button, then form, then condition, then a right or wrong reply. Only a link button gets no port, because it opens a URL and never comes back.

Tokens: values inside text

The editor

Compatibility checks and colour marks

Limits and specs

The run log

Every run is recorded: the flow, who ran it, and the outcome. A failing action is logged and does not stop the rest of the command, and a run that stops for exceeding a limit is logged with the reason it stopped. The commands page also shows, per command, how many times it ran and when it last ran.

Tips

The command builder gives you what other bots only give you with a developer: commands that exist for your server alone. You open a blank canvas, drop the trigger block, connect what should happen after it, and save. The command is live in Discord right away, as a slash command with proper fields, a plain prefix command, or both.

A flow walks one wire from the trigger to the last connected block. A block you do not connect never runs, and a condition splits the wire into two paths where you build a different answer on each. Buttons and menus sent by a message block open extra ports on that same block, one per button, so you keep building past the click: a form that collects answers, a condition that checks them, then a final reply. The result is a complete experience inside a single message.

Events are the same idea with nobody typing a command: the flow runs on its own when a member joins, a message arrives, a reaction lands, someone moves in voice, or simply on a schedule you set. Filters narrow it to certain channels, roles, or a given word, so the flow only fires where it belongs.

Whatever a block produces stays available inside the same run: the last action result reads back as {result}, form answers as {form_key}, and command inputs as {option_key}, so a reply builds on what the flow already collected with no setup beforehand. And the bot system actions wire your flows into the rest of the product: currency, XP, warnings, jail, and game points all call the real systems, so they show up in logs and leaderboards.