Actions
56 actions blocks, generated from the live catalogue.
Actions make the bot do something. They run in order along a branch; if one fails (missing permission, deleted channel…) the run stops there and the error is shown on the workflow in the editor.
Note
This page is generated from the bot's block catalogue — 56 blocks at the time of this build.
Send message with buttons
action.sendButtons — Post a message with up to 25 buttons. Clicks fire the “Button clicked” trigger in this workflow (link buttons just open their URL).
Needs: a channel — or pick a channel in the block settings. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | no | Leave empty to use the channel the event happened in. |
| Message | text (≤ 2000), supports variables | no | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
| Embed title (optional) | text (≤ 256), supports variables | no | |
| Embed description (optional) | text (≤ 4000), supports variables | no | |
| Embed colour (hex) | text (≤ 7) | no | #5865F2 |
| Buttons | button list (label, style, emoji, id or URL) | yes |
Reply with buttons
action.replyButtons — Reply to the triggering message with text and buttons.
Needs: a message. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Reply | text (≤ 2000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
| Buttons | button list (label, style, emoji, id or URL) | yes |
Reply privately (only they see it)
action.replyPrivate — After a button click, answer the clicker with an ephemeral message nobody else sees. Must be the first reply to that click.
Needs: a button click. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Message | text (≤ 2000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
Disable the clicked message's buttons
action.disableButtons — Greys out every button on the message that was clicked — for one-shot menus and “claim” buttons.
Needs: a button click. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Edit the clicked message
action.editMessage — Replace the text of the message whose button was clicked (buttons are kept unless you also disable them).
Needs: a button click. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| New text | text (≤ 2000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
Send message
action.sendMessage — Post a message to a channel.
Needs: a channel — or pick a channel in the block settings. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | no | Leave empty to use the channel the event happened in. |
| Message | text (≤ 2000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
Send embed
action.sendEmbed — Post a rich embed card to a channel.
Needs: a channel — or pick a channel in the block settings. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | no | Leave empty to use the event channel. |
| Title | text (≤ 256), supports variables | no | |
| Description | text (≤ 4000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
| Colour (hex) | text (≤ 7) | no | #5865F2 |
| Image URL | text (≤ 500) | no | https://… |
| Footer | text (≤ 256), supports variables | no |
Reply to message
action.reply — Reply to the message that triggered the workflow.
Needs: a message. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Reply | text (≤ 2000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
Send DM
action.sendDm — Send a direct message to the user. Silently skipped if their DMs are closed.
Needs: a user. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Message | text (≤ 2000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
Add reaction
action.addReaction — React to the triggering message.
Needs: a message. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Emoji | text (≤ 64) | yes | 👍 or <:name:id> |
Clear reactions
action.clearReactions — Remove every reaction from the triggering message.
Needs: a message. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Delete message
action.deleteMessage — Delete the triggering message.
Needs: a message. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Pin / unpin message
action.pinMessage — Pin or unpin the triggering message in its channel.
Needs: a message. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Action | one of: pin, unpin | yes |
Create thread
action.createThread — Start a thread on the triggering message.
Needs: a message. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Thread name | text (≤ 100), supports variables | yes | |
| Auto-archive after | one of: 60, 1440, 4320, 10080 | no |
Write to log channel
action.logMessage — Post a note to the channel configured in the Logging module.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Note | text (≤ 2000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
Add role
action.addRole — Give the member a role.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Role | role | yes |
Remove role
action.removeRole — Take a role away from the member.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Role | role | yes |
Set nickname
action.setNickname — Change the member's server nickname. Leave empty to reset it.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Nickname | text (≤ 32), supports variables | no | e.g. 🌟 {user.name} |
Warn member
action.warn — DM the member a warning and record a WARN moderation case.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Reason | text (≤ 200), supports variables | yes |
Timeout member
action.timeout — Put the member in timeout. Logged as a moderation case.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Duration (minutes) | number (1–40320) | yes | |
| Reason | text (≤ 200), supports variables | no |
Remove timeout
action.removeTimeout — Lift an active timeout from the member.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Kick member
action.kick — Kick the member from the server. Logged as a moderation case.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Reason | text (≤ 200), supports variables | no |
Ban member
action.ban — Ban the member. Logged as a moderation case.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Reason | text (≤ 200), supports variables | no | |
| Delete message history (days) | number (0–7) | no |
Move to voice channel
action.moveVoice — Move the member to another voice channel (they must be in voice).
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Target voice channel | voice channel | yes |
Disconnect from voice
action.disconnectVoice — Kick the member out of their voice channel.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Server mute / unmute
action.voiceMute — Toggle the member's server-side voice mute.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Action | one of: mute, unmute | yes |
Set slowmode
action.setSlowmode — Set the per-user message cooldown on a channel (0 disables).
Needs: a channel — or pick a channel in the block settings. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | no | Leave empty to use the event channel. |
| Seconds (0–21600) | number (0–21600) | yes |
Lock / unlock channel
action.lockChannel — Deny or restore @everyone's permission to send messages.
Needs: a channel — or pick a channel in the block settings. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | no | Leave empty to use the event channel. |
| Action | one of: lock, unlock | yes |
Rename channel
action.renameChannel — Rename a channel. Discord allows 2 renames per channel per 10 minutes.
Needs: a channel — or pick a channel in the block settings. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | no | Leave empty to use the event channel. |
| New name | text (≤ 100), supports variables | yes |
Give coins
action.giveCoins — Add (or subtract) economy currency to the user's wallet.
Needs: a user. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Amount | number (-1000000–1000000) | yes |
Give XP
action.giveXp — Grant levelling XP to the user.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| XP amount | number (1–100000) | yes |
Reply with embed
action.replyEmbed — Reply to the triggering message with a rich embed.
Needs: a message. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Title | text (≤ 256), supports variables | no | |
| Description | text (≤ 4000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
| Colour (hex) | text (≤ 7) | no | #5865F2 |
DM an embed
action.dmEmbed — Send the user a rich embed by direct message.
Needs: a user. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Title | text (≤ 256), supports variables | no | |
| Description | text (≤ 4000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
| Colour (hex) | text (≤ 7) | no | #5865F2 |
Send temporary message
action.tempMessage — Post a message that deletes itself after a few seconds.
Needs: a channel — or pick a channel in the block settings. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | no | Leave empty to use the event channel. |
| Message | text (≤ 2000), supports variables | yes | Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
| Delete after (seconds) | number (3–300) | yes |
Send random line
action.sendRandom — Pick one line at random from the list and post it.
Needs: a channel — or pick a channel in the block settings. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | no | Leave empty to use the event channel. |
| Lines (one per line) | text (≤ 4000), supports variables | yes | Each line is a separate option. Supports variables like {user}, {user.name}, {guild.name}, {channel}, {message.content}. |
Remove user's reaction
action.removeReaction — Remove the triggering reaction (reaction triggers only).
Needs: a reaction. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Publish announcement
action.publish — Crosspost the triggering message in an announcement channel to followers.
Needs: a message. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Archive / lock thread
action.archiveThread — Archive (and optionally lock) the thread the event happened in.
Needs: a channel. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Also lock | yes / no | no |
Set channel topic
action.setTopic — Change a text channel's topic.
Needs: a channel — or pick a channel in the block settings. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | no | Leave empty to use the event channel. |
| Topic | text (≤ 1024), supports variables | yes |
Show typing…
action.typing — Show the “bot is typing” indicator for a moment — makes replies feel natural.
Needs: a channel. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Toggle role
action.toggleRole — Add the role if the member lacks it, remove it if they have it.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Role | role | yes |
Swap roles
action.swapRole — Remove one role and add another in a single step (e.g. Newcomer → Member).
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Remove | role | yes | |
| Add | role | yes |
Unban user
action.unban — Lift a ban. Use with the “Member banned” trigger for temp-bans, or with a specific user ID.
| Setting | Type | Required | Notes |
|---|---|---|---|
| User ID | user ID | no | Leave empty to unban the user from the trigger. |
Server deafen / undeafen
action.voiceDeafen — Toggle the member's server-side deafen in voice.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Action | one of: deafen, undeafen | yes |
Take coins
action.takeCoins — Remove coins from the wallet (never below zero).
Needs: a user. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Amount | number (1–1000000) | yes |
Set level
action.setLevel — Set the member's level directly (XP is adjusted to match).
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Level | number (0–1000) | yes |
Reset XP
action.resetXp — Reset the member's XP and level to zero.
Needs: a user. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Start giveaway
action.startGiveaway — Create and post a giveaway via the Giveaways module.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | yes | |
| Prize | text (≤ 200), supports variables | yes | |
| Duration (minutes) | number (1–43200) | yes | |
| Winners | number (1–20) | no |
Open ticket for user
action.openTicket — Open a support ticket for the user using the first ticket panel's settings.
Needs: a server member. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Close this ticket
action.closeTicket — If the event happened inside a ticket channel, close and archive it.
Needs: a channel. If an upstream trigger cannot supply it, the editor flags the block in red and refuses to save.
No settings.
Refresh stats channels
action.refreshStats — Force the Stats module to update member-count channels now.
No settings.
Enable / disable command
action.toggleCommand — Turn one of the bot's slash commands on or off for this server.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Command name | text (≤ 32) | yes | e.g. gamble |
| Enabled | yes / no | no |
Pause / resume module
action.toggleModule — Pause or resume Economy, Levels or Starboard for this server.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Module | one of: economy, levels, starboard | yes | |
| Enabled | yes / no | no |
Notify bot owner
action.systemLog — Send a note to the bot's own system channel (the __logs-systems webhook).
| Setting | Type | Required | Notes |
|---|---|---|---|
| Note | text (≤ 1000), supports variables | yes |
Wait
action.wait — Pause before continuing (max 60 seconds).
| Setting | Type | Required | Notes |
|---|---|---|---|
| Seconds | number (1–60) | yes |
Stop
action.stop — End this branch of the workflow here.
Outputs: none — this block ends the branch.
No settings.
