Welcome to Assistance!

Variables

Dynamic placeholders that fill in when templates and ticket names are sent.

Variables are placeholders written as ${path} that Assistance replaces with real values when a message is sent or a ticket channel is created. Use them in library templates, ticket name templates, and anywhere else the editor offers a variable picker.

Syntax

The basic form is a dotted path inside curly braces:

${triggeredBy.username}

Some variables accept a #argument for extra configuration:

${guild.emojis#Bell}
${ticket.status#Open:Claimed:Closed}
${random.number#0:99}

Arguments are configured in the library editor when you insert a variable — you don't have to memorize the format.

Where variables work

Variables can appear in:

  • Message text and embed fields
  • Button labels and select option labels
  • Image, thumbnail, and media URLs (including partial URLs like https://cdn.example.com/${guild.id}.png)
  • Ticket panel name templates

Both traditional and Components V2 templates support the same variable set.

Scopes

Not every variable is available in every context. Variables are grouped into scopes — a scope controls when its variables resolve.

ScopeWhen it's available
AssistanceAlways — bot version, template name, built-in emojis, and more.
ServerWhen sent in a server channel. Not available in DMs.
Triggered byThe member who triggered the message — button click, command, ticket open, etc.
TicketWhile a ticket exists — panel info, ticket channel, creator, and claimer.
RandomGenerated fresh on each send — UUIDs, nanoids, and random numbers.

The library editor shows only variables valid for the template you're editing. Ticket-scoped variables appear on ticket panel creation templates and in ticket name templates.

Assistance

VariableDescription
assistance.versionThe current Assistance version.
assistance.templateIdThe ID of this template.
assistance.templateNameThe name of this template.
assistance.isDMs#Yes:NoDifferent text in DMs vs. server channels.
assistance.emojis#EmojiNameA built-in Assistance emoji by name.

Server

VariableDescription
guild.idThe server's Discord ID.
guild.assistanceIdThe internal Assistance ID for this server.
guild.slugThe server's Assistance slug.
guild.memberCountTotal members, including bots.
guild.botCountNumber of bots in the server.
guild.userCountNumber of humans (non-bots) in the server.
guild.iconThe server icon URL.
guild.emojis#EmojiNameA custom server emoji by name.

Triggered by

These refer to the member who triggered the message — for example, whoever clicked a button or ran a command.

VariableDescription
triggeredBy.userIdTheir Discord user ID.
triggeredBy.pingMentions them (<@id>).
triggeredBy.profilePictureTheir avatar URL.
triggeredBy.usernameTheir account username.
triggeredBy.nicknameTheir server nickname.
triggeredBy.displayNameTheir Discord display name.
triggeredBy.highestRoleThe name of their highest role.
triggeredBy.highestRole.pingMentions their highest role.
triggeredBy.roleCountThe number of roles they have.

Ticket

Available when a ticket exists — on creation templates, inside ticket channels, and in ticket name templates.

Ticket info

VariableDescription
ticket.idThe ticket's ID.
ticket.status#Open:Claimed:ClosedDifferent text per ticket status.
ticket.createdAt#fWhen the ticket was created (Discord timestamp).
ticket.channelMentions the ticket's channel.

Panel

VariableDescription
ticket.panel.idThe ticket panel's ID.
ticket.panel.nameThe ticket panel's name.
ticket.panel.categoryMentions the panel's category channel.
ticket.panel.categoryIdThe panel's category channel ID.
ticket.panel.archiveChannelMentions the panel's archive channel.
ticket.panel.archiveChannelIdThe panel's archive channel ID.
ticket.panel.supportRolesSupport roles as a list of mentions.

Creator and claimer

ticket.createdBy.* and ticket.claimedBy.* expose the same member fields as Triggered by — user ID, mention, username, nickname, display name, avatar, highest role, and role count — prefixed with ticket.createdBy or ticket.claimedBy.

Random

Each send generates a new value.

VariableDescription
random.uuidA random UUID v4.
random.nanoid#24A random URL-safe ID. Optional length (default 24, max 100).
random.number#0:99A random integer. Default range 0–99, or a custom min–max.

Preview

The library editor includes a variable picker with every available token and a live preview that fills in sample values so you can see the result before saving.

How is this guide?

On this page