π°οΈ Automatic bot monitoring and recovery system for MIT Preparation Academy's beta bot.
PRACTA Bot Watchdog is a local monitoring utility built to ensure that the PRACTA beta bot, hosted on Discloud, stays online.
If the bot goes offline while the Discord API is operational, this system automatically restarts the bot locally and notifies the admin β all while supporting multilingual status messages for global accessibility.
- Automatically detect if the PRACTA beta bot is offline.
- Distinguish between bot failure and Discord API outages.
- Restart the bot locally via Node.js in a separate desktop workspace.
- Send real-time notifications to Discord for transparency.
- Allow each user to set their preferred language for status messages.
- Verifies if the Discord API is operational.
- Checks bot availability on Discloud.
- Starts the bot locally using
node index.js
if offline.
- Windows desktop toast notifications to alert the system admin when the bot goes down and is restarted.
- Users can change the language of status messages with an interactive button.
- Language selection only affects the user who clicked the button (not everyone).
- Pytest-powered test suite to verify system components.
- GitHub Actions CI workflow for test automation.
- Python (.pyw) β Silent local monitoring with GUI-less execution.
- Node.js β Runtime environment for the Discord bot.
- Discord.py β Communication with Discord API.
- Googletrans β Language translation.
- PyWin32 / win10toast β Desktop notifications (Windows only).
- GitHub Actions β CI for testing.
This project is licensed under the terms specified in the LICENSE file.