Skip to main content

Overview

Sent to a channel of your choice whenever a new member joins. Use plain text with variables, or a saved embed.
Petto welcomes Mia to Petto Land in the welcome channel and tells her she is member 1841

In Discord: the welcome Petto posts when a member joins.

In the dashboard, the welcome, leave and boost messages are side by side under Security → Join Gate → Messages, each with a live preview of how it looks in Discord.
The Messages tab of the Onboarding page with the welcome, leave and boost messages of Petto Land and their previews

Dashboard → Security → Join Gate → Messages: the welcome, leave and boost messages, each with a live preview.

Commands

kira sets the welcome in #welcome with --message and Petto confirms the channel and shows the message with its variables

In Discord: the welcome is set to a text with --message.

kira points the welcome at the saved embed welcome-embed and Petto confirms it

In Discord: the welcome uses the saved embed welcome-embed.

Petto lists the welcome channel #welcome, no embed template and the plain message

In Discord: the channel, the embed and the message of the welcome.

kira runs !welcome test in #welcome, Petto welcomes kira as member 1841 and says the test was sent

In Discord: the test posts the welcome with your own account, then confirms it.

Petto answers that welcome messages are not fully configured and to use !welcome setup first

In Discord: a test before the welcome has a channel and a message.

Petto confirms that welcome messages are disabled

In Discord: the welcome messages are turned off.

liam types !welcomeconfig and Petto answers with the current settings of the welcome messages, the commands and a Documentation button

In Discord: !welcomeconfig, the settings of the welcome messages and the commands to change them.

embed takes priority over message if both are set. test sends the message with your own account as the new member, without anyone actually joining. !welcome also works as !wc. !welcomeconfig shows what is set now for the welcome messages and every command to change it.
Write --message before a text message. Without it, the first word after the channel is read as the name of a saved embed: !welcome setup #welcome Hello {user} looks for an embed called Hello. An embed code does not need --message: !welcome setup #welcome {embed}$v{description: Hello {user.mention}}$v{button: green && Rules && embed:rules} saves it whole as the message, with its buttons.
kira types !welcome setup #welcome Hello {user} and Petto answers that no embed named Hello was found

In Discord: without --message, the first word is read as the name of a saved embed.

When the welcome is sent

By default the welcome is sent the moment the member joins, as it always was. A server can choose when it goes out (dashboard: Security → Join Gate → Messages → Welcome → Send the welcome): This only works when Membership Screening or Server Onboarding is turned on in Discord (Server Settings → Safety Setup and Onboarding). A member who is not waiting for anything (a bot, someone who already finished, a member who left and came back) is welcomed at once. Only the welcome waits. Everything else stays immediate: the DM on join often carries the rules or verification steps and the ping on join exists to bring the member in, so both go out at once, and so do the join logs, the invite tracking, the join roles and the level bonus. A member who leaves before the welcome is sent is dropped, a waiting welcome survives a restart of Petto, and a wait that lasts 7 days is forgotten. If you turn the setting off while members wait, they are not welcomed late: only new members are welcomed at once.

Second welcome

A server can have two welcomes: for example one in a welcome channel and another in the general chat. The second one has its own channel, message (or saved embed or design, with the same variables) and its own switch. It is sent right after the first one, follows the same wait setting, and if one cannot be posted (the channel is gone or Petto cannot write in it) the other is still sent; the log says it once an hour.
!welcome status and !welcome test cover both welcomes, and the dashboard has a Second welcome card next to the first one.

Examples

Every example can be pasted as it is. The results show what a member called Liam sees when he joins Cozy Corner as its 1,204th member.
Command
Result

Using a saved embed

1

Make the embed

Build it in the dashboard’s Embeds page, or from one code:
Command
kira creates welcome-embed from one code and Petto answers with the embed: Welcome to Petto Land, member number 1841

In Discord: the embed is saved from one code and Petto shows it filled for you.

2

Point the welcome at it

Command
Petto confirms that welcome messages go to #welcome with the embed welcome-embed

In Discord: the welcome now uses welcome-embed.

3

Try it

Command
You get the embed in #welcome with your own name, avatar and the real member count.
kira runs !welcome test and Petto posts the welcome embed for kira with her avatar and member number 1841

In Discord: the test posts the embed with your name, avatar and the real member count.

Variables

Every variable works. The ones made for welcomes:
The Messages tab with the Variables menu open over the welcome message, listing {user}, {user.mention}, {user.name} and more

Dashboard → Security → Join Gate → Messages: the Variables menu lists every variable; click one to copy it.

Put a ! before a mention (!@everyone, !@Moderators) to show it without notifying anyone: see Silent mentions.

DM on Join

A private message to every new member.

Leave messages

The same, when someone leaves.