Variables
Write a variable in braces, like {user.mention}, and the bot fills it in when it sends the message. The bot's code generates this list, so it matches what the bot sends.
A variable that doesn't exist where you use it stays as you typed it, so a typo is easy to spot. Values that aren't known (no banner, never boosted…) show as N/A. The member, server, channel and date variables work everywhere; the rest only in the messages listed with them.
Text functions
Wrap a variable to change how it looks: {upper(user.name)}.
| Function | Gives |
|---|---|
{lower(…)} | lower case |
{upper(…)} | UPPER CASE |
{title(…)} | Title Case |
{proper(…)} | a number with thousands separators (1,234) |
WELCOME {upper(user.name)}! We now have {proper(guild.count)} members.Timestamps (the variables ending in _timestamp) work with Discord's time format: <t:{user.created_at_timestamp}:R> shows “3 years ago” in each reader's own time zone. See Conditionals to show text only when a variable is set.
Every variable
The member
Works in: everywhere: the member a message is about (who joined, who used the command, who was punished)
{user}{user.id}{user.mention}{user.name}{user.tag}{user.avatar}{user.display_avatar}{user.display_name}{user.created_at}{user.created_at_timestamp}{user.bot}{user.badges}{user.badges_icons}{user.guild_avatar}{user.joined_at}{user.joined_at_timestamp}{user.boost}{user.boost_since}{user.boost_since_timestamp}{user.color}{user.top_role}{user.role_list}{user.role_text_list}{user.join_position}{user.join_position_suffix}The server
Works in: everywhere
{guild.name}{guild.id}{guild.count}{guild.region}{guild.shard}{guild.owner_id}{guild.created_at}{guild.created_at_timestamp}{guild.emoji_count}{guild.role_count}{guild.boost_count}{guild.boost_tier}{guild.preferred_locale}{guild.key_features}{guild.icon}{guild.banner}{guild.splash}{guild.discovery}{guild.max_presences}{guild.max_members}{guild.max_video_channel_users}{guild.afk_timeout}{guild.afk_channel}{guild.channels}{guild.channels_count}{guild.text_channels}{guild.text_channels_count}{guild.voice_channels}{guild.voice_channels_count}{guild.category_channels}{guild.category_channels_count}{guild.vanity}The channel
Works in: wherever the message is about a channel (commands, welcome messages…)
{channel.name}{channel.id}{channel.mention}{channel.topic}{channel.type}{channel.category_id}{channel.category_name}{channel.position}{channel.slowmode_delay}Date and time
Works in: everywhere
{date.now}{date.utc_timestamp}{date.now_proper}{date.now_short}{date.now_shorter}{time.now}{time.now_military}{date.utc_now}{date.utc_now_proper}{date.utc_now_short}{date.utc_now_shorter}{time.utc_now}{time.utc_now_military}Punishment messages
Works in: invoke messages (the DM and the reply when someone is banned, kicked, jailed, muted…)
{action.color}{action.past}{action.title}{duration}{invite_url}{moderator}{moderator.avatar}{moderator.badges}{moderator.badges_icons}{moderator.boost}{moderator.boost_since}{moderator.boost_since_timestamp}{moderator.bot}{moderator.color}{moderator.created_at}{moderator.created_at_timestamp}{moderator.display_avatar}{moderator.display_name}{moderator.guild_avatar}{moderator.id}{moderator.join_position}{moderator.join_position_suffix}{moderator.joined_at}{moderator.joined_at_timestamp}{moderator.mention}{moderator.name}{moderator.role_list}{moderator.role_text_list}{moderator.tag}{moderator.top_role}{reason}Welcome and goodbye: who invited them
Works in: welcome and goodbye messages, when invite tracking can tell (see the Invites guide)
{inviter}{inviter.id}{inviter.mention}{inviter.name}{inviter.tag}{inviter.avatar}{inviter.display_avatar}{inviter.display_name}{inviter.created_at}{inviter.created_at_timestamp}{inviter.bot}{inviter.badges}{inviter.badges_icons}{inviter.guild_avatar}{inviter.joined_at}{inviter.joined_at_timestamp}{inviter.boost}{inviter.boost_since}{inviter.boost_since_timestamp}{inviter.color}{inviter.top_role}{inviter.role_list}{inviter.role_text_list}{inviter.join_position}{inviter.join_position_suffix}{inviter.invites}{invite.code}{invite.type}Level-up messages
Works in: the leveling message (levels message)
{level.new_rank}{level.user_xp}Tickets
Works in: ticket messages, panels and automations (the Tickets dashboard page)
{ticket.case}{ticket.id}{ticket.open}{ticket.deleted}{ticket.closed_automatically}{ticket.opened_label}{ticket.transcript.url}{ticket.opened_at}{ticket.opened_at.raw}{ticket.opened_at.short}{ticket.claimed_at}{ticket.claimed_at.raw}{ticket.claimed_at.short}{ticket.migrated_at}{ticket.migrated_at.raw}{ticket.migrated_at.short}{ticket.closed_at}{ticket.closed_at.raw}{ticket.closed_at.short}{ticket.reopened_at}{ticket.reopened_at.raw}{ticket.reopened_at.short}{ticket.deleted_at}{ticket.deleted_at.raw}{ticket.deleted_at.short}{ticket.transcript.created_at}{ticket.transcript.created_at.raw}{ticket.transcript.created_at.short}{ticket.last_author_message_at}{ticket.last_author_message_at.raw}{ticket.last_author_message_at.short}{ticket.last_inactivity_notice_at}{ticket.last_inactivity_notice_at.raw}{ticket.last_inactivity_notice_at.short}{ticket.auto_delete_at}{ticket.auto_delete_at.raw}{ticket.auto_delete_at.short}{ticket.auto_delete_after_close}{ticket.auto_delete_after_close.human}{ticket.transcript.expires_at}Last.fm now playing
Works in: your own now-playing message (lastfm mode); some may be empty
{user.name}{user.avatar}{user.plays}{user.artist_crown}{user.url}{album.name}{album.url}{album.cover}{track.name}{track.url}{track.spotify_url}{track.release_date}{track.duration}{track.plays}{artist.name}{artist.plays}{artist.url}{artist.image}Bump reminder
Works in: the thank-you and reminder messages (bumpreminder message)
{bumpreminder.last_user_bump}{bumpreminder.next_bump}Shop items
Works in: an item's reply when it's used (shop add --reply)
{item.name}{item.price}{currency}{balance}
Social feed notifications
Works in: the message sent for a new YouTube video, Kick stream, Reddit post or Pinterest pin
{youtube.channel.name}{youtube.channel.url}{youtube.channel.id}{youtube.video.url}{youtube.video.title}{youtube.video.thumbnail_url}{kick.channel.name}{kick.channel.url}{kick.stream.title}{kick.stream.url}{kick.stream.category}{kick.stream.thumbnail_url}{reddit.subreddit.name}{reddit.subreddit.url}{reddit.post.title}{reddit.post.url}{reddit.post.author}{pinterest.user.name}{pinterest.pin.title}{pinterest.pin.url}{pinterest.pin.image}