Modules
Welcome & Goodbye
Greet people when they join, say goodbye when they leave, send new members a welcome DM and celebrate member count milestones. You write each message once on the dashboard and Sparrow fills in the member's details each time.
Setting it up
- Open Welcome & Goodbye in the dashboard.
- On the Welcome tab, choose the channel and turn the welcome message on.
- Press Edit message to change the text. It starts with an example.
- Press Send test. Sparrow posts a sample about you in the channel so you can see what members will get.
Sparrow needs View Channel and Send Messages in the channels you choose. If a message can't be sent, the dashboard tells you why on that tab.
The four messages
| Message | When it's sent | Where |
|---|---|---|
| Welcome | Someone joins the server | Your welcome channel |
| Goodbye | Someone leaves the server | Your goodbye channel |
| Welcome DM | Someone joins the server | A private message to that member |
| Milestone | A new member reaches a member count you chose | Your welcome channel, instead of the ordinary welcome |
Each one can be an Embed or a Components V2 message, and each has its own on/off switch. Bots are skipped by default. Members who have DMs turned off don't get the DM. That's normal, not an error.
Placeholders
A placeholder is a word in curly braces, like {username}. When Sparrow sends the message it swaps each one for the real value about the member who joined or left. Placeholders are lowercase and must be spelled exactly. Anything Sparrow doesn't recognise, like {Username} or {nope}, is left as you typed it.
In the dashboard, open the message editor and click a placeholder to copy it. The preview there, and on the Welcome & Goodbye page, fills them in with a sample member so you can see the result.
Every placeholder
| Placeholder | What it becomes | Example |
|---|---|---|
{user} | A mention of the member. In a goodbye, or when the ping switch is off, it's their name in bold instead. | @Alex · goodbye or ping off: Alex |
{username} | Their Discord username. | alex_99 |
{displayname} | Their nickname in your server if they have one, otherwise their Discord display name, otherwise their username. | Alex |
{userid} | Their Discord ID (the long number). | 123456789012345678 |
{server} | Your server's name. | Cozy Corner |
{membercount} | How many members the server has at that moment. | 152 |
{membercount_ordinal} | The same number written as a position. | 152nd |
{accountcreated} | How long ago their Discord account was created. Discord keeps it up to date. | 3 years ago |
{avatar} | Their profile picture, as an image link. Use it wherever an image or thumbnail is asked for. | (their picture) |
{servericon} | Your server's icon, as an image link. If the server has no icon, the image is left out. | (your icon) |
Where they work
Placeholders are filled in inside these parts of a message:
| Where in the message | Works? | Notes |
|---|---|---|
| Text above an embed (the Content box) | Yes | A {user} here notifies the member. With ping switched off, a box holding only {user} is left out. |
| Embed title, description, author name, footer text, field names and values | Yes | A {user} shows as a mention but does not notify anyone. Discord never notifies for a mention inside an embed. |
| Embed image, thumbnail, author icon, footer icon | Only {avatar} and {servericon} | Put the placeholder on its own in the image box. If the image can't be used, it's left out and the message is still sent. |
| Components V2 text blocks and section text | Yes | A {user} here notifies the member, like the Content box does. |
| Components V2 image blocks, gallery and thumbnail | Only {avatar} and {servericon} | Components V2 needs a real image here. If the placeholder comes out empty (for example a server with no icon) the message can't be sent, and the dashboard tells you which block to fix. |
| Components V2 button labels | Yes | For example a button reading “Welcome, {displayname}”. |
| Welcome card title and subtitle | Yes | Every text placeholder works. {user} becomes the person's name, since a picture can't hold a mention. Don't use {avatar} here. The card already shows it. |
| The message's name in the editor, its colour, and the channel and timer settings | No | These are settings, not text. |
| Messages you post from the Messages page, tickets, applications, giveaways and FAQ panels | No | Placeholders only work in Welcome & Goodbye messages, Auto Responders and Sticky Messages. Anywhere else, the braces are shown exactly as typed. |
Which message each one suits
All ten work in all four messages, with a few differences:
| Placeholder | Welcome / Milestone / DM | Goodbye |
|---|---|---|
{user} | A mention | The member's name in bold (no mention) |
{displayname} | Their nickname or name | Their nickname if Sparrow still has it, otherwise their name |
{membercount} | Includes the new member | The count after they left |
{membercount_ordinal} | “You're our 152nd member” | Reads oddly (“we're now 9th”). Use {membercount} instead |
{avatar} | The new member's picture | The picture of the person who left |
{accountcreated} | When their account was made | When their account was made |
In a milestone, {membercount} is the milestone itself, so the 1,000th member sees 1,000. In the Welcome DM, {user} is a mention of the person reading it.
Names copied from other bots
If you're moving from another welcome bot, its placeholders still work. Sparrow treats these names the same as the matching one above:
| Sparrow's placeholder | Also accepted |
|---|---|
{user} | {user_mention} {member.mention} {mention} |
{username} | {user_name} {member.username} {member.name} |
{displayname} | {member.displayname} {member.nickname} {nickname} |
{userid} | {user_id} {member.id} |
{server} | {server_name} {guild.name} |
{membercount} | {server_members} {guild.memberCount} {guild.membercount} |
{membercount_ordinal} | {user_position} {user_position_ordinal} |
{accountcreated} | {account_created} |
{avatar} | {member.avatar} {user_avatar} |
{servericon} | {guild.icon} {server_icon} |
An example
Put {user} in the text above an embed so the new member is notified, then use the placeholders inside the embed:
Text above the embed
{user}
Embed title
Welcome to {server}!
Embed description
Hey {username}, glad you're here! You're our {membercount_ordinal} member.
Embed thumbnail
{avatar}
Pinging the new member
The Ping the new member switch on the Welcome tab controls whether a mention notifies them. Turn it off and {user} shows as their name in bold, and a Content box that holds only {user} is left out, so nobody is notified. Sparrow never pings @everyone or any role from these messages. A goodbye never pings anyone.
Welcome card
The welcome card is a picture with the new member's avatar and name, sent with the welcome message (turn it on in the Welcome Card tab). Pick a layout (Centered or Sidebar), a background, how much to darken it, and the title and subtitle text, which can use placeholders. The preview next to the settings matches what members receive. You choose whether the card goes under the message or inside the embed. In a Components V2 message it always goes at the top.
The built-in backgrounds are Gilded, Ember, Lanterns, Facets, Circuit, Confetti and Clear. With Premium you can upload your own background image, change the avatar ring, title and username colours, and pick a different font. If the picture ever can't be made, the message is still sent without it.
Member milestones
Add member counts (like 100, 500 and 1,000), and optionally a repeating one. “Every 1,000 members” celebrates the 1,000th, 2,000th, 3,000th and so on. When a new member reaches one of those counts, Sparrow posts your milestone message in the welcome channel instead of the normal welcome for that person. The milestone has its own message and optional card. If the milestone message can't be sent, the normal welcome is sent instead.
FAQ button
Pick one of your FAQ panels on the Welcome tab and the welcome message gets a button for it. New members press it to browse your FAQ privately without leaving the channel. The button is only on the welcome message, not on goodbyes, DMs or milestones. It's left off if that FAQ panel is deleted or turned off.
Delete after a while Premium
Welcome and goodbye messages can be deleted automatically after a time you choose, from 30 seconds to 7 days. Sparrow checks about every 15 seconds, so deletion can be up to 15 seconds late. A “Send test” message is deleted the same way. Milestone messages and DMs are never deleted.
If a message doesn't appear
- The dashboard shows the last problem on that message's tab. It's usually a missing channel or a missing View Channel or Send Messages permission.
- Check the message is turned on and has a channel. A message that was never written can't be sent.
- Bots are skipped unless you turn “Skip bots” off.
- Use Send test to see the message in the channel. It works even while the message is turned off.