Builder blocks: every action and condition
In the Builder, a command or an event is a chain of blocks. The first block starts the chain, then each block runs the next one through its dots. This page lists every block and its settings.
How blocks work
Each command or event has one start block: Command or Event. It cannot be deleted.
Drag a block from the left panel onto the canvas, or click it to add it under the selected block.
Link blocks by dragging a dot to another block. Then runs the next block, Yes and No come from conditions, and each button or menu has its own dot.
Right click a block to Duplicate or Delete it. You can also select it and press Delete.
Press Save (or Ctrl+S). The app gets your changes the next time the bot starts.
Start blocks
Block | What it does | Settings |
|---|---|---|
Command | Starts when someone uses the command. | Type (slash or text), name, description, who can use it, cooldown in seconds, and options for slash commands. |
Event | Starts when something happens on the server. | A member joins, a member leaves, a message contains a text, or a reaction is added. You can limit it to one channel, one emoji or one message. |
Text commands include the prefix in their name, like
!ping. Words after the command are in{option.1},{option.2}, and the whole text in{option.text}.
Actions: send messages
Block | What it does | Settings |
|---|---|---|
Send a reply | Answers the person who ran the command. | The message, and only the user sees it for slash commands and buttons. Text commands can send it without replying. |
Send containers | Sends rich messages with titles, text, images, buttons and menus. | Build them here, or pick a saved embed from the Embed Editor. Reply to the user or send to a channel. |
Send to a channel | Posts a message in any channel. | The channel (ID, mention or variable, empty for the current one), the message, and whether role and @everyone pings are allowed. |
Send a DM | Sends a private message. | To the user, a user option, or a user ID, and the message. |
Actions: messages, roles and flow
Block | What it does | Settings |
|---|---|---|
Add a reaction | Reacts with an emoji. | The emoji, and the message: the one that ran this, or any message by link or ID. |
Delete a message | Deletes a message. | The one that ran this, or any message by link or ID. |
Pin a message | Pins or unpins a message. | The message, and Unpin it instead. |
Add a role | Gives a role to a member. | The role (ID, mention or variable) and the member. |
Remove a role | Takes a role away from a member. | The role and the member. |
Wait | Pauses before the next block. | How long, in seconds or minutes (15 minutes max). |
Write in the logs | Writes a line in the bot logs of the app. | The line. Handy to check what a variable holds. |
Stop here | Ends the chain. Nothing runs after it. | No settings. |
Moderation
These blocks need the matching permission for your bot on the server, and your bot role must be above the member it acts on.
Block | What it does | Settings |
|---|---|---|
Kick a member | Removes a member from the server. | The member and a reason for the audit log. |
Ban a member | Bans a member. | The member, a reason, and how many days of their messages to delete (0, 1, 3 or 7). |
Timeout a member | Mutes a member for a while. | The member, the minutes (0 removes the timeout, 40,320 max) and a reason. |
Change a nickname | Renames a member on the server. | The member and the new nickname. Empty resets it. |
Delete many messages | Deletes the last messages of a channel. | How many (1 to 100) and the channel. Messages older than 14 days stay. |
Conditions
Conditions have two dots: Yes and No. Link each one to what should happen.
Block | What it does | Settings |
|---|---|---|
Has a permission | Checks a permission of the user. | The permission, like Manage Messages or Administrator. |
Has a role | Checks if a member has a role. | The role and the member. |
In a channel | Checks where the command was used. | One or more channel IDs or mentions. |
Is a user | Checks who used the command. | One or more user IDs or mentions. |
Compare | Compares two values. | Equal, not equal, contains, starts with, greater than, less than, or empty. |
Random chance | Goes to Yes some of the time. | The chance in percent. |
Variables
Variables keep a value. Read them anywhere with {var.NAME}. Each block lets you choose how long the value is kept: this run only, each user or the server.
Block | What it does | Settings |
|---|---|---|
Set a variable | Saves a value. | The name, the value, and how long it is kept. |
Change a number | Adds, subtracts, multiplies or divides a number. | Great for points and counters, like |
Random number | Picks a number between two values. | The variable, from, to. |
Random pick | Picks one line from a list. | The variable and the choices, one per line. |
Choosing a member, a message or a channel
Member: the user who ran the command, a user option of the command, or a user ID or variable like
{var.target}.Message: the message that ran this, or any message by its link (right click, Copy Message Link) or its ID.
Channel and role: an ID, a mention like
<#123>or<@&123>, or a variable.Emoji: a normal emoji like 🎉, or a server emoji written
<:name:id>.
Placeholders
Type these in any text. They are replaced when the block runs.
Placeholder | Becomes |
|---|---|
| A mention of the user |
| The name, ID and avatar link of the user |
| The server name, member count and ID |
| A mention of the channel and its ID |
| The value of a command option |
| The value picked in a select menu |
| A variable you set |
| The message that ran this |
| The emoji of a reaction event |
| The date and time now (UTC) |
Missing a block you need? Tell us on our Discord server.
