Skip to content

๐Ÿค– A Discord bot for Helldivers 2 players, delivering real-time game updates, war status tracking, and community features.

License

Notifications You must be signed in to change notification settings

thmslfb/helldivers-discord-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

79 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Super Earth Broadcast ย Super Earth Broadcast Logo

A Discord bot for Helldivers 2 players, delivering real-time game updates, war status tracking, and community features.


โœจ 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

๐Ÿ› ๏ธ Tech Stack

  • Node.js
  • Discord.js (Bot framework)
  • Docker (Containerization)
  • GitHub Actions (CI/CD)
  • ESLint (Code quality)
  • PostgreSQL (Database)
  • Redis (Caching)

๐Ÿ“‹ Prerequisites

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)

๐Ÿš€ Installation

1. Clone the repository:

git clone https://github.com/thmslfb/helldivers-discord-bot.git
cd helldivers-discord-bot

2. Install dependencies:

npm install

3. Set up environment variables:

cp .env.example .env

4. Configure your .env file:

# 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"

๐Ÿƒโ€โ™‚๏ธ Development

Start the development server:

node .

๐Ÿณ Docker Development

Run with Docker Compose:

docker compose up -d

๐Ÿ”„ CI/CD Pipeline

This project is configured with a robust CI/CD pipeline using GitHub Actions:

Continuous Integration (CI)

  • โœ… Automated testing on every PR and push
  • โœ… Code quality checks with ESLint
  • โœ… Build verification to ensure Docker compatibility

Continuous Deployment (CD)

  • ๐Ÿš€ Automatic deployment when code is merged to main
  • ๐Ÿ›ก๏ธ SSH-based secure deployments to production server
  • ๐Ÿ“Š Deployment status reporting with detailed logs

๐Ÿค– Bot Commands

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.

Automated Notifications

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.

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create your feature branch (git checkout -b feature/amazing-feature)
  3. ๐Ÿ’พ Commit your changes (git commit -m 'Add some amazing feature')
  4. ๐Ÿ“ค Push to the branch (git push origin feature/amazing-feature)
  5. ๐ŸŽฏ Open a Pull Request

๐Ÿ’ฌ Support

Need help? Please open an issue in the repository.

๐Ÿ‘ Acknowledgments

Special thanks to these amazing projects:

About

๐Ÿค– A Discord bot for Helldivers 2 players, delivering real-time game updates, war status tracking, and community features.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published