Skip to content
/ combat Public

a Discord Multi-bot to setup and manage discord communities...

License

Notifications You must be signed in to change notification settings

eliware/combat

Repository files navigation

eliware.org

@eliware/combat npm versionlicensebuild status

A modern Discord app built with Node.js, based on the @eliware/discord foundation.


Table of Contents

Features

  • Discord.js-based app with ESM support
  • Command and event handler architecture
  • Multi-language/localized responses
  • Environment variable support via dotenv
  • Logging and signal handling via @eliware/common
  • Ready for deployment with systemd or Docker
  • Jest for testing

Getting Started

  1. Clone this project:

    git clone https://github.com/eliware/combat.git
    cd combat
    npm install
  2. Set up your environment:

    • Copy .env.example to .env and fill in your Discord app token and other secrets.
    • Edit package.json (name, description, author, etc.)
    • Update this README.md as needed.
  3. Start the app locally:

    npm start
    # or
    node combat.mjs

Configuration

  • All configuration is handled via environment variables in the .env file.
  • See .env.example for required and optional variables.

Running as a Service (systemd)

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

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

  3. Reload systemd and start the service:

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

Docker

  1. Build the Docker image:

    docker build -t combat .
  2. Run the container:

    docker run --env-file .env combat

Customization

Commands

  • Add new commands in the commands/ directory.
  • Each command has a .json definition (for Discord registration/localization) and a .mjs handler (for logic).

Events

  • Add or modify event handlers in the events/ directory.
  • Each Discord event (e.g., ready, messageCreate, interactionCreate) has its own handler file.

Locales

  • Add or update language files in the locales/ directory.
  • Localize command names, descriptions, and app responses.

Testing

  • Run tests with:

    npm test
  • Add your tests in the tests/ folder or alongside your code.

Support

For help, questions, or to chat with the author and community, visit:

Discordeliware.org

eliware.org on Discord

License

MIT © 2025 Eli Sterling, eliware.org

Links

About

a Discord Multi-bot to setup and manage discord communities...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published