Server Configuration

Welcome

Set up customizable greeting messages for your server

Overview

Set a customizable welcome message that automatically sends once a user joins the server.

Welcome messages only send after you set BOTH a channel and enable the feature. Nothing will send until both are configured.

Getting Started

Enable the welcome system

Initialize the welcome feature with:

,welcome setup

This creates a default configuration. You can always reset everything with ,welcome reset.

Set the welcome channel

Choose where greed sends the message when members join:

,welcome channel #welcome

greed must have permission to send messages in this channel.

Write your welcome message

Customize the template using variables and embeds:

,welcome message {embed}{title: Welcome!}{description: Welcome {user.mention}!}

Use ,welcome preview to test before saving.

Test the message

Preview how your message looks with yourself as the joining member:

,welcome test

greed will DM or send the rendered message to you for inspection.

Verify it's working

Once enabled, the message sends automatically when new members join. Check your configured welcome channel permissions to ensure messages are being delivered.


Available Variables

Welcome messages have access to the following context:

  • {user.*} — The joining member (all user fields listed below)
  • {guild.*} — Your server's properties
  • {channel.*} — The welcome channel properties

User Variables

VariableDescriptionExample
{user}Usernamemoonpie
{user.mention}Mention tag<@123456789>
{user.name}Username onlymoonpie
{user.id}Discord ID123456789
{user.tag}Username with tag (old format)moonpie#0001
{user.avatar}Avatar URLhttps://cdn.discordapp.com/avatars/...
{user.display_name}Display name (nickname or username)moonpie or custom nickname
{user.bot}Is bot?Yes or No
{user.created_at}Account creation date (Discord timestamp)<t:1234567890:F>
{user.created_at_timestamp}Unix timestamp1234567890
{user.joined_at}Join date (Discord timestamp)<t:1234567890:F>
{user.joined_at_timestamp}Unix timestamp1234567890
{user.top_role}Highest role nameMember or N/A
{user.role_list}Comma-separated role namesMember, Verified, Active
{user.color}Hex color of highest role#FF0000 or N/A
{user.join_position}Position in join order42 or N/A
{user.join_position_suffix}Join position with ordinal42nd or N/A
{user.boost}Currently boosting?Yes or No
{user.boost_since}Boost start date (Discord timestamp)<t:1234567890:F> or N/A
{user.guild_avatar}Server-specific avatar URLURL or N/A

Guild Variables

VariableDescriptionExample
{guild}Server nameMy Awesome Server
{guild.name}Server nameMy Awesome Server
{guild.id}Server ID987654321
{guild.count}Member count (formatted)1,234
{guild.member_count}Member count (formatted)1,234
{guild.created_at}Server creation date (Discord timestamp)<t:1234567890:F>
{guild.created_at_timestamp}Unix timestamp1234567890
{guild.icon}Server icon URLhttps://cdn.discordapp.com/icons/...
{guild.banner}Server banner URLhttps://cdn.discordapp.com/banners/...
{guild.boost_count}Number of boosts5
{guild.boost_tier}Boost level1, 2, 3, or No Level
{guild.emoji_count}Custom emoji count50
{guild.role_count}Total roles25

Channel Variables

VariableDescriptionExample
{channel}Channel namewelcome
{channel.name}Channel namewelcome
{channel.mention}Channel mention<#123456789>
{channel.id}Channel ID123456789
{channel.topic}Channel topicWelcome new members! or N/A

Template Examples

Simple Plain Text

Copy and paste to try:

,welcome message Welcome to {guild.name}, {user.mention}! You are our #{user.join_position}th member. Enjoy your stay!

Embedded Welcome with Rich Content

,welcome message {embed}{color: 5814783}{title: Welcome to {guild.name}!}{description: Hey {user.mention}, we're excited to have you here! Our server has {guild.member_count} awesome members.}{field: Account Age|Your account was created {user.created_at}}{field: Your Roles|{user.role_list}}{thumbnail: {user.avatar}}

Welcome with Conditional Logic

Use conditionals to customize based on available information:

,welcome message Welcome {user.mention}!{if {user.boost}}This member is boosting!{else}Looking forward to your contributions!{/if}

Another conditional example based on join position:

,welcome message {embed}{title: Welcome!}{description: {user.mention} just joined us!}{if {user.join_position} == 1}Wow, you're our first member!{elseif {user.join_position} < 100}You're an early member - number {user.join_position}!{else}We now have {user.join_position} members!{/if}}

Customization

Embed Formatting

Use embed syntax to create visually rich messages:

,welcome message {embed}{color: 5814783}{title: Welcome to {guild.name}}{description: {user.mention} has joined! Total members: {guild.member_count}}{field: Account Created|{user.created_at}}{field: Top Role|{user.top_role}}{thumbnail: {user.avatar}}

Using Custom Scripts

Save a reusable welcome template by name:

,custom save welcome-pro {embed}{color: 5814783}{title: Welcome!}{description: {user.mention} just arrived}{thumbnail: {user.avatar}}

Then apply it:

,welcome message {cscript:welcome-pro}

Custom script names must start with a letter or number and contain only lowercase letters, numbers, hyphens, and underscores (max 32 characters). You can save up to 100 custom scripts per server.


Management

View Current Message

See the template currently saved:

,welcome view

If using the default, it will display the default template.

Preview the Message

Test how your message renders with yourself as the joining member:

,welcome test

greed will show you the exact message formatting, embeds, and content.

Reset to Default

Return to greed's default welcome template:

,welcome reset

This clears your custom message entirely.


Troubleshooting

Messages Aren't Sending

  1. Channel Deleted or Inaccessible: Verify the configured channel still exists and greed has Send Messages permission there. Use ,welcome view to check the channel.
  2. Feature Not Enabled: Both a channel and the enable flag must be set. Run ,welcome setup to initialize.
  3. Rate Limit (20 joins/minute): If many members join rapidly (20+ in 60 seconds), messages are paused to prevent spam. Welcome resumes after the rate-limit window passes.
  4. Template Error: If your script has syntax errors, the message fails silently. Use ,welcome test to catch rendering issues before deployment.
  5. Bots Not Welcomed: greed does not send welcome messages to bot accounts.

Template Renders Empty or Broken

  • Check that variable names are spelled correctly (e.g., {user.mention} not {user.name.mention}).
  • For conditional logic, ensure the syntax is {if condition}{content}{/if} with no nesting errors.
  • Use ,welcome test to preview the rendered output and catch typos.

Embeds Not Appearing

  • Verify the {embed} syntax follows the embed resource guide.
  • Color codes must be valid hex (6 digits) or decimal integers.
  • Use ,welcome test to preview embeds before saving.

If the configured channel is deleted or greed loses permission to send messages there, welcome messages will silently fail to send. Verify the bot has permission to send messages in the welcome channel before investigating other issues.