This parameter is required for every role variable.
Variables
The variable system inserts contextual information into your messages dynamically. These variables follow a specific format and can be enriched with parameters and modifiers to customize how they are displayed.
General syntax
Variables are always used between curly braces {} and follow one of the following structures:
{variable}: a simple variable{variable:parameters}: a variable with parameters{variable?modifier}: a variable with a modifier{variable:parameters?modifier}: a variable with parameters and a modifier
Example:
{user.username}{user.created_at:format=DD/MM/YYYY}{level.rank?ordinal}
Parameters
Parameters fine-tune a variable's behavior by passing it additional information. They are added after the variable's name, each of them preceded by a colon :.
Each parameter follows the name=value structure. When you want to use several parameters at once, simply add a new : followed by the next parameter.
Example:
{level.rank:user_id=123456789012345678}{user.created_at:user_id=123456789012345678:format=DD MMMM YYYY}
Common parameters
This section gathers the parameters used by several variables. When a parameter is mentioned later without a detailed explanation, refer to this section.
user_id
Discord ID of a user targeted by the variable (mentions <@123> are supported).
- Type: Discord ID
- Required: depends on the variable
role_id
Discord ID of a role.
- Type: Discord ID
- Required: for role-related variables
channel_id
Discord ID of a channel.
- Type: Discord ID
- Required: depends on the variable
format
Sets the display format of dates and times.
- Default value:
L(date) orLT(time) - Accepted values:
relative→ relative display (2 hours ago, for example)- a custom format (DD/MM/YYYY, HH:mm, for example)
The list of the different formats is available on this page of the documentation.
| Variable | Format example | Response example |
|---|---|---|
| stream.start_at | The stream will begin on {stream.start_at:format=DD/MM/YYYY}. | The stream will begin on 31/12/2025. |
| date | It is {date:format=DD/MM/YYYY, HH:mm}. | It is 04/03/2026, 20:14. |
separator
The character(s) used to separate several values.
- Default value:
,
style
Modifiers
Modifiers transform how variables are displayed. They are added after the variable's name, or after the parameter(s), preceded by a question mark ?.
Modifiers cannot be stacked on the same variable.
| Modifier | Description | Example |
|---|---|---|
uppercase | Text in uppercase | {user.username?uppercase} → DRAFTBOT |
lowercase | Text in lowercase | {server.name?lowercase} → draftbot support |
capitalize | First letter in uppercase | {user.username?capitalize} → Draftbot |
ordinal | Ordinal number | {level.rank?ordinal} → 3rd |
maxLength=N | Length limit | {title?maxLength=50} |
formatNumber | Localized number format | {money?formatNumber} → 1,234 |
Basic variables
User
| Variable | Description | Example |
|---|---|---|
{user} | The user's mention | @draftbot |
{user.id} | The user's ID | 318312854816161792 |
{user.username} | Account username | draftbot |
{user.globalname} | Global display name | DraftBot |
{user.nickname} | Nickname on the server | DraftBot |
{user.tag} | Tag (deprecated) | draftbot#0535 |
{user.rolecount} | Number of roles | 2 |
{user.created_at} | Date the account was created | 28/05/2017 |
{user.joined_at} | Date they joined the server | 11/03/2018 |
Parameters:
user_idformat
For the details of the parameters, click here.
Server
| Variable | Description | Example |
|---|---|---|
{server} | The server's name | DraftBot Support |
{server.id} | The server's ID | 422112414964908042 |
{server.name} | The server's name | DraftBot Support |
{server.description} | The server's description | Official server and Support of DraftBot |
{server.membercount} | Total number of members | 65536 |
{server.humancount} | Number of human members | 65535 |
{server.botcount} | Number of bots | 1 |
{server.rolecount} | Number of roles | 69 |
{server.channelcount} | Number of channels | 20 |
{server.boosts.level} | The server's boost level | 2 |
{server.boosts.count} | The server's number of boosts | 27 |
{server.created_at} | Date the server was created | 10/03/2018 |
Parameters:
format
For the details of the parameters, click here.
Channel
| Variable | Description | Example |
|---|---|---|
{channel} | The channel's mention | #chat![]() ![]() |
{channel.id} | The channel's ID | 700375095297835096 |
{channel.name} | The channel's name | chat![]() ![]() |
{channel.created_at} | Creation date | 16/04/2020 |
{channel.parent} | The parent channel's mention | #▬▬▬ Community ▬▬▬ |
{channel.parent.id} | The parent channel's ID | 700370977019658332 |
{channel.parent.name} | The parent channel's name | ▬▬▬ Community ▬▬▬ |
{channel.parent.created_at} | Parent creation date | 16/04/2020 |
Parameters:
channel_idformat
For the details of the parameters, click here.
Role
| Variable | Description | Example |
|---|---|---|
{role} | The role's mention | @Team |
{role.id} | The role's ID | 698990778084491314 |
{role.name} | The role's name | Team |
{role.color} | Hexadecimal color | #FD9A60 |
{role.position} | The role's position | 5 |
{role.membercount} | Number of members | 13 |
{role.created_at} | Creation date | 12/04/2020 |
Parameters:
role_idformat
For the details of the parameters, click here.
Time
| Variable | Description | Example |
|---|---|---|
{date} | Current date | 28/05/2017 |
{time} | Current time | 11:01 |
{timestamp} | Discord timestamp | 1495962098 |
Parameters:
format(date and time)style(timestamp)
For the details of the parameters, click here.
Variables per module
Economy
| Variable | Description | Example |
|---|---|---|
{money} | Money | 1,234 |
{money.record} | Money record | 5,678 |
{money.currency_icon} | Currency icon | ![]() |
{money.rank} | Position in the leaderboard | 3 |
{money.next_user} | Member above in the leaderboard | @DraftBot |
{money.next_user.id} | ID of the member above in the leaderboard | 318312854816161792 |
{money.next_user.money} | Amount of money of the member above in the leaderboard | 2,500 |
{money.next_user.money_diff} | Money difference with the member above in the leaderboard | 2,500 |
{money.to_position:position=N} | Money needed to reach position N in the leaderboard | 1,200 |
Parameters:
user_id
For the details of the parameters, click here.
Levels
| Variable | Description | Example |
|---|---|---|
{level} | Level | 25 |
{level.rank} | Position in the leaderboard | 5 |
{level.next_user} | Member above in the leaderboard | @DraftBot |
{level.next_user.id} | ID of the member above in the leaderboard | 318312854816161792 |
{level.next_user.level} | Level of the member above in the leaderboard | 27 |
{level.next_user.level_diff} | Level difference with the member above in the leaderboard | 2 |
{level.next_user.xp} | Amount of experience of the member above in the leaderboard | 15,000 |
{level.next_user.xp_diff} | Experience difference with the member above in the leaderboard | 2,500 |
{level.to_position:position=N} | Levels needed to reach position N in the leaderboard | 5,000 |
{xp} | Total experience | 12,500 |
{xp.current_level} | Experience of the current level | 250 |
{xp.next_level} | Experience needed to reach the next level | 750 |
{xp.to_level:level=N} | Experience needed to reach level N | 15,000 |
{xp.to_position:position=N} | Experience needed to reach position N in the leaderboard | 5,000 |
Parameters:
user_id
For the details of the parameters, click here.
Level rewards
| Variable | Description | Example |
|---|---|---|
{reward} | Reward received | VIP role |
{reward.level} | Level of the reward received | 10 |
{reward.next_level} | Levels before the next reward | 5 |
{reward.next_xp} | Experience before the next reward | 2,500 |
The level variables are also available in level reward messages.
Tickets
| Variable | Description | Example |
|---|---|---|
{number} | Ticket number | 42 |
Suggestions
| Variable | Description | Example |
|---|---|---|
{title} | Title of the suggestion | Questionnaire system |
{count} | Number of ongoing suggestions | 3 |
{max} | Maximum number of suggestions | 5 |
Suggestion rewards
| Variable | Description | Example |
|---|---|---|
{reward} | Reward received | 100 ![]() |
{target.type} | Status type | accepted |
{target.count} | Number of suggestions | 10 |
Custom commands
Birthdays
| Variable | Description | Example |
|---|---|---|
{birthday} | Birth date | 15 March |
{birthday.next} | Next birthday | In 2 months |
{age} | The user's age | 25 years old |
Parameters:
user_id
For the details of the parameters, click here.
Starboards
| Variable | Description | Example |
|---|---|---|
{emoji} | Starboard emoji | ![]() |
{emoji.count} | Number of reactions | 15 |
{message.url} | Link to the message | https://discord.com/... |
Reports
| Variable | Description | Example |
|---|---|---|
{target} | Reported member | @draftman |
{target_message.url} | Link to the reported message | https://discord.com/... |
{reason} | Reason for the report | Spam |
Birthday
| Variable | Description | Example |
|---|---|---|
{user} | Member(s) celebrating their birthday | @John, @Jane |
{role} | Temporary birthday role | @Birthday |
{gifts} | Rewards granted | 500 , VIP role |
Statistics
| Variable | Description | Example |
|---|---|---|
{count} | The channel's statistic | 1,250 |
This variable has to be present in the statistics channel's format.
Temporary voice channels
| Variable | Description | Example |
|---|---|---|
{index} | The channel's number | 5 |
{random_word} | Predefined random word | trampoline |
{custom_word} | Custom random word | unicorn |
Counter
| Variable | Description | Example |
|---|---|---|
{number} | The indicated number | 4956 |
{discussion} | The member's discussion (if any) | almost at 5k |
Counter rewards
| Variable | Description | Example |
|---|---|---|
{number} | The indicated number | 4956 |
{reward} | Reward won when passing a tier | 5,000 ![]() |
Advent calendar
| Variable | Description | Example |
|---|---|---|
{day} | Day number of the opened box | 15 |
{gift} | Gift received in the opened box | 10,000 ![]() |
{streak.count} | Current number of consecutive openings | 7 |
{streak.record} | The member's consecutive openings record | 15 |
Consecutive calendar openings
| Variable | Description | Example |
|---|---|---|
{day} | Day number of the opened box | 15 |
{streak.count} | Current number of consecutive openings | 7 |
{streak.record} | The member's consecutive openings record | 15 |
{streak.reward} | Name of the reward obtained | "Loyal" role |
Sanction DMs
| Variable | Description | Example |
|---|---|---|
{sanction.moderator} | Name of the moderator behind the sanction | DraftBot |
{sanction.end} | End date of the temporary sanction (if applicable) | in 3 days |
{sanction.duration} | Duration of the temporary sanction (if applicable) | 5 days |
{sanction.reason} | Reason for the sanction | Advertising on the server |
Social notification variables
YouTube
| Variable | Description | Example |
|---|---|---|
{video.author} | Channel name | DraftBot |
{video.title} | Video title | How to use DraftBot |
{video.url} | Video link | https://youtube.com/... |
Twitch
| Variable | Description | Example |
|---|---|---|
{stream.author} | Channel name | StreamerName |
{stream.title} | Stream title | Development stream |
{stream.game} | Game being streamed | Just Chatting |
{stream.url} | Stream link | https://twitch.tv/... |
{stream.start_at} | Start time | 2 hours ago |
{stream.tags} | Stream tags | english, development |
Parameters:
formatseparator
For the details of the parameters, click here.
| Variable | Description | Example |
|---|---|---|
{post.subreddit} | Subreddit name | r/discord |
{post.title} | Post title | Question about DraftBot |
{post.description} | Post description | How do I set up… |
{post.url} | Post link | https://reddit.com/... |
RSS feeds
| Variable | Description | Example |
|---|---|---|
{feed.name} | Feed name | DraftBot Blog |
{feed.url} | Feed link | https://draftbot.fr/... |
DraftBot




