- 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
- Fixed an issue where Twitch users were not registered correctly due to recent DB changes
- Log-level of unidentified users changed from warning to info
- Minor changes to `!customvc`
- Renamed `bitrate` -> `audio_bitrate`
- Added `video_bitrate`
- Changes some help text
- Fixed certain subcommands which were broken after recent changes
- Added `autoname` -> Automatically names the voice chat according to game being played by the owner
- *Needs addiitonal work to implement all features*
- Platform logs associated to a message are now associated with platform-specific IDs
- Fixes for `!customvc`, specifically in relation to commands execution.
- Optimized logic
- Fixed limits for certain values like VC users limit
- Better code integrity: now self-references as a Cog
- Lots of minor other tweaks, adjustments, and improvements
- Supports a "VC Lobby" voice channel users can join to auto-create their own voice channel
- That user is then the channel "owner".
- Allows defining in-chat settings for each custom voice channel.
- Empty channels auto-delete after 10s
- Auto-deletes empty channels on startup
- Auto-asigns the first user owner of the custom voice channel on startup if no data is retained
- Supports several commands:
- `!customvc` -> Displays some help text
- `!customvc name <new_name>` -> Renames the voice channel
- `!customvc claim` -> Claim ownership of the voice channel if the owner has left
- `!customvc lock` -> Locks the voice channel, preventing non-moderators from joining
- `!customvc allow <some_user>` -> Allow a user into the locked voice channel
- `!customvc deny <some_user>` -> Denies a non-mod user access to the voice channel
- `!customvc unlock` -> Unlocks the voice channel. Denied users are still denied
- `!customvc bitrate <kbps>` -> Set the bitrate for the voice channel (Should not be used unless needed)
- `!customvc op <some_user>` -> Assing someone as co-owner of the voice channel
- `!customvc settings` -> Display the current voice channel settings, including the owner
- *It should be noted that moderators has the same access as channel owners for moderation purposes*
- Ironed out some issues with registering certain events into the database
- Fixed the old Twitch re-auth token issue. Now automatically renews it and initiates the bot with it.
These issues has been pestering the project a while now as they required some workarounds. Should work smoother from here on out! (I hope ...)
- 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
- OokamiPup v2 can now enter sevaral community channels
- Individual channel settings. By default, all commands are disabled
- Channel-specific settings allow enabling/disabling individual commands per channel
- Added a few more fun facts
- Minor tweaks and bugfixes
- 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.
- Moved some constants to the globals.Constants class
- config_data: returns the configuration dictionary
- bot_start_time: returns the epoch bot start time
- primary_discord_guild: returns a dict like `{"object": primary_guild_object, "id": primary_guild_int}`
*These is initiated under globals.constants*
- Improved on docstrings. Google format now standard
- Reverted all commands to purely textual until further notice
- `/help` is still additionally available as a slash command
- 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*
- added database table "users"
- table allows for assigning individual users a UUID for universal processing
- will support account linking in the future
- fixed a bug with reporting Discord commands in logs
- Ensured it fetches the correct commands and help configuration depending on platform.
- Removed certain duplicate checks that intiated functions twice or repeated value asignments.
- Added the @monitor_cmd flag to commands, allowing easy command runtime diagnostics, including execution time.
- Removed built-in Discord !help command
NOTE:
Basic implementation.
Help text is defined in:
- dictionary/help_twitch.json
- dictionary/help_discord.json
- 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()