- All logging functionality has been moved into the Logger class
- Initiated globally as globals.logger()
- Logging format changed from `globals.log("message_str", "LEVEL")` => `logger.level("message_str")`
- Minor changes to Twitch authentication
- Dynamic accounts association
- Accounts can now be associated dynamically, allowing multiple accounts on the same platform to be associated to the same UUID.
- UUI system now supports any platform, eg. YouTube, TikTok, Kick, Twitter, etc.
- More robust user lookups with enhanced fault tolerance and allowance for NULL data.
- Optimized database structure with two tables for user association; one for UUID and basic info, another for platform-specific details.
- Enhanced logging functionality: logs now prefix the calling function.
- Enhanced user lookup debug messages, allowing easy query inspection and data validation.
- Other minor fixes
- This function returns the game being played on the specified channel
- Implemented into quotes system: quotes automatically contain game name if quoted from a Twitch channel
- Defaults to None if channel is not live
- Discord quotes keep old logic: quotes never contain game information
- Users can now search for fun facts using `!funfact search [keywords]` without brackets. Returns best match.
- Also added some new facts
- Minor tweaks to force-sync of Discord slash commands
- This command returns a random fun fact from a list of over 500 verified fun, surprising, or good-to-know facts, with unit conversions between metric and imperial.
- Also started somewhat on the new Community Engagement Score (CES) system.
- Currently not implemented to any working degree.
- Will grant/deduct user scores depending on community engagement and actions overall.
- Returned "quote" commands to textual commands type
- Rewritten quote system backend to ensure stability
- Added new quote subcommands:
- `!quote search [keywords]` allow users to search for a quote using keywords, and returns the best match. If several equally good matches are found, returns one of them at random
- `!quote info [quote_id]` allows users to see more info about a given quote. Grants more information on Discord
- `!quote restore [quote_id]` allows users to restore a previously removed quote
- `!quote last/latest/newest` allows users to get the newest quote
- Added new quote features to Discord helpfile
- Moved database init to globals.init_db_conn
- Associated unlinked usernames now default to that of the other platform, appended with "({platform} unlinked)". This should ensure consistensy despite users not linking accounts in the UAL system
- Added time_since(start, end, format) function to easily get formatted time differences, eg. for execution time reporting
- Added "wfstl" and "wfetl" helper function under utility. Useful for debugging when a function starts and ends manually if needed.
- Minor tweaks, corrections, bugfixes
- Logging functionality has been centralised to 'globals.log'
This should allow easy log integration into subsystems without the need of passing the function everywhere *phew*
- Looks up a file in the "dictionary" folder
- Returns a random category string within that file
- Added proper start time fetching through globals.get_bot_start_time()