A Rust-based Discord bot that monitors website health and sends real-time alerts via Discord slash commands and DMs.
- 🔍 Automated Health Checks - Periodic HTTP monitoring of configured services
- 📊 Slash Commands - Modern Discord interaction with
/subscribe,/status,/ping,/interval - 🔔 Smart Notifications - Alerts on status changes (up/down/degraded)
- ⚙️ Configurable - Adjust check intervals and service endpoints via TOML
- Rust 1.70+
- Discord Bot Token
- Discord Application ID
-
Clone and build:
cargo build --release
-
Configure environment (
.env):DISCORD_TOKEN=your_bot_token APPLICATION_ID=your_application_id TARGET_USER_ID=your_user_id FALLBACK_CHANNEL_ID=fallback_channel_id
-
Configure services (
services.toml):[[service]] name = "Example API" url = "https://api.example.com/health"
-
Run:
./target/release/discord-health-check-bot
/subscribe- Subscribe to health check alerts/status- View current status of all services/ping- Check if bot is responsive/interval [seconds]- View or set check interval (60-3600s)
- Rust - Performance and reliability
- Serenity - Discord API client
- Tokio - Async runtime
- Reqwest - HTTP health checks
MIT