Send a custom message to a channel when a member joins or leaves your server, and optionally DM the member too. Four independent message slots, seven template tags, and a live preview.
Join / Leave notifications let Mokito welcome new members and acknowledge departures automatically. When a member joins your server, Mokito can post a message in a channel you choose and send them a direct message. When a member leaves, Mokito can do the same — a public channel message and a DM. The four messages are entirely independent: you can turn on any combination, from just the channel welcome to all four, or none at all.
The settings live at Notifications → Join / Leave in the guild dashboard sidebar. Everything is configured on a single page: enable each message, pick a destination channel for the public ones, write your templates with tags, and watch the live preview update as you type.
When a member joins or leaves your server, Mokito checks which messages you have enabled and sends each one:
Each slot has its own on/off toggle, so you can mix and match freely. For example, you might enable only the channel welcome, or the channel welcome plus a DM goodbye, or all four, or none.
Only the server owner and managers can access and change the Join / Leave settings. Moderators, support team members, and regular members cannot see this page. For details on what each dashboard role can do, see Dashboard Roles.
The page opens with a summary showing how many of the four messages are currently enabled and the last time any message was actually sent. Below the summary, each of the four message slots is a separate card with its own enable toggle, channel picker (for the public slots), message template, and live preview.
At the bottom of the page, an Available tags reference widget lists every template tag you can use, and a single Save notifications button saves all four slots at once.
Each slot is a card on the page. The four slots are always shown in the same order:
| Slot | Icon | What it does | Needs a channel? |
|---|---|---|---|
| Channel welcome message | Posted in a channel when a member joins. | Yes | |
| Channel leave message | Posted in a channel when a member leaves. | Yes | |
| DM welcome message | Direct-messaged to the member who joined. | No | |
| DM goodbye message | Direct-messaged to the member who left. | No |
The two channel slots (welcome and leave) post a message in a channel inside your server. You pick the destination channel for each one independently. The two DM slots (welcome and goodbye) send a direct message to the member — no channel is needed. DMs are sent straight to the member's Discord inbox.
Each slot has an on/off toggle at the top of its card. Click the On (✓) side to enable the message, or the Off (×) side to disable it. A disabled message is never sent, even if the template has content. The toggle takes effect after you click Save notifications at the bottom of the page.
For the two public channel slots, you pick where the message is posted. Type a channel name to search the channels in your server, or paste a channel ID. Only text channels and announcement channels are listed — threads, voice channels, stage channels, forum channels, and category channels cannot be used.
If no text channels appear in the list, refresh your guild data from the Overview page first. The channel list comes from Mokito's cached copy of your server's channels.
If you save a channel and that channel is later deleted or becomes inaccessible to Mokito, the Join / Leave page shows an amber warning next to that slot: the saved channel ID is no longer in the local channel list. Pick a new channel and save, or clear the channel field to disable that message. Mokito does not silently clear the saved channel — it stays until you change it — but messages will fail to post until you fix it.
Each slot has a message template — a free-text field where you write what the message should say. Templates can be up to 2000 characters (Discord's message cap). You write one template per slot, and it is used every time that slot fires.
If you leave a template field empty, Mokito uses a built-in default for that slot so your members always get a sensible message even if you have not customized it.
Each slot has a default message that is used when your template is empty. The defaults are:
| Slot | Default template |
|---|---|
| Channel welcome | Welcome to {guild}, {user}! |
| Channel leave | {user} just left {guild}. We now have {membersCount} members. |
| DM welcome | Welcome to {guild}! |
| DM goodbye | Sorry to see you go from {guild}. |
The default placeholder is shown inside the template field when it is empty, so you can always see what the default looks like without having to look it up.
Tags are short placeholders you drop into a template that get replaced with real values when the message is sent. For example, {guild} becomes your server name and {user} becomes the name of the member who joined or left.
| Tag | What it inserts | Example |
|---|---|---|
{guild} | Your Discord server name. | My Cool Server |
{user} | The name of the member joining or leaving. | BippyMiester |
{owner} | The name of the server owner. | ServerOwner |
{date} | The current date (UTC). | 2026-06-26 |
{time} | The current time (UTC). | 14:32:05 |
{membersCount} | The current number of members in your server. | 1234 |
{roleCount} | The current number of roles in your server. | 12 |
The Available tags widget at the bottom of the page lists these same seven tags with their descriptions, so you always have the reference on hand while writing your templates.
{membersCount} works; {memberscount} or {MembersCount} does not.{membresCount} — it stays in the message as literal text instead of silently disappearing. This makes typos easy to spot.Every slot card has a live preview that shows what your template looks like with sample data substituted in. The preview re-renders on every keystroke as you type in the template field, so you can see exactly how the message will appear before you save.
The sample data uses placeholder values for each tag — for example, the member name shows as BippyMiester and the server name shows as My Cool Server. The real values are substituted when the message actually fires.
Direct messages are convenient, but Discord has rules about when a bot can DM a user. Mokito handles these cases gracefully — a failed DM never causes an error or disrupts your server — but you should know about the limitations before relying on DM messages.
When a member joins, the bot and the member share your server, so Mokito can open a DM channel with them. The only common failure is if the member has DMs from non-friends disabled in their Discord privacy settings. In that case, Discord rejects the DM and Mokito does not retry. The member still joins your server normally — only the DM is skipped.
When a member leaves, things are more complicated. After the member leaves, the bot no longer shares your server with them. Discord only lets a bot open a DM if the bot and the user share at least one server in common. If the member is not in any other server that Mokito is also in, the DM cannot be delivered at all.
Even if they do share another server, the member's privacy setting (DMs from non-friends) can still block the message. Mokito does not retry failed DMs — the message is simply not delivered. Enable the DM goodbye message only if you are comfortable with some messages silently not arriving.
When Mokito first joins your server, Discord fires a member-join event for the bot itself. Mokito skips its own join event — the bot will never post a welcome message or DM for itself.
Join and leave messages are sent the moment a member joins or leaves your server. Mokito watches for these events in real time and sends each enabled message immediately. There is no delay, no polling interval, and no queue — the message goes out as soon as the event arrives.
If a message fails to send (for example, the channel was deleted, or a DM was blocked), Mokito does not retry. The event is logged internally and the next join or leave proceeds normally.
| Limit | Value |
|---|---|
| Template length | Up to 2000 characters per message. |
| Supported tags | {guild}, {user}, {owner}, {date}, {time}, {membersCount}, {roleCount}. Case-sensitive. Unknown tags left in place. |
| Default template | Used automatically when your template is empty. See the default templates table. |
| Supported channel types | Text channels and announcement channels only. |
| Channel message requires a channel | You cannot enable a channel slot without picking a destination channel. |
| DM on join | Delivered unless the member has DMs from non-friends disabled. |
| DM on leave | Only delivered if the bot still shares at least one server with the member and the member allows DMs. Not retried on failure. |
| Bot's own join | Skipped. Mokito never welcomes itself. |
| Failed messages | Not retried. The next event proceeds normally. |
| Per-server | All settings are per-server. Changing them in one server does not affect any other. |
| Premium required | None. Join / Leave notifications are free for every server. |