Never miss a raid again! Get instant notifications on your phone, auto-launch Rust, flash your lights, and more when your base is under attack.
Sleek desktop app that monitors Telegram for raid alerts from Rust+ (via IFTTT) and triggers customizable pluginsโno coding required!
๐ Quick Start โข ๐ Documentation โข ๐ Plugins โข ๐ค Contributing
๐ฑ Telegram Integration
- โก Real-time message polling with configurable rate (default: 2 seconds)
- ๐ Optional keyword filtering for selective alerts
- ๐ฅ Support for channels and group chats
- โ๏ธ Easy configuration via in-app Settings dialog
- ๐ Auto-retry on connection failures
๐ฎ IFTTT + Rust+ Integration
- ๐ Connect your Rust server to automatically send raid alarms
- ๐ฏ Trigger on events: raids, cargo ship, helicopter, player activity
- ๐ Customize alert messages with smart-alarm data
- ๐บ Video tutorials included! See IFTTT Setup Guide
๐ Plugin Architecture
- ๐ Built-in Plugin Store with search + one-click install/update/uninstall
- ๐ Auto-discovered from
plugins/folder every 5 seconds - ๐ฅ Hot-reload: add/remove plugins without restarting
- ๐ Supports both single-file (
plugin.py) and package (plugin/__init__.py) formats - ๐ ๏ธ Plugin base API for UI widgets, config persistence, Telegram hooks
- ๐ Example plugins included as development templates
๐จ Modern Dark UI
- ๐ Card-based layout with hero sections
- ๐ Left-side navigation with plugin tabs
- ๐ Unified dark theme (#1e1e1e background, #131418 cards, #0e639c accents)
- ๐ฑ๏ธ Drag-and-drop plugin tab reordering
- โ Per-plugin enable/disable toggles
- ๐งน Clear log button in Activity Log
- ๐ Responsive design with proper spacing and padding
Click to expand setup instructions
Just double-click run.bat!
The script will automatically:
- โ Check for Python (downloads portable version if needed)
- โ Create virtual environment
- โ Install all dependencies
- โ Launch the application
No manual setup required! ๐
git clone https://github.com/eman225511/RustPlusRaidAlarms.git
cd RustPlusRaidAlarmspip install -r requirements.txt- Create a bot with @BotFather โ get your token
- Get your chat ID โ see ๐บ Telegram Setup Guide (with video tutorials!)
- Enter credentials via the in-app Settings dialog
- Enables automatic raid alarms from your Rust server
- See ๐บ IFTTT + Rust+ Setup Guide for step-by-step instructions
Windows:
run.batmacOS/Linux:
python main.py- Navigate to plugin tabs in the left sidebar
- Configure LED devices, phone numbers, audio files, Discord webhooks, etc.
- Use the โ help buttons for setup guides
- Click test buttons to verify everything works
- Enable the plugins you want with the checkboxes!
Plugins are automatically loaded from the
plugins/directory and appear in the left sidebar. No core code changes neededโjust drop in your plugin and it's ready!
- Open Plugins โ Store in the app
- Use the search bar to filter by name/author/tag
- Click Install or Update; uninstall from the Installed tab
- Plugins live in your local
plugins/folder (not committed to git)
| Plugin | Description | Guide |
|---|---|---|
| ๐ก LED Controller | Flash WLED, Govee, or Philips Hue lights when raided | ๐ Guide |
| ๐ฎ Rust Auto-Connect | Automatically launch Rust and join your server | ๐ Guide |
| ๐ Twilio Caller | Call multiple phone numbers to wake you up | ๐ Guide |
| ๐ Audio Alert | Play custom sounds on multiple audio devices | ๐ Guide |
| ๐ฌ Discord Webhook | Post raid alerts to Discord with @mentions | ๐ Guide |
๐ ๏ธ Creating Your Own Plugins
- ๐ Single-file:
plugins/my_plugin.py(simple plugins) - ๐ฆ Package:
plugins/my_plugin/__init__.py(complex plugins with multiple files)
See the Plugin Development Guide for:
- โ Plugin base class and required methods
- ๐จ UI creation with PySide6/Qt
- ๐พ Config persistence patterns
- ๐จ Telegram message hooks
- ๐จ Styling guidelines
- ๐ป Complete skeleton code
- Build your plugin (single-file or package) and include metadata methods (
get_version,get_author,get_homepage). - Zip the plugin folder/file and host it (GitHub release or raw link).
- Add an entry to
index.jsonin the RustPlusRaidAlarmPlugins repo with your metadata and download URL, then open a PR. - Keep version numbers updated for smooth Update prompts.
plugins/example_plugin/โ Package-based plugin with advanced featuresplugins/simple_example.pyโ Minimal single-file implementation
|
|
|
Control smart LED devices with trigger-on-message support โ Full Guide
- WLED โ WiFi-enabled LED controllers
- Govee โ Cloud-based smart lighting (requires API key)
- Philips Hue โ Zigbee bridge-based smart bulbs
- On/Off โ Simple power control
- Color โ RGB color picker with hex preview
- Effect โ WLED animated effects (0โ255)
- Preset โ WLED saved presets (0โ255)
- Scene โ Govee predefined scenes (0โ50)
- Brightness โ Intensity control (WLED: 0โ255, Govee: 0โ100%)
Each device type requires specific credentials:
- WLED: Device IP address
- Govee: API key, device ID, device model
- Philips Hue: Bridge IP, bridge username
See the LED Plugin Guide for detailed setup instructions and troubleshooting.
All settings are stored in config.json (auto-created on first launch)
- Bot token and chat ID (configured via Settings dialog)
- Polling rate (seconds between checks)
- Keyword filter toggle and keyword
- Device type (WLED/Govee/Hue)
- Device credentials (IP/API keys/bridge info)
- Default action and parameters (color, effect, preset, scene, brightness)
| Method | Description |
|---|---|
| โ Recommended | Use the in-app Settings dialog and plugin UIs |
| ๐ Manual | Edit config.json directly (close app first to avoid overwrites) |
| ๐ Reset | Delete config.json to restore defaults |
| ๐ Template | config.example.json is provided; copy to config.json if needed |
show_example_pluginsโ show/hide example plugins in sidebarplugin_enabled_<PluginName>โ per-plugin enable/disable state
๐ก See the Configuration Guide for the complete
config.jsonschema and field descriptions.
Click to view folder layout
RustPlusRaidAlarms/
โโโ main.py # App shell, plugin loader, dark theme
โโโ telegram_service.py # Telegram polling with auto-retry
โโโ plugin_base.py # Abstract plugin base class
โโโ config.json # Auto-generated config [gitignored]
โโโ config.example.json # Template config file
โโโ requirements.txt # Python dependencies
โ
โโโ plugins/
โ โโโ led_plugin/ # ๐ก LED controller (WLED/Govee/Hue)
โ โโโ rust_connect.py # ๐ฎ Rust auto-connect
โ โโโ twilio_plugin/ # ๐ Twilio phone calls
โ โโโ audio_alert.py # ๐ Custom sound alerts
โ โโโ discord_webhook.py # ๐ฌ Discord notifications
โ โโโ example_plugin/ # Development template (package)
โ โโโ simple_example.py # Development template (single-file)
โ
โโโ docs/
โโโ TELEGRAM_SETUP.md # Bot creation with video guides
โโโ IFTTT_RUST_SETUP.md # IFTTT + Rust+ integration
โโโ PLUGIN_DEVELOPMENT.md # Plugin API and creation guide
โโโ CONFIGURATION.md # config.json schema
โโโ TROUBLESHOOTING.md # Common issues
โโโ plugins/ # Individual plugin guides
โโโ LED_CONTROLLER.md
โโโ RUST_CONNECT.md
โโโ TWILIO_CALLER.md
โโโ AUDIO_ALERT.md
โโโ DISCORD_WEBHOOK.md
Contributions are welcome! Here's how you can help
- Create your plugin in
plugins/your_plugin/orplugins/your_plugin.py - Inherit from
PluginBaseand implement required methods - Test using the app's plugin auto-reload (no restart needed)
- See Plugin Development Guide for API details
- โ Keep plugin code within plugin widgetsโavoid modifying core files
- ๐จ Follow the existing dark theme styling patterns (see
main.pyCSS) - ๐พ Use
configdict for persistence (auto-saved/merged) - ๐ฆ Add dependencies to
requirements.txtif needed
- โ๏ธ Test your changes thoroughly (LED devices, Telegram, plugin loading)
- ๐ Include documentation updates if adding features
- ๐ฌ Create descriptive commit messages
- ๐ Open a pull request with a clear description
- ๐ Use the GitHub issue templates for bugs/feature requests
Need help? Here's how to get support
- โ Check the Troubleshooting Guide first
- โ Search existing GitHub issues
- ๐ฅ๏ธ OS and Python version
- โ Error messages (full traceback)
- ๐ Steps to reproduce
- โ๏ธ Relevant
config.jsonsnippets (redact tokens/IDs!)
Use the GitHub issue templates to ensure all required details are included!
This project is licensed under the MIT License - see the LICENSE file for details.
Built with โค๏ธ using:
- PySide6 (Qt for Python)
- python-telegram-bot (Telegram Bot API)
- Designed for Rust server monitoring via Rust+ and IFTTT
โญ If this project helped you defend your base, give it a star!
Report Bug โข Request Feature โข Documentation
- Check Troubleshooting Guide first
- Include: OS, Python version, error messages, steps to reproduce
- Share relevant
config.jsonsnippets (redact tokens/IDs) - File issues via the GitHub bug/feature templates to ensure required details are included