Docs
🔍
General Variables

Variables Reference

BetterTicket supports dynamic variables (also called shortcodes or placeholders) throughout all message templates. Variables are replaced automatically by the bot at the time a message is sent, inserting real information like the user's name, server name, ticket count, and more. This page lists every available variable organized by where it can be used.

Format: Variables are written inside curly braces: {variable.name}. They must be typed exactly as shown — including capitalization and dots. A small typo will mean the variable doesn't expand.

Ticket Channel Name Template

Used in Panel Configs → [Panel] → Ticket Name Template. Controls the name of the Discord channel created for each ticket.

{author.name}The Discord username of the ticket opener (without discriminator/tag). E.g., john {author.tag}The full Discord tag of the ticket opener. E.g., john#1234 (legacy) or just the username on newer accounts {author.id}The Discord user ID of the ticket opener. E.g., 123456789012345678 {panel.name}The internal name of the panel the ticket was created from {ticket.count}The sequential ticket number (e.g., 42). Padded to at least 3 digits: 042 {date}The date the ticket was created in YYYY-MM-DD format

Example template: ticket-{author.name}-{ticket.count} → produces ticket-john-042

Channel name rules: Discord requires channel names to be lowercase with no spaces — use hyphens instead. BetterTicket cleans up the output automatically, but try to keep your template short so names stay readable.

Panel & Ticket Welcome Embeds

Used in the Panel Embed and Ticket Message embed builders. These are the embeds shown in the Discord panel message and in the ticket channel when created.

{user}Mentions the ticket opener as a clickable @mention. E.g., @John {user.name}The ticket opener's display name (server nickname, or username if no nickname) {user.tag}The ticket opener's full tag or username {user.id}The ticket opener's Discord user ID {server}The server name {server.name}The server name (same as {server}) {server.id}The server's Discord guild ID

Form Answer Variables

If your panel has a custom form configured, the customer's answers can be displayed in the Ticket Message embed using indexed variables. Variables are 0-indexed (starting at 0).

{create.form.0}The customer's answer to the 1st form question {create.form.1}The customer's answer to the 2nd form question {create.form.2}The customer's answer to the 3rd form question {create.form.3}The customer's answer to the 4th form question {create.form.4}The customer's answer to the 5th form question

Example: If your form asks "What's your order number?" as question 1, you can display it in the Ticket Message body as: **Order Number:** {create.form.0}

DM Message Variables

Used in Closed DM and Created DM message templates (Premium). These are sent to the ticket opener via Direct Message.

{user}Mentions the ticket opener {user.tag}The ticket opener's tag/username {user.mention}Same as {user} — the mention format {channel}The name of the ticket channel (e.g., ticket-john-042) {reason}The reason provided when the ticket was closed (if entered by staff) {close.reason}Same as {reason}

Moderator Message Variables

Used in the Moderator Message template — the message posted after a ticket is closed showing Reopen/Delete/Transcript buttons.

{user}Mentions the ticket opener {reason}The close reason entered by staff

Transcript Embed Variables

Used in Panel Configs → [Panel] → Transcripts → Transcript Message. This is the embed posted to the transcript channel when a transcript is generated.

{ticket_name}The ticket channel name (e.g., ticket-john-042) {ticket_owner}Mentions the ticket opener {ticket_owner_tag}The ticket opener's tag/username {panel_name}The name of the panel the ticket was created from {server_name}The server name {message_count}Total number of messages in the transcript {attachment_count}Total number of file attachments in the transcript {users_list}A comma-separated list of all users who participated in the ticket

Receipt Embed Variables

Used in the Receipt Message template under Dashboard → General Settings → Receipts. Applied when /receipt new is used.

{buyer}Mentions the customer who purchased {buyer_tag}The buyer's tag/username {amount}The payment amount (formatted, e.g., 25.00) {currency}The currency code (e.g., USD) {item}The item or service name from the receipt {order_id}The unique order identifier {date}The date the receipt was created {total_spent}The buyer's cumulative total spent in this server (all orders combined) {payment_type}The payment method label (e.g., "PayPal")

Vouch Embed Variables

Used in the Vouch Message template. Applied when a customer submits a vouch (either via receipt button or /vouch command).

{buyer}Mentions the customer who vouched {buyer_tag}The voucher's tag/username {stars}The star rating as a number (1–5) {comments}The optional comments the customer left {vouch_count}The total number of vouches the customer has given in this server {order_id}The order ID (only available for receipt-linked vouches) {panel_name}The panel name the ticket was opened from (if vouch_show_panel_name is enabled)

Payments Embed Variables

Used in the Payments Message template under Dashboard → General Settings → Payments. Applied when /payments is used.

{server.name}The server name {server.icon}The server's icon as an image URL {date}The current date

Auto-Thank Embed Variables

Used in the Auto-Thank Message template for discount role automation. Sent when a user crosses a spending threshold.

{user}Mentions the customer who qualified {role}Mentions the discount role that was assigned {discount}The discount percentage associated with the role (if configured) {spent}The total amount the user has spent in this server

Claiming Variables

Used in the Claim Name Template (renames the ticket channel when claimed) and the Claimed/Unclaimed Message templates.

{claimer}Mentions the staff member who claimed the ticket {count}The current ticket's sequential number {user}Mentions the ticket opener {staff}The display name of the staff member who claimed the ticket

Example claim name template: claimed-{staff}-{count} → produces claimed-alex-042

Tips for Using Variables

  • If a variable isn't available in a particular message, it will just be blank — it won't print the raw {variable} text.
  • You can combine multiple variables in one field: Ticket #{ticket.count} opened by {user.name}
  • Variables work in all embed fields: title, description, field values, footer, author name, etc.
  • Some variables like {users_list} can produce long text. If a message stops saving or shows an error, try moving that variable to the description field instead of a smaller embed field.