Welcome Bot
Automatically welcomes new members and assigns roles.
Code
javascript
bot name "WelcomeNewt"
bot prefix "!"
bot token from env "DISCORD_TOKEN"
on join:
give user role "Member"
say embed:
title "Welcome, {user.username}!"
description "Read #rules first, then say hello in #general."
color #5865F2
field "Starter role" "I gave you the Member role."
on command "role":
if user has role "Member":
reply "You already have the Member role!"
else:
give user role "Member"
reply "Done! Role given."
on leave:
say "{user.username} left the server. We'll miss them!" in channel "general"What It Does
- Automatically gives new members a "Member" role
- Sends a welcome embed with server information
- Allows users to request the Member role via
!role - Announces when members leave the server
Key Concepts
Role Management
javascript
give user role "Member"- Assigns roles to users
- Useful for onboarding workflows
Rich Embeds
javascript
say embed:
title "Welcome, {user.username}!"
description "Read #rules first, then say hello in #general."
color #5865F2
field "Starter role" "I gave you the Member role."- Creates visually appealing messages
- Supports titles, descriptions, colors, and fields
- Great for announcements and important info
Conditional Logic
javascript
if user has role "Member":
reply "You already have the Member role!"
else:
give user role "Member"
reply "Done! Role given."- Checks if user already has a role
- Prevents duplicate role assignments
- Provides feedback to users
How to Run
bash
newt build welcome-bot.newt --out welcome-bot
cd welcome-bot
npm install
DISCORD_TOKEN="your-token" npm startUse Cases
- Community onboarding
- Automatic role assignment
- Welcome messages
- Member tracking
Extensions
- Add different welcome messages for different roles
- Create a rules quiz before granting roles
- Send welcome DMs instead of channel messages
- Track join analytics