Two different syntaxes
The universal rule
Welcomer, goodbye and greet
[Inviter] and [Code] need Manage Server so Vetox can read invites.Tickets
The richest set in Vetox. Usable in ticket embeds, channel-name formats and support-hours messages.The member
The member
{user} {mention} {username} {userid} {user.mention} {user.name} {user.username} {user.tag} {user.id}The ticket
The ticket
{ticket} {number} {num} {ticket.number} {ticket-number} {#number} {ticket.channel} {ticket.channelName} {ticket.priority} {ticket.closeReason} {ticket.openedAt} {ticket.createdAt} {ticket.closedAt} {ticket.users}Channel, panel and option
Channel, panel and option
{channel} {channel.mention} {channel.name} {channel.id} {panel} {panel.name} {panel-name} {option} {option.label}The server
The server
{server} {server.name} {server.id} {server.members} {server.icon} {server.banner} {guild} {members}Staff and actions
Staff and actions
{staff} {staff.mention} {staff.name} {claim.user} {claim.name} {close.user} {close.name} {close.reason} {escalate.reason} {escalate.panel} {reason}Form answers
Form answers
{form.1}, {form.2} … — 1-indexed, in the order your questions appear.{form.Label} also works, using the question’s own label.Time and statistics
Time and statistics
{date} {time} {timestamp} {time.created} {time.opened} {time.claimed} {time.closed} — each also accepts .age.{statistics.tickets.open} {statistics.tickets.created} {statistics.tickets.closed} {statistics.tickets.claimed} {statistics.tickets.averageRating}Support hours
Support hours
{supportHours.status} {supportHours.nextOpen} {supportHours.nextOpenTime} {supportHours.nextOpenRelative} {supportHours.closesAt} {supportHours.closesAtTime}Modifiers
Ticket variables accept modifiers with{variable?modifier=value}: upper, lower, capitalize, truncate, slice, padleft, padright, replace, fallback, date, timestamp, math, ordinal, join, if.
Counting
{count} {user} {record} — plus {start} and {savesLeft} in the reset and save messages.
Starboard
{author} {stars} {channel} {link} {content} {emoji}
Self-Roles
[Role] — the role’s name, in the DM notifications.
Giveaway templates
{prize} {winners} {host} {endsAt} {id} {description} {requiredRole} {minAccountAge} {entryCount}
Notifications
Each platform has its own set. Using one platform’s variable on another resolves empty.Twitch
Twitch
{streamer.name} {streamer.url} {streamer.avatar}Live only: {stream.title} {stream.game} {stream.viewers} {stream.thumbnail}Kick
Kick
{streamer.name} {streamer.url} {streamer.avatar}Live only: {stream.title} {stream.category} {stream.viewers} {stream.thumbnail}Note {stream.category}, not Twitch’s {stream.game}.YouTube
YouTube
{channel.name} {channel.avatar} {video.title} {video.url} {video.thumbnail} {video.type}Reddit
{post.title} {post.url} {post.author} {post.content} {post.flair} {post.thumbnail} {subreddit.name} {subreddit.url} {subreddit.icon}Bluesky
Bluesky
{post.text} {post.url} {post.image} {post.likes} {author.name} {author.handle} {author.avatar}Steam
Steam
{news.title} {news.url} {news.content} {news.category} {news.author} {game.name} {game.image}RSS
RSS
{item.title} {item.url} {item.description} {item.author} {feed.name} {feed.url}Podcasts
Podcasts
Working:
{episode.title} {episode.url} {episode.description} {podcast.name}Variables that do not work
Troubleshooting
When a message does not arrive at all.