Skip to main content

Welcome Config

Manage the welcome message the bot sends when a new member joins.

Privileged intent required

Welcome messages require the Server Members Intent to be enabled in the Discord Developer Portal under Bot → Privileged Gateway Intents.


GET /guilds/:id/welcome​

Returns the current welcome configuration for a guild.

Path parameters​

ParameterDescription
idDiscord guild snowflake ID

Response​

200 OK​

{
"welcomeConfig": {
"guildId": "1234910949220028456",
"enabled": true,
"channelId": "8765432109876543210",
"message": "Welcome {user} to **{server}**! You are member #{memberCount}.",
"updatedAt": "2025-06-01T12:00:00.000Z"
}
}

welcomeConfig is null if the guild has never been configured.

FieldTypeDescription
welcomeConfig.enabledbooleanWhether welcome messages are active
welcomeConfig.channelIdstringChannel snowflake ID where messages are sent
welcomeConfig.messagestringMessage template
welcomeConfig.updatedAtstringISO 8601 timestamp of last update

Example​

curl https://api.guacamoleninja.com/guilds/1234910949220028456/welcome \
-H "Authorization: Bearer $BOT_API_SECRET"

PATCH /guilds/:id/welcome​

Updates welcome message configuration. Only fields included in the body are changed.

Returns 404 if the guild is unknown or the bot has left.

Path parameters​

ParameterDescription
idDiscord guild snowflake ID

Request body​

All fields are optional. Include at least one.

{
"enabled": true,
"channelId": "8765432109876543210",
"message": "Hey {user}, welcome to **{server}**! 🎉",
"actorId": "123456789012345678",
"actorName": "Mario"
}
FieldTypeConstraintsDescription
enabledboolean—Enable or disable welcome messages
channelIdstringMax 100 chars, numeric or empty stringDiscord channel snowflake ID. Pass "" to clear
messagestring1–500 charactersMessage template
actorIdstringOptionalDiscord user ID — used for audit log
actorNamestringOptionalDisplay name — used for audit log

Message template variables​

VariableReplaced with
{user}Discord mention, e.g. <@123456789>
{username}Discord username without discriminator
{server}Guild display name
{memberCount}Total member count after the join

Response​

200 OK​

{
"welcomeConfig": {
"guildId": "1234910949220028456",
"enabled": true,
"channelId": "8765432109876543210",
"message": "Hey {user}, welcome to **{server}**! 🎉",
"updatedAt": "2025-06-05T18:00:00.000Z"
}
}

400 Bad Request​

{ "error": "message must be 1-500 chars" }

404 Not Found​

{ "error": "Guild not found" }

Example​

curl -X PATCH https://api.guacamoleninja.com/guilds/1234910949220028456/welcome \
-H "Authorization: Bearer $BOT_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"enabled": true, "channelId": "8765432109876543210", "message": "Welcome {user}!"}'