JSPM

@purinton/welcomer

1.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q31066F
  • License MIT

A minimal Discord bot that replies to every message in a specific channel with a 👋 emoji.

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 Dev

@purinton/welcomer npm versionlicensebuild status

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

  • 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

  1. Clone this project:

    git clone https://github.com/purinton/welcomer.git
    cd welcomer
    npm install
  2. 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
  3. 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)

  1. Copy welcomer.service to /usr/lib/systemd/system/welcomer.service.

  2. Edit the paths and user/group as needed.

  3. Reload systemd and start the service:

    sudo systemctl daemon-reload
    sudo systemctl enable welcomer
    sudo systemctl start welcomer
    sudo systemctl status welcomer

Docker

  1. Build the Docker image:

    docker build -t welcomer .
  2. 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:

Discord

Purinton Dev on Discord

License

MIT © 2025 Russell Purinton