Changelog - Version 5.3 (2025-03-14)
Version Information
- Updated version from 5.2 to 5.3
- Added system identifier
- Improved version control functionality:
- Dynamic file naming based on system type (STABLE/BETA/ALPHA)
- Automatic directory creation if not present
- Enhanced error handling and logging
- Better file management with proper cleanup
New Features
Lottery System
- Implemented a complete lottery system with the following functionality:
- New command:
!startlotto(moderator-only) to begin a lottery - New command:
!drawlotto(moderator-only) to draw lottery winners - Added backend structures to track lottery numbers:
lotto_numbers- Dictionary to track winning numbersuser_lotto_numbers- Dictionary to track user lottery entries
- Integration with channel points for participation
- New command:
Points System
- Added new
!addpointscommand to add points to users - Added new
!removepointscommand to remove points from users - Enhanced the slots command with points integration:
- Win/loss processing for points transactions
- Points are deducted when playing and awarded on wins
- Dynamic point multipliers based on slot results
- Enhanced roulette command with point penalties:
- Points deduction for losses as “hospital bills”
- Adds risk/reward element to the game
- Makes gameplay more consequential
User Interaction
- Added
!highfivecommand similar to the existing hug/kiss commands - Enhanced participation options through lottery system
- Added “return_the_action_back” functionality:
- Bot now automatically reciprocates when tagged in interaction commands
- Works with
!kiss,!hug, and!highfivecommands - Creates more interactive and personalized chat experience
Technical Improvements
Logging System Overhaul
- Replaced standard file logging with RotatingFileHandler:
- 10MB file size limit with 5 backup files
- Prevents log files from growing indefinitely
- More efficient log management
Error Handling & Stability
- Added signal handling for graceful shutdown:
- SIGTERM handling
- SIGINT handling (Ctrl+C)
- Enhanced error handling throughout the codebase
- Better boolean checking for USE_BACKUP_SYSTEM
- More consistent API request patterns
- Improved sanitization of sensitive information in logs
- Updated StreamElements and StreamLabs “process_message” functions for better handling of information and errors
- Updated Twitch Event handlers for “channel.poll.begin” & “channel.poll.end” to better process information and handle events
- Improved enable/disable commands to properly detect and handle built-in versus custom commands
Code Organization
- More structured command organization
- Better function naming for clarity (e.g.,
twitch_receive_messages) - More detailed startup logging
- Optimized imports for better code readability
- Added globals to all commands to ensure consistent access to shared resources and uniform behavior across the application
- Updated checkupdate command to be more dynamic, allowing use of the new system variable tag to get the correct version file based on the running system
Stream Management Improvements
- Revamped ad break handling using TwitchIO Routines:
- Automated timing for ad break messages
- Scheduled “welcome back” messages after ad completion
- More precise timing control using iterations and wait parameters
- Better separation of concerns with dedicated routine functions
- Enhanced WALKON functionality with support for both Audio and Video formats
- Video WALKON support added (feature coming soon)
- More flexible user greeting options
Websocket Enhancements
- Added “TWITCH_CHANNELPOINTS” to websocket server communications
- Enables real-time notification of all Twitch Channel Points activities
- Allows for external applications to respond to channel point redemptions
- Added VIDEO_ALERT support for videos through Specter Overlays
- Enables custom video alerts in stream overlays
- Enhanced visual engagement for stream events
Custom Commands Enhancements
- Added support for “(customapi.json.” syntax in custom commands to process JSON data from API endpoints
Bug Fixes
- Fixed various minor issues in code flow and logic
- Corrected log handler initialization to prevent duplication
- Fixed an issue with the bot not adding new users into the database
- Fixed and implemented fully functional timed messages system
Backend Structure Updates
- Added new data structures for lottery functionality
- More consistent code patterns throughout
Thank you for your feedback and support!
As always, your feedback is appreciated. Please report any issues, bugs, or suggestions in the #ticket-info channel on our Discord server. You can also submit feedback and bug reports directly on our website: https://botofthespecter.com/feedback.php