A Discord bot for Helldivers 2 players, delivering real-time game updates, war status tracking, and community features.
- ๐ Real-time war status updates from Helldivers 2
- ๐จ Automated notifications for planet losses, victories, and major events in designated channels
- ๐บ๏ธ Planet tracking with liberation progress
- ๐ Statistical reporting on community efforts
- ๐ Major Order notifications and completion tracking
- ๐ค Discord slash commands for game information
- ๐ Automatic deployment via CI/CD pipeline
- ๐ณ Containerized deployment with Docker
- Node.js
- Discord.js (Bot framework)
- Docker (Containerization)
- GitHub Actions (CI/CD)
- ESLint (Code quality)
- PostgreSQL (Database)
- Redis (Caching)
Before you begin, ensure you have:
- โ Node.js 18+
- โ Discord bot token and application
- โ PostgreSQL database (e.g., Neon)
- โ Redis instance (e.g., Upstash)
- โ Docker and Docker Compose (for production)
- โ GitHub account (for CI/CD)
git clone https://github.com/thmslfb/helldivers-discord-bot.git
cd helldivers-discord-botnpm installcp .env.example .env# Discord.js
TOKEN="your-discord-bot-token"
GUILD_ID="your-discord-server-id"
USER_ID="your-discord-user-id"
ROLE_ID="role-id-for-permissions"
CLIENT_ID="your-bot-client-id"
# Channels
WAR_UPDATES_CHANNEL_ID="channel-for-war-updates"
# Database
DATABASE_URL="postgresql://username:password@localhost:5432/helldivers"
# Redis
REDIS_URL="rediss://:<password>@<upstash-endpoint>:6379"
# API
DIVEHARDER_API_URL="https://api.diveharder.com/v1"
HELLDIVERS_API_URL="https://api.helldivers2.dev/api/v1"
# Info
SUPER_CLIENT="your-client-identification"
SUPER_CONTACT="your-contact-info"Start the development server:
node .Run with Docker Compose:
docker compose up -dThis project is configured with a robust CI/CD pipeline using GitHub Actions:
- โ Automated testing on every PR and push
- โ Code quality checks with ESLint
- โ Build verification to ensure Docker compatibility
- ๐ Automatic deployment when code is merged to main
- ๐ก๏ธ SSH-based secure deployments to production server
- ๐ Deployment status reporting with detailed logs
The bot currently supports:
/superstore- Get the current Superstore rotation
Coming soon:
- Commands for Terminids, Illuminists and Automatons
- War status tracking
- Planet information
- And many others!
Note: Additional commands are under active development and will be released in future updates.
The bot sends automated messages to your configured war-updates channel when:
- ๐ด A planet is lost to enemy forces
- ๐ข A planet is liberated by Super Earth forces
- ๐๏ธ Major Orders are completed or failed
- ๐ War state changes significantly
- ๐ Game patches and updates are released
- ๐ฎ New Warbonds become available
Note: Some notification features are still in development and will be rolled out in future updates.
This project is licensed under the MIT License - see the LICENSE file for details.
We welcome contributions! Here's how you can help:
- ๐ด Fork the repository
- ๐ฟ Create your feature branch (
git checkout -b feature/amazing-feature) - ๐พ Commit your changes (
git commit -m 'Add some amazing feature') - ๐ค Push to the branch (
git push origin feature/amazing-feature) - ๐ฏ Open a Pull Request
Need help? Please open an issue in the repository.
Special thanks to these amazing projects: