A Python application that monitors for arena queue availability in games and sends Discord notifications when queues are ready.
WOW MUST BE THE SELECTED WINDOW BEFORE YOU WALK AWAY!
- OCR Detection: Detects "Enter"/"Accept" using enhanced preprocessing and confidence filtering
- Discord Integration: Sends notifications via Discord webhooks
- Configurable: Saves settings to config file for convenience
- Debug Tools: Includes OCR testing functionality
- Precise Monitoring: Monitors specific screen regions for optimal detection
- Queue AFK Reminders: Optional periodic Discord reminders to move your character
Windows:
- Download Tesseract from: https://github.com/UB-Mannheim/tesseract/wiki
- Install it (default path:
C:\Program Files\Tesseract-OCR\tesseract.exe) - The app will automatically detect this path
macOS:
brew install tesseractLinux (Ubuntu/Debian):
sudo apt-get install tesseract-ocrOption 1: Automated Setup (Recommended)
python setup.pyOption 2: Manual Installation
pip install -r requirements.txt- Go to Releases and download
ArenaQueueDetector.exe - Double-click to run - no installation needed!
- Configure Discord webhook (see setup section below)
Windows:
- Download the repository
- Double-click
install.bat - Run
python ARENAGUI.py
macOS/Linux:
- Download the repository
- Run
chmod +x install.sh && ./install.sh - Run
python3 ARENAGUI.py
- Clone or download this repository
- Run the setup script:
python setup.py - Configure Discord webhook (see setup section below)
- Run the application:
python ARENAGUI.py
- Go to your Discord server settings
- Navigate to "Integrations" → "Webhooks"
- Click "New Webhook"
- Copy the webhook URL
- Get your Discord User ID (enable Developer Mode in Discord, right-click your username, copy ID)
- Run the application:
python ARENAGUI.py - Enter your Discord webhook URL
- Enter your Discord User ID (the number, not your username)
- Click "Start Monitoring"
Your settings will be automatically saved to config.ini.
- Start Monitoring: Click "Start Monitoring" to begin watching for arena queues
- Stop Monitoring: Click "Stop Monitoring" to stop the detection
- Test OCR: Use "Test OCR Area" to see what text is being detected in the monitoring area
- Shows high-confidence OCR candidates and saves
debug_screenshot.pnganddebug_processed.png
- Shows high-confidence OCR candidates and saves
The app monitors a specific screen region:
- Coordinates: (751, 186) to (1175, 403)
- Size: 424x217 pixels
This area should contain the "Enter Arena" button when a queue is ready.
When a queue is detected, the app will:
- Send a message to your Discord channel via webhook
- Mention your user ID with:
Arena queue popped! Click 'Enter Arena' now! @username - Include a 15-second cooldown to prevent spam
Optional reminders:
- If enabled, the app sends a periodic reminder to move your character while you wait in queue.
- Use "Test OCR Area" and check the console for high-confidence words (≥70)
- Ensure the monitored area includes the button text ("Enter" or "Accept")
- Ensure good contrast and avoid moving UI elements behind the target
- Try adjusting game resolution/UI scale or window mode (borderless/windowed)
- Verify your webhook URL is correct
- Check that your Discord User ID is a number (not username)
- Ensure the webhook has permission to send messages in the channel
- "Could not load icon.ico": This is normal if you don't have an icon file
- OCR errors: Make sure Tesseract is installed correctly
- Screen detection issues: The coordinates are optimized for specific game resolutions
Settings are saved in config.ini:
[Settings]
webhook_url = your_webhook_url_here
mention_id = your_discord_user_id_here
reminders_enabled = true|false
reminder_interval_minutes = 5- Python 3.6+
- Windows/macOS/Linux
- Tesseract OCR
- Discord webhook access
Feel free to submit issues, feature requests, or pull requests to improve the application!
This project is ready to be shared on GitHub! The repository includes:
- Complete source code with cross-platform compatibility
- Comprehensive documentation and setup instructions
- Automated setup script for easy installation
- Proper error handling and user feedback
- MIT license for open source sharing
.gitignorefile to exclude unnecessary files
ArenaAFK/
├── ARENAGUI.py # Main application
├── setup.py # Automated setup script
├── build_executable.py # Script to create .exe file
├── build.bat # One-click build to create .exe
├── install.bat # Windows one-click installer
├── install.sh # Unix one-click installer
├── requirements.txt # Python dependencies
├── README.md # Documentation
├── USER_INSTRUCTIONS.txt # End-user guide for .exe release
├── LICENSE # MIT license
├── .gitignore # Git ignore rules
└── config.ini # User settings (created on first run)
To make it super easy for users, you can create GitHub releases with pre-built executables:
- Run the build script:
python build_executable.py - Go to your GitHub repository
- Click "Releases" → "Create a new release"
- Upload the .exe file from the
distfolder - Users can download just the .exe file without any setup!
MIT License - feel free to use and modify as needed.