Skip to content

Repository files navigation

Platform Discord Service

Discord bot integration and real-time event worker for community rankings, telemetry, and automated announcements.

Features

  • Slash commands for browsing rounds, entries, leaderboards, and results.
  • Automated background worker listening to SSE events for real-time announcements and alerts.
  • Permission-gated moderator tooling and channel configuration.

Setup

  1. Copy environment file and configure credentials:
cp .env.example .env
  1. Install dependencies:
npm install
  1. Register slash commands:
npm run deploy:commands
  1. Build and start:
npm run build
npm start

Docker

Dockerfile builds a production image that runs as the unprivileged node user. .github/workflows/docker-publish.yml publishes it to ghcr.io/seraphinteractive/platform-discord on every push to main (latest, main, sha-<short>) and on v*.*.* tags (X.Y.Z, X.Y); pull requests only build.

docker build -t platform-discord .
# /app/data holds the channel settings chosen with /set-announcement-channel: keep it on a volume
docker run --rm --env-file .env -v bot_data:/app/data platform-discord
# register slash commands from inside the image (no tsx needed)
docker run --rm --env-file .env platform-discord node dist/bot/deploy-commands.js

The production stack (API, Postgres, Redis, Dokploy) lives in Platform-Deployment.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages