Skip to content

Changelog

dom edited this page Oct 18, 2025 · 9 revisions

🛠️ Version v1.3.0 (Current)

📋 TL;DR Summary

  • 🖼️ Gift Operations uses lightweight ONNX-based OCR Model
  • 👥 Minister Scheduling system for SvS prep
  • 📊 Attendance tracking for all events
  • 🔐 Centralized Login Handler for API operations
  • ⚡ Alliance and Control systems completely overhauled for speed
  • 🔄 Bot now updates directly from release source (no more patch.zip)
  • ♻️ Repair option to fix any issues with missing files added
  • ⚠️ New beta option to pull the latest repository code directly

🔄 Update System Overhaul

  • Added a few new options:
    • --beta flag to pull directly from repository. ⚠️ This runs unstable code: Use at your own risk!
    • Added --no-venv flag for environments that require it. ⚠️ Dependency conflicts may arise - you have been warned!
    • --repair which will attempt to repair by forcing an update to fix any missing files.
  • Updates now pull directly from release source instead of separate patch.zip files
  • During updates, modified cogs are backed up to cogs.bak folder
  • Smart update system compares files via SHA hashing - only replaces changed files
  • Automatically removes obsolete dependencies (such as ddddocr, opencv-python-headless)
  • If requirements or cogs are missing, the bot will load but advise to run --repair option

🤝 Alliance Improvements

Performance & Reliability

  • Member add operations are now much faster: 1 member per second without interruption
  • Properly respects API rate limits to prevent delays
  • Centralized queue system prevents operation conflicts via new login_handler.py
  • Better error handling and user feedback

Enhanced Member Management

  • Accept FIDs in multiple formats: comma-separated OR newline-separated lists
  • Smart validation checks if members already exist before API calls
  • Improved progress tracking with cleaner embed updates

🎛️ Control System Overhaul

Speed Improvements

  • Alliance control operations are now much faster: 1 member per second without interruption
  • Removed unnecessary 1-minute delays between manual all alliance checks
  • Properly respects API rate limits to prevent delays

Logging & Maintenance

  • New dedicated log file: log/alliance_control.txt
  • Automatic log rotation (1MB max size with 1 backup)
  • Console output significantly reduced - no more spam!
  • Auto-removes invalid FIDs (error 40004) from database
  • Tracks all removed FIDs for audit purposes

🎁 Gift Operations Upgrade

New OCR Engine

  • Switched to ONNX Model (available here)
  • Similar accuracy to ddddocr with much lower resource usage
  • Full Python 3.13+ support
  • May even work on Alpine Linux!

Interface Improvements

  • Reorganized menu with new Settings button containing:
    • Channel Management
    • Automatic Redemption
    • Channel History Scan
    • CAPTCHA Settings
  • Instant validation for all new gift codes
  • Periodic code validation every 2 hours
  • Smart priority system for validation FIDs
  • Immediate processing of new messages in gift code channels
  • On-demand gift code channel history scan (up to 75 messages)
  • Extended menu timeouts to 2 hours
  • Optimized database transactions
  • Clear Redemption Cache option added under CAPTCHA Settings
  • Error breakdown added if any errors occurred during redemption
  • For more details on errors, please check log/gift_ops.txt

🔐 Login Handler (New Cog)

Centralized API Management

  • Controls all Gift API login operations
  • Maintains 1 login per second rate without delays
  • Intelligent dual-API support with automatic fallback
  • Queue system prevents operation overlap
  • Currently used by alliance cogs - more integrations coming!

📊 Attendance System (New Cog)

Enhanced version of Leo's custom cog

Event Tracking Features

  • Track attendance for any in-game events (Bear, Foundry, SvS, etc.)
  • Automatic history tracking to identify repeat no-shows
  • Create and edit attendance reports for any alliance

Reporting Options

  • Visual reports: Matplotlib-based structured reports
  • Text reports: Clean formatted text
  • Export formats: CSV, TSV, and HTML

Buttons

  • Mark Attendance - Create or edit attendance reports
  • View Attendance - Review and export existing reports
  • Settings - Switch between matplotlib and text reports

👥 Minister Scheduling (New Cog)

Enhanced version of Destrimna's custom cog

SvS Prep Management

  • Easy scheduling for Construction, Research, and Training days
  • Dual interface: slash commands OR interactive buttons
  • Settings menu for global admins with options to clear data/channels

Channel Integration

  • Dedicated channels for each prep day
  • Auto-updating slot availability display
  • Comprehensive logging of all minister activities

Slash Commands

  • /minister_add - Book a minister slot
  • /minister_remove - Cancel a booking
  • /minister_list - View all appointments
  • /minister_clear_all - Reset all bookings

🛠️ Version v1.2.0

  • Implemented a self-hosted GitLab repo as a backup in case GitHub fails us again.
  • The bot now checks GitHub first, then falls back to GitLab if needed.
  • The bot automatically creates and manages Python virtual environments.
  • Prevents dependency conflicts and ensures smooth setup.
  • Fully supports both Windows and Unix-based systems.
  • Automatically skips venv creation inside Docker/Kubernetes/CI environments.
  • Better troubleshooting help, including the direct Visual C++ Redistributable x64 link.
  • Startup now auto-reinstalls dependencies if broken or missing on startup.
  • It also auto-installs missing cogs from source if they are not found on startup.
  • Should reduce install/update issues across the board.
  • Web editor? History, at least for now.
  • Thanks to @Destrimna, you can now manage all notifications directly via Discord buttons.
  • Old notifications (Embed or Message) remain fully editable.
  • Added “Repeat on specific days” for recurring event scheduling.
  • Replaced the crusty old wosland.com PHP API with a modern, self-hosted Python version. (it's almost the same, but it smells new)
  • Gift codes now auto-sync across all bot instances again. Enjoy the easy and efficient shared redeeming!
  • Includes solid validation logic to block broken or invalid codes before they break the system.
  • Redemptions now follow alliance order instead of chaotic parallel execution.
  • Fixed the dreaded “Sign Error” caused by sneaky right-to-left (RTL) marker characters
  • Removed dependency on external websites for backup creation.
  • Two backup options now available. Sent to you directly via Discord DM or saved manually to the server
  • Backups are 100% under your control. Use it wisely. Or don't.
  • Removed all remaining Relo branding from Support and Startup.
  • Startup now proudly shows off OCR status like it's something to brag about.
  • Removed outdated “Buy me a coffee” link. No coffee for scammers. ☕🚫
  • "Check for Updates" button works again and compares your version file with the latest release tag on our Github.
  • Tons of minor fixes and improvements.
  • For the full list of bugs features, visit GitHub Issues

🛠️ Version v1.1.0

  • 💾 More robust file handling & backups during updates
    Now gracefully sidesteps Windows' favorite pastime: locking files for no reason. May your main.py live a long, crash-free life.
  • ddddocr installation verification added
    Checks that ddddocr and its clingy dependencies are actually installed. No more “I installed it, I swear” gaslighting.
  • 🎯 Selective --ignore-requires-python usage
    Only applies the Python rule-bending to ddddocr, instead of every package. Because not every package needs special treatment.
  • 🐛 Verbose flag added for package installs
    Need to know exactly how the package installation broke? There’s a --verbose flag for that now.
  • 🧾 Added colorama and requests to requirements
    Two more packages join the cult. Because everything is better when you add some color to it.
  • 🚫 Gift code validation delayed to redemption time
    Codes added via "Create Gift Code" or the Gift Code Channel are no longer validated immediately. Instead:
    • They are stored in DB with status pending
    • On first use (or during periodic validation):
      • If valid: ✅ marked as valid
      • If invalid: ❌ redemption stops, status updated to invalid
    • Only validated codes hit the giftcode API (once implemented), reducing unnecessary API traffic.
  • 🔄 New “Change Test FID” button for admins
    Admins can now swap out the test ID used for validating and testing codes. Default: Relo’s ID. Change it. Or don’t. I’m not your dad.
  • 🔙 Removed Yolo’s favorite back button from CAPTCHA Settings
    The back button on CAPTCHA Settings is gone. Yes, really. It’s gone. Are you happy now, @Destrimna?
  • 🐞 Miscellaneous bug fixes
    Squashed several minor but persistent gremlins.
  • 📣 Bear Trap notifications now persist even if the channel disappears
    Previously, if the channel went poof (due to temporary Discord rate limits, for example), all notifications got disabled. That’s been fixed.

🛠️ Version v1.0.0

  • 🔁 Replaced EasyOCR with ddddocr — Faster, lighter, smarter. Like trading a fax machine for a laser cannon.
  • 🛠️ Force-installs ddddocr v1.5.6 with --ignore-requires-python — Because Python 3.13 broke it, but we broke it back.
  • 🧠 Optimized gift code redemption loops — Now redeems faster while expertly dodging the rate-limit police.
  • 🔥 Removed dusty old GPU config junk — No one needed it, especially not our new friend ddddocr. It’s in a nice farm upstate with the other unused settings.
  • 🛡️ Bundled certifi in main.py — Fixes those annoying SSL issues on AWS and friends. Big thanks to @destrimna for reporting, rather than rage-quitting.
  • 🧩 Fixed "All Alliances" feature — It works now. Because @destrimna sent in the fix. MVP.
  • 📉 Trimmed log file and legacy file bloat — Your hard drive can breathe a bit better.
  • 📊 Improved OCR Settings statistics page — More stats. More clarity. Slightly less shame.
  • ♻️ Fixed duplicate install checks on startup & updated main.py to work with our new repository and update method. We pray that it works.
  • ⬇️ Reset the version numbering to start from 1.0.0 for a clean slate. And better vibes. Mostly for the vibes.

Clone this wiki locally