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.
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.
@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).
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} — 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.
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-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.
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).
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.
Auto-Thank Embed Variables
Used in the Auto-Thank Message template for discount role automation. Sent when a user crosses a spending threshold.
Claiming Variables
Used in the Claim Name Template (renames the ticket channel when claimed) and the Claimed/Unclaimed Message templates.
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.
BETTERTICKET