Skip to content

Introduction

Tags come with the ability to create powerful custom commands through the usage of tag blocks. The basic block begins with a { and ends with an }. More advanced blocks may contain after the block declaration () to specify a parameter or a : to specify a payload.

Block Syntax

  • {block(parameter):payload}
  • [arg] ~ Optional
  • <arg> ~ Required

Usage

Add a tag using the following command -

[p]tag add mytag Hello World!

Invoke the tag with your bot prefix and the tag’s name as if it were a command -

[p]mytag

The bot will then respond with the stored tag content -

Hello World!

Default Variables

Tags come with built-in variable blocks you can access for more information about the invocation context. These are -

  • args
  • author | user
  • target | member
  • channel
  • guild | server

You can see attributes available using these blocks in Default Variables.

Below is an example tag that returns info related to the tag author.

[p]tag add authorinfo Username: **{author}**
ID: **{author(id)}**
Creation Date: **{author(created_at)}**
Bot: **{author(bot)}**

The args block can be useful for customizing tags and works well with the Command Block. Simple echo command that validates if args were provided -

[p]tag add echo {if({args}==):You must provide text to echo.|{args}}

Here’s a tag that uses the default variable blocks as well as the If Block -

[p]tag add startertag Hi, this is an example of a tag.
This tag will now invoke a ping command.
{c:ping} // command block
{delete({args(0)}==delete)} // if block
{embed({ // embed block
"title": "The server this was invoked on was {server}.",
"description": "{if({args}==):You did not provide any arguments for this tag|The arguments provided were: `{args}`}",
"thumbnail": {
"url": "{guild(icon)}"
},
"author": {
"name": "{author} invoked this tag.",
"icon_url": "{author(avatar)}"
},
"color": 2105893,
"footer": {
"icon_url": "{author(avatar)}",
"text": "{target} is the target of this tag."
}
})}