Package Exports
- @purinton/welcomer
- @purinton/welcomer/welcomer.mjs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@purinton/welcomer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@purinton/welcomer 


A minimal Discord bot that replies to every message in a specific welcome channel with a 👋 emoji. No slash commands, no configuration beyond a few environment variables.
Table of Contents
- Features
- Getting Started
- Configuration
- Running as a Service (systemd)
- Docker
- Customization
- Testing
- Support
- License
Features
- Replies to every message in your configured welcome channel with a 👋 emoji
- No slash commands or user interaction required
- Simple configuration: just set your channel ID in
.env
- Modern Node.js, ESM, and Docker support
- Logging and signal handling via
@purinton/common
Getting Started
Clone this project:
git clone https://github.com/purinton/welcomer.git cd welcomer npm install
Configure your bot:
Copy
.env.example
to.env
:cp .env.example .env
Edit
.env
and set your Discord bot token and the channel ID you want the bot to watch:LOG_LEVEL=info DISCORD_CLIENT_ID=your_client_id_here DISCORD_TOKEN=your_app_token_here WELCOME_CHANNEL_ID=your_welcome_channel_id_here
Start the bot locally:
npm start # or node welcomer.mjs
Configuration
All configuration is handled via environment variables in the .env
file. The only required variable for basic operation is WELCOME_CHANNEL_ID
.
See .env.example
for the full list:
LOG_LEVEL=info
DISCORD_CLIENT_ID=your_client_id_here
DISCORD_TOKEN=your_app_token_here
WELCOME_CHANNEL_ID=your_welcome_channel_id_here
Running as a Service (systemd)
Copy
welcomer.service
to/usr/lib/systemd/system/welcomer.service
.Edit the paths and user/group as needed.
Reload systemd and start the service:
sudo systemctl daemon-reload sudo systemctl enable welcomer sudo systemctl start welcomer sudo systemctl status welcomer
Docker
Build the Docker image:
docker build -t welcomer .
Run the container:
docker run --env-file .env welcomer
Customization
This bot is intentionally minimal. If you want to change the emoji, channel, or add more features, edit the event handler in events/messageCreate.mjs
.
You can add more event handlers in the events/
directory if you want to expand functionality.
Testing
Run tests with:
npm test
Add your tests in the tests/
folder.
Support
For help, questions, or to chat with the author and community, visit: