Parsing Blocks
Action blocks that control how and where your tag's response is delivered
🌐 Global Blocks
Tags + SlashTags
Sends the tag response as a rich Discord embed. You can either pass
a full JSON object or set individual attributes one at a time.
Manual attributes:
Fields are added in order. Pass
Manual attributes:
title,
description, color, url,
thumbnail, image, footer,
field, author Fields are added in order. Pass
true or
false as the third pipe-separated value in a field to
control whether it's inline.
{embed({"title":"Hello!","description":"Test embed"})}
{embed(title):My Title} {embed(description):Some text here}
{embed(color):#5865F2} {embed(field):Field Name|Field Value|false}
{embed(footer):Footer text|https://icon-url}
Examples
{embed(title):Welcome to {server(name)}!} {embed(description):We
now have {server(member_count)} members.} {embed(color):#5865F2}
{embed(thumbnail):{user(avatar)}} {embed(footer):Enjoy your
stay!|{server(icon)}}
Restricts tag execution. If the invoker does not have the required
role, is not in the specified channel, or is not the specified user,
the payload error message is returned and execution stops. You can
pass multiple values separated by commas — the user must satisfy at
least one.
{require(<role,channel,user>):<error message>}
Examples
{require(Moderator):You need the Moderator role to use this!}
{require(#staff-only):This can only be used in #staff-only.}
{require(Admin,Moderator):Admins and Moderators only.}
The inverse of
require. If the invoker has the
specified role, is in the specified channel, or matches the user —
execution stops and the error message is returned.
{blacklist(<role,channel,user>):<error message>}
Examples
{blacklist(Muted):You cannot use this while muted.}
{blacklist(#off-topic):This command is not allowed in
#off-topic.}
Limits how often a user can trigger this tag. If the tag is on
cooldown for that user, the payload is returned and execution stops.
Use
{cooldown} inside the payload to display the
remaining seconds.
{cooldown(<seconds>):<cooldown message>}
Examples
{cooldown(30):Slow down! Try again in {cooldown} seconds.}
{cooldown(3600):You can claim your daily reward once per hour.}
Sends the tag response to a different channel instead of the one the
tag was used in. Use
dm as the parameter to redirect
the response to the invoking user's direct messages. Alternatively,
use the shorthand {dm} block (see Blocks page).
{redirect(<#channel>)} {redirect(dm)}
Examples
{redirect(#mod-logs)} {user(mention)} used the modlog tag at
{strf:%H:%M}.
{redirect(dm)} Your secret token is: {range:10000-99999}
Runs a bot command as if the invoking user typed it. The bot
executes the command with the invoker's permissions. This can be
used to chain commands or automate moderation actions inside a tag.
{command:<command and arguments>}
Examples
{require(Moderator):No permission.} {command:ban {target} Banned
via tag by {user(name)}}
{command:warn {target(mention)} Spamming}
Overrides the display name and/or avatar URL of the webhook or bot
message. Useful for making responses appear from a custom persona.
{override(<name>):<avatar_url>}
Examples
{override(Server Bot):{server(icon)}} Welcome to the server!
🏷️ Tags Only
delete
🔗
Deletes the message that triggered the tag. With no parameter it
always deletes; pass a boolean expression to make it conditional.
Only one
{delete} block is processed per tag execution.
{delete} {delete([bool])}
Examples
{delete} You called the tag, but your message has been removed.
{delete({args(1)}==delete)} {if({args(1)}==delete):Message
deleted!|Nothing deleted.}
silent
🔗
Suppresses the tag's text response while still executing all other
actions (reactions, redirects, commands, etc.). Useful when you only
want side effects without any visible reply.
{silent} {silent([bool])}
Examples
{silent} {command:warn {target} Breaking rules} {react(✅)}
# Warns the target and reacts ✅ — no text response sent.
react
🔗
Adds up to 5 emoji reactions to the
tag's response message. Emojis can be unicode or
custom server emojis. Separate multiple emojis with
,.
Pass emojis via the parameter or the payload — not both.
{react(<emoji,emoji>)} {react:<emoji,emoji>}
Examples
{react(👍,👎)} What do you think?
{react(<:kappa:754146174843355146>)}
{react:🎉,✨,🔥}
reactu
🔗
Identical to
{react} but reacts to the
invoking message (the message that triggered the
tag) rather than the bot's response. Useful when the invoking
message should be acknowledged visually.
{reactu(<emoji,emoji>)} {reactu:<emoji,emoji>}
Examples
{reactu(✅)} {silent} {command:warn {target} Warned via tag}
# Reacts ✅ to the command invocation, silently warns target.
⚡ SlashTags Only
hide
🔗
Sends the slash tag response as an
ephemeral message — only visible to the user who
ran the command. With no parameter it always hides; pass a boolean
expression to make it conditional. Only one
{hide} block is processed per execution.
{hide} {hide([bool])}
Examples
{hide} Your secret command has been processed!
# Only the slash command user sees this reply.
{hidden({option}==private)} {if({option}==private):Private
response.|Public response.}
reply
🔗
Controls whether the bot replies directly to the triggering
interaction or just sends a new message. Defaults to
true (reply mode). Set to false to send a
standalone message instead. Only one {reply} block is
processed per execution.
{reply} {reply([bool])}
Examples
{reply} Here is your result, {user(name)}!
# Bot replies directly to the slash command interaction.
{respond(false)} Sending a fresh message instead.
comment
🔗
A no-op block — produces no output and is stripped from the final
response. Use it to add human-readable notes inside complex slash
tags without affecting what the bot sends.
{#:This is a comment — ignored at runtime} {comment(note):Document
your logic here} {//:Another comment style}
Examples
{#: Set up variables} {=(greeting):Hello} {#: Send the response}
{greeting}, {user(name)}!
# Hello, CoolUser!
{comment(author):Written by @admin, last updated June 2025}
{embed(title):Server Info} {embed(description):Members:
{server(member_count)}}
🔵 Available in Both
Tags + SlashTags
Controls which role mentions are permitted in the tag's response
message. By default, only users with
Manage Server permission can trigger role pings.
Using the
Only the first
override payload removes that restriction.
Only the first
{allowedmentions} block per execution is
processed.
{allowedmentions} → allow all role mentions
{allowedmentions:override} → allow all, anyone can trigger
{allowedmentions(@Admin,Moderator)} → specific roles only
{allowedmentions(763522…,812949…):override}
Examples
{allowedmentions} Hey @Admin, heads up!
# Allows the @Admin ping. Requires Manage Server unless override
is used.
{allowedmentions:override} @everyone rise up!
# Anyone can trigger this ping, no permission required.
{allowedmentions(@Mods,@Admin):override} Listen up @Mods and
@Admin!