What it does
- Polls the official Helldivers 1 API on a configurable interval
- Detects when defend events, attack events, and wars start, succeed, or fail
- Sends notifications to one or more configured notifiers simultaneously
- Supports Discord, Telegram, stdout, and webhook as notification targets
- Persists state across restarts via a configurable store (memory, SQLite, or Valkey/Redis)
- Supports fully customizable message templates per notifier
- Supports per-notifier timezone overrides for timestamp formatting
Configuration
hellbot is configured via a YAML file. See docs/config.md for all available options and examples.
The config file location is resolved in this order:
--config <path> CLI flag
HELLBOT_CONFIG environment variable
./config.yml in the working directory
For available bot/slash commands see docs/commands.md.
Running
docker run \
-v ./config.yml:/app/config.yml \
ghcr.io/ametis70/hellbot:latest
With Docker Compose
services:
hellbot:
image: ghcr.io/ametis70/hellbot:latest
volumes:
- ./config.yml:/app/config.yml
restart: unless-stopped
Kubernetes
See docs/helm.md for installation with Helm, FluxCD, and secrets management.
Development
See docs/development.md for setup, running tests, building, and testing stores locally.
Contributing
Bug reports and feature requests are welcome via issues. Pull requests are also welcome — run go test ./... and gofmt before submitting.