Plugins

Welcome & Goodbye

Greet new members and say farewell when they leave — channel, text or embed, a rendered banner, auto roles and the placeholder set for each.

Two independent messages: one when someone joins, one when someone leaves. Each has its own channel and its own content, and either can be left unconfigured.

LicenseFree — no premium needed
TabsWelcome · Goodbye
NeedsSend Messages and Embed Links in the target channels, plus the Server Members intent

Welcome message

Welcome channel

Optional

Where the greeting is posted. The channel must allow Cloudy to Send Messages. Leave it empty and no welcome message is posted at all, whatever the text says.

Welcome text

Up to 2000 characters

Posted when a member joins. Empty falls back to the built-in greeting in your server's language. Supports Markdown and these placeholders:

PlaceholderBecomes
{user} / {user.mention}A mention — pings the new member
{user.name}Display name, no ping
{username}Discord username
{user.tag}Full tag
{user.id}Numeric user id
{server} / {server.name}Server name
{server.memberCount}Current member count
Welcome {user} — you are member #{server.memberCount}!
Read #rules, then say hi in #general.

Text or embed

Above the editor is a switch between Plain text and Embed. Embed mode gives you the full embed builder with a live preview; switching to it seeds the embed from your plain text so you never start empty. In embed mode the bot mentions the new member above the embed, so they are still pinged.

Switching back to plain text keeps your text. Internally an empty embed is text mode — there is no third state.

Auto roles

Up to 10 roles handed to every new member on join. This runs independently of the welcome message — a server can hand out roles without posting anything, and it is not switched off by the plugin's master switch: as long as roles are listed, they are applied.

Cloudy needs Manage Roles, and each role must sit below Cloudy's own highest role. Roles managed by an integration (bots, boosters) can never be granted and are not offered in the picker. A role that fails these checks is skipped and the rest are still applied.

With Discord's rules screening on, a new member gets the auto roles only after accepting the rules — a role granted earlier would let them skip the screening.

Goodbye message

Goodbye channel

Optional

Where the goodbye message is posted. Often a staff-only channel — a public "X has left" line every time someone quits gets old fast.

Goodbye text

Up to 2000 characters

Same placeholders as the welcome text, with one important difference:

{user} renders as the plain username, not a mention. The member has already left the server, so a mention would point at nobody and Discord would render a raw id.
{user} left the server. We are now {server.memberCount} members.

Goodbye also supports embed mode, with its own independent design.

Welcome and goodbye cards

A card is a rendered image — avatar, name, an accent and an optional background — attached to the greeting. Join and leave each have their own, configured independently.

The card is orthogonal to the message mode: it attaches to plain text and to an embed alike. You are not choosing between a card and a message, you are adding a picture to whichever one you use.

SettingEffect
EnabledOff keeps the design but stops attaching it
TitleThe tracked uppercase label above the name, up to 24 characters. Empty = Welcome / Goodbye in your server language
SubtitleThe line under the name, up to 80 characters. Supports the same placeholders as the message; {user} is the plain name, since an image cannot mention anyone. Empty = You are member #n of … / Thanks for being part of …
Accent colourCorner ticks and label on the welcome card. Empty = Cloudy violet. The goodbye card is deliberately drawn without an accent
Background imageAn http(s) image URL, drawn desaturated and heavily dimmed inside the frame
This is the part of Cloudy that everyone in your server sees, not just the admin. A card with your own accent colour and a background from your server's theme is the cheapest identity work available to you.

Leaving a card unconfigured is not the same as switching it off. An unconfigured card means the greeting behaves exactly as it did before; switching an existing one off keeps your title, subtitle and background so a toggle does not discard the setup.

Cloudy needs Attach Files in the greeting channel. Without it the message still posts — the card just silently does not.

Which events count

  • Join — any human member joining, including someone rejoining after leaving. Bots are never greeted, and neither is a member that raid protection or the account age gate quarantined, kicked, banned or gave the new-account role on arrival.
  • Leave — leaving voluntarily, being kicked, or being banned. Discord's gateway does not distinguish these, so all three produce a goodbye message. Bots leaving are skipped, and so is a member that raid protection or the account age gate kicked or banned on arrival — no goodbye (and no card) per raider.

If you need to tell kicks from voluntary leaves, enable the Mod actions category in Moderation logging.

Requirements you can get wrong

The Server Members intent

Without it, Discord never tells the bot about joins and leaves. The hosted Cloudy bot has it enabled. If you run a custom bot, you must switch it on yourself — this plugin is the first thing that breaks when you forget.

Channel permissions

Cloudy needs Send Messages and, for embeds, Embed Links in the target channel. A channel the bot cannot post in produces no message and no error anywhere visible.

The plugin toggle

Both messages are gated by the plugin's master switch. Configured but disabled posts nothing — auto roles are the one exception and keep running.

  • Placeholders — the full list, with mention behaviour
  • Verification — if new members should pass a captcha before seeing the server
  • Automations — for anything conditional on join beyond a fixed role set