Placeholders
Dynamic values for greetings and announcements.
Placeholders are written in curly braces and replaced when the message is sent.
Welcome {user} to {guild}! You are our {membercount.ordinal} member.
Welcome @NewPerson to Cool Server! You are our 501st member.
All placeholders#
| Placeholder | Result | Greetings | Announcements |
|---|---|---|---|
{user} |
Mention — pings them | ✅ | ❌ |
{user.name} |
Username | ✅ | ❌ |
{user.display} |
Display name / nickname | ✅ | ❌ |
{user.tag} |
Full username | ✅ | ❌ |
{user.id} |
Member ID | ✅ | ❌ |
{user.created} |
Account creation date | ✅ | ❌ |
{guild} |
Server name | ✅ | ✅ |
{guild.id} |
Server ID | ✅ | ✅ |
{membercount} |
Current member count | ✅ | ✅ |
{membercount.ordinal} |
Member count as 501st |
✅ | ✅ |
{owner} |
Mention of the server owner | ✅ | ✅ |
Inside Discord: /welcome placeholders and /announce placeholders.
Why announcements have fewer#
An announcement is written once and posted to everyone — there is no "user" it
belongs to. Rather than resolving {user} to something arbitrary, Ledra
leaves it in the text unchanged, so a mistake is visible instead of wrong.
Same rule for typos: {membercont} appears literally in your message. A gap
would leave you guessing.
Mentions#
Only {user} and {owner} produce real pings. {user.name}, {user.display}
and {user.tag} are plain text.
Names cannot break your messages. Members choose their own nicknames, so
every name is escaped before insertion. A member called **@everyone** cannot
bold your welcome message or ping the server.
{user} and {owner} are the deliberate exceptions — they are built by
Discord, not typed by anyone.
Examples#
Simple welcome
Welcome {user} to **{guild}**!
With member count
{user} just joined — we are now {membercount} strong!
Milestone flavour
Welcome {user}, our {membercount.ordinal} member! 🎉
Goodbye — use {user.tag}, since someone who left cannot be mentioned:
**{user.tag}** just left {guild}. We are now {membercount} members.
Pointing at the owner
Welcome {user}! Questions go to {owner} or the staff team.
Recurring announcement
Reminder: {guild} rules are in #rules. We are {membercount} members and
counting.
Testing before you publish#
/welcome test
Renders your message with your own account and shows it only to you. Free, private, unlimited.
For announcements, /announce test announcement_id:1 posts once immediately
without moving the schedule.