Home Commands Terms & Privacy Add to Discord

Creating Tags Tags

Classic Tags are triggered by a prefix followed by the tag name. Create them with the tag command.

Create a Tag

[p]tag create <name> <content>

Creates a new tag with the given name. The content supports the full TagScript language.

Edit a Tag

[p]tag edit <name> <new content>

Replaces the content of an existing tag you own.

Delete a Tag

[p]tag delete <name>

List All Tags

[p]tag list

Tag Info

[p]tag info <name>

Shows the tag's author, creation date, and use count.

Debug / Test

[p]tag debug <name>

Runs the tag and shows parsed output and any errors — useful before deploying.

Tag Management Tags

Ownership

  • Tags are owned by the user who creates them.
  • Server administrators can edit or delete any tag.
  • Tag owners can transfer their tag to another member.

Transfer Ownership

[p]tag transfer <name> <@user>

Create an Alias

[p]tag alias <new_name> <existing_tag>

Creates an alternative name that points to an existing tag's content.

Permissions Tags

Default permissions

  • Create: Any member (can be restricted server-wide)
  • Edit own tag: Tag owner
  • Edit any tag: Server administrators
  • Delete: Tag owner or server administrators

In-content restrictions

Restrict who can run a tag from within the tag itself using require and blacklist:

{require(Moderator):Only moderators can use this tag!}
{blacklist(Muted):You cannot use this while muted.}

Limits Tags

  • Tag name: 1–50 characters
  • Tag content: Up to 2,000 characters
  • Embed description: Up to 4,096 characters
  • Embed fields: Maximum 25 per embed
  • Total embed length: Maximum 6,000 characters
  • Tags per server: Unlimited (subject to database limits)

Troubleshooting Tags

Tag not working?

  • Run [p]tag debug <name> to inspect parsed output
  • Check for unclosed { braces — every { needs a matching }
  • Make sure all required block parameters are present
  • Verify the bot has permission to send messages in the channel

Common mistakes

Missing parameter:

❌ {if():message} ✅ {if({args}==test):message|other}

Unmatched braces:

❌ {user(name} ✅ {user(name)}

Getting help

Creating SlashTags SlashTags

SlashTags are registered as Discord slash commands (/name). They support optional typed arguments (options) and context-menu commands.

⚡ Slash command registration After creating or editing a SlashTag, Discord may take a few minutes to propagate the command globally. Use / in any channel to see registered slash commands.

Create a SlashTag

[p]slashtag create <name> <content>

Registers a new slash command with the given name and TagScript content.

Edit a SlashTag

[p]slashtag edit <name> <new content>

Delete a SlashTag

[p]slashtag delete <name>

List All SlashTags

[p]slashtag list

SlashTag Info

[p]slashtag info <name>

Slash Options (Arguments) SlashTags

SlashTags don't use {args}. Instead, you define named typed options that Discord presents to the user when they type the slash command. Each option becomes a variable with the same name inside your TagScript.

Add an option

[p]slashtag option add <tag_name> <option_name> <type> [description] [required]

Option types: string, integer, number, boolean, user, channel, role, mentionable, attachment

Remove an option

[p]slashtag option remove <tag_name> <option_name>
Accessing option values If you add an option named reason, access it in TagScript as {reason}. For a user-type option named member, use {member(name)}, {member(id)}, etc.

Example — slash tag with a string option

# Create the slash tag [p]slashtag create greet Hello, {name}! Welcome to {server(name)}. # Add a required string option named "name" [p]slashtag option add greet name string "Your name" true

Management & Permissions SlashTags

Ownership

  • SlashTags are owned by the user who creates them.
  • Server administrators can edit or delete any SlashTag.

Discord permissions

You can restrict which roles or channels can use a slash command through Discord's own Server Settings → Integrations → Axion menu. This is separate from TagScript's {require} and {blacklist} blocks, which act as a second layer of control.

{require(Moderator):Only moderators can use this slash command.}

SlashTag-Specific Blocks SlashTags

These blocks only work inside SlashTags. For details and examples, see Parsing Blocks.

  • {hide} / {hidden} — send an ephemeral (private) response
  • {reply} / {respond} — reply directly to the interaction
  • {#:…} / {comment(…)} / {//} — inline comments, stripped from output
Not available in SlashTags: {delete}, {silent}, and {reactu} are Tags-only and will be ignored inside SlashTags.

Limits SlashTags

  • Command name: 1–32 characters, lowercase, no spaces (use - or _)
  • Command description: 1–100 characters (shown in the Discord UI)
  • Tag content: Up to 2,000 characters
  • Options per command: Maximum 25
  • Option name: 1–32 characters
  • Option description: 1–100 characters
  • SlashTags per server: Subject to Discord's guild command limit (100 per app)

Troubleshooting SlashTags

Slash command not appearing?

  • Discord can take up to a few minutes to propagate new slash commands
  • Try typing / and refreshing Discord if it doesn't appear
  • Check that the bot has the application.commands scope in your server

Tag content issues

  • Remember: use {option_name} not {args} for slash inputs
  • The {hide} and {reply} blocks only work in SlashTags
  • Comments ({#:…}) are stripped at runtime — they won't appear in output

Getting help