Changelog - Version 4.0 (2024-04-27)
Added
- Integration with Twitch EventSub for event notifications.
- Added functionality to check if the stream is online or offline when the bot is restarted during a stream.
- Implemented a function to create commands in the database if they don’t already exist.
- Added functionality to create a new group in the database if it doesn’t already exist.
- Added a function to build and send Discord notices for various Twitch EventSub notifications:
- New Follower notices are sent to Discord logs channel.
- New Gifted Subscription notices are sent to Discord logs channel.
- New Subscriber notices are sent to Discord logs channel.
- New Cheer notices are sent to Discord logs channel, with different images based on the number of bits.
- New Raid notices are sent to Discord logs channel.
- Implemented an asynchronous function to delete recorded files after using the !song command to identify them.
- Added a function to process raid events from Twitch EventSub, updating raid data in the database and sending notifications to Discord.
- Added a function to clear the seen users table at the end of the stream.
- Added a function to clear the ending credits table at the end of the stream.
- Added a function to check if a user is a subscriber of the channel, utilizing the Twitch API to retrieve subscription data.
- Added a feature to the “steam” command to check for game titles with a leading “the” on Steam, enhancing the accuracy of game availability checks.
- Implemented URL blocking protection in Twitch chat to prevent unauthorized links. If a message contains a blacklisted URL, it is deleted, and if it contains a non-whitelisted URL, it is deleted unless the user is permitted or it’s a Twitch clip link.
- Introduced tables for URL blocking, link whitelisting, link blacklisting, stream credits, and message counts to enhance chat moderation and tracking capabilities.
- Expanded the
profiletable to include Discord-related settings for improved bot integration with Discord servers. - Changed the way the bot runs to include creation of groups and built-in commands in the database at startup.
- Added a function to enable and disable built-in commands based on their status in the database.
Changed
- Updated the function to process the stream being online. The function now gathers necessary data from the Twitch API and sends a message to the chat announcing the stream is online.
- Revised the function responsible for adding a user to the table of known users to correctly establish a connection to the SQLite database and ensure data is entered into the database.
- Updated the initialization of instances for the translator, shoutout queue, websockets, and permitted users for protection to include variables for stream status, current game, and stream title.
- Modified the
raid_dataSQLite table to include theraider_idandraid_countcolumns, enabling tracking of the number of times a user has raided the channel. - Adjusted Python library imports to remove unnecessary imports and optimize code structure.
- Updated Twitch settings for improved functionality and compatibility with version 4.0 of the bot.
Removed
- Integration with Twitch PubSub.
Notes
-
Twitch EventSub Integration: Twitch EventSub has been integrated to provide more comprehensive event notifications, enhancing the bot’s ability to respond to various actions on the channel.
-
Stream Status Check: Added functionality to check the stream status (online/offline) during bot restarts, ensuring accurate tracking of the stream’s status.
-
Dynamic Command and Group Creation: Implemented dynamic creation of commands and groups in the database, enabling seamless addition of new commands and groups without manual intervention.
-
Enhanced Discord Integration: Discord notices are now sent for various Twitch EventSub notifications, providing real-time updates to Discord logs channels.
-
Improved Stream Management: Introduced functions to clear the seen users table and ending credits table at the end of each stream, ensuring data cleanliness and preparation for the next stream.
-
Subscriber Verification: Added a function to check if a user is a subscriber of the channel, utilizing the Twitch API to retrieve subscription data.
-
URL Blocking Protection: Implemented URL blocking protection in Twitch chat to prevent unauthorized links, enhancing chat moderation capabilities.
-
Database Table Expansion: Introduced new tables for URL blocking, link whitelisting, link blacklisting, stream credits, and message counts to facilitate more comprehensive chat moderation and tracking.
-
Discord Profile Enhancements: Expanded the
profiletable to include Discord-related settings, improving bot integration with Discord servers. -
Built-in Command Management: Added a feature to enable and disable built-in commands based on their status in the database, offering more control over bot functionality.
-
Improved Bot Initialization: Modified the bot startup process to include the creation of groups and built-in commands in the database, streamlining bot setup and configuration.
-
Python Library Optimization: Adjusted Python library imports to remove unnecessary imports, optimizing code structure and improving readability.
-
Twitch Settings Update: Updated Twitch settings for improved functionality and compatibility with version 4.0 of the bot.
-
Bot Version Control: Implemented version control for the bot’s website, ensuring accurate tracking of bot versions and updates.
-
Error Handling Improvement: Enhanced error handling in various functions to provide better error logging and troubleshooting capabilities.