Home Commands Terms & Privacy Add to Discord
🌐 Global Blocks Tags + SlashTags

embed

Global 🔗
Parameter:attribute or JSON
Payload:value
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: 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)}}

require

Global 🔗
Parameter:role / channel / user
Payload:error message
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.}

blacklist

Global 🔗
Parameter:role / channel / user
Payload:error message
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.}

cooldown

Global 🔗
Parameter:seconds (required)
Payload:rate-limited message
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.}

redirect

Global 🔗
Parameter:channel or dm
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}

command

Global 🔗
Aliases:cmd
Payload:command string (required)
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}

override

Global 🔗
Parameter:display name (optional)
Payload:avatar URL (optional)
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 Classic Tags

delete

Tags Only 🔗
Parameter:bool (optional, default true)
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

Tags Only 🔗
Aliases:silence
Parameter:bool (optional, default true)
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

Tags Only 🔗
Parameter:emoji (optional if payload given)
Payload:emoji (optional if param given)
Limit:up to 5 emojis
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

Tags Only 🔗
Parameter:emoji (optional if payload given)
Payload:emoji (optional if param given)
Limit:up to 5 emojis
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 Slash Commands

hide

SlashTags Only 🔗
Aliases:hidden
Parameter:bool (optional, default true)
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

SlashTags Only 🔗
Aliases:respond
Parameter:bool (optional, default true)
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

SlashTags Only 🔗
Aliases:#, //, /, Comment
Payload:any text (ignored)
Parameter:any value (ignored)
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

allowedmentions

Tags + SlashTags 🔗
Aliases:mentions
Parameter:role name / ID, or none
Payload:override (optional)
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 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}
🏷️ Tags behaviour Full support: override payload, specific role names or IDs, all via classmethod will_accept. Multiple roles are comma-separated.
⚡ SlashTags behaviour Same end-user behaviour. The override payload works identically. Roles are comma-separated.
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!