Template placeholders
Every placeholder Welcome Messages understands, and what each one becomes.
Use placeholders to add a member's name, your server name, or invite details
to a saved message. For example, Welcome, {{user.display}}! becomes a
greeting with the member's display name when the bot sends it.
Choose a placeholder below, then save your message and test it in Discord.
How placeholders work
Add placeholders from the variable picker above the Message box, or type them exactly as shown in this reference. Keep both pairs of braces and the same spelling and capitalization.
- Open a join, leave, or boost message in the editor.
- Place your cursor where you want the detail to appear, then choose a placeholder from the variable picker.
- Check the live preview to see how the wording reads.
- Save the message, then run a simulation to check the delivered result.
Mention placeholders can notify the people they name. An ID placeholder only prints the ID; it doesn't mention or notify that person.
Which families work where
User, bot, server, and date and time placeholders work in join, leave, and boost messages. Invite placeholders need Invite Tracker and work only in join and leave messages.
| Family | Join | Leave | Boost |
|---|---|---|---|
| User | Yes | Yes | Yes |
| Bot | Yes | Yes | Yes |
| Server | Yes | Yes | Yes |
| General | Yes | Yes | Yes |
| Invite (requires Invite Tracker) | Yes | Yes | No |
Yes YesNo No
If you use an invite placeholder in a boost message, it stays as plain text in the delivered message.
User placeholders
These describe the member the event is about: the person who joined, left, or boosted. They work in every kind of welcome message.
| Placeholder | Becomes |
|---|---|
{{user.id}} | The member's Discord ID. |
{{user.username}} | The member's Discord username. |
{{user.nickname}} | The member's server nickname when they have one. |
{{user.display}} | The member's best available display name. |
{{user.mention}} | A mention that notifies the member. |
Use {{user.display}} for greetings. If a member has no server nickname,
{{user.nickname}} has no value and may remain as placeholder text.
Bot placeholders
Use these placeholders for your bot's name, ID, or mention in any kind of welcome message.
| Placeholder | Becomes |
|---|---|
{{bot.id}} | Your bot's Discord ID. |
{{bot.username}} | Your bot's Discord username. |
{{bot.display}} | Your bot's display name in the server. |
{{bot.mention}} | A mention of your bot. |
Server placeholders
Use these placeholders for the linked server where the member joined, left, or boosted.
| Placeholder | Becomes |
|---|---|
{{server.id}} | The Discord server's ID. |
{{server.name}} | The Discord server's name. |
{{server.memberCount}} | The server's current member count. |
Placeholders from other features, such as Modmail ticket statistics, aren't available in Welcome Messages and stay as plain text.
Date and time placeholders
Use these placeholders to show when the message was sent. Discord displays the date and time using each reader's local settings.
| Placeholder | Becomes |
|---|---|
{{general.date}} | The current date, localized by Discord. |
{{general.time}} | The current time, localized by Discord. |
{{general.dateTime}} | The current date and time, localized by Discord. |
Invite placeholders
Turn on Invite Tracker to show how a member joined and, when confirmed, who invited them. These placeholders work in join and leave messages only.
| Placeholder | Becomes |
|---|---|
{{invite.code}} | The confirmed invite code, when available. |
{{invite.source}} | How this member joined the server. |
{{invite.status}} | Whether the invite could be confirmed. |
{{invite.inviterId}} | The confirmed inviter's Discord ID. |
{{invite.inviterUsername}} | The confirmed inviter's username. |
{{invite.inviterDisplay}} | The confirmed inviter's display name. |
{{invite.inviterMention}} | A mention that notifies the inviter. |
{{invite.regular}} | The inviter's confirmed invites. |
{{invite.left}} | Confirmed invitees who have left. |
{{invite.fake}} | Confirmed invites matching the fake policy. |
{{invite.bonus}} | The inviter's current bonus adjustment. |
{{invite.total}} | The inviter's score using your accounting mode. |
{{invite.retained}} | Active, non-fake confirmed invitees. |
{{invite.retentionRate}} | The percentage of invitees retained, such as 75%. |
Invite details aren't always available. Write a message that still reads naturally if the invite can't be confirmed. These are the fallback words:
| Missing detail | What appears |
|---|---|
| Invite code | None |
| Source, status, or inviter details | Unknown |
| Invite counts or retention rate | Unavailable |
Without Invite Tracker, join messages use these fallback words instead of invite details. Turn on the feature before relying on inviter names or counts.
When a placeholder stays visible
If a delivered message still shows double braces, check these three causes:
- A typo like
{{user.usrename}}, which matches nothing in the catalog. - A placeholder that belongs to another feature, such as
{{ticket.id}}. - A recognized placeholder with no value, for example
{{user.nickname}}when the member has no server nickname.
Choose a supported placeholder with an available value, save the message, and run the simulation again. Invite placeholders use the fallback words above when invite details are missing.
Next steps
Preview with simulation to check your saved message in Discord. If nothing arrives, follow when messages don't arrive.
Last updated on