Commit Graph

12 Commits (58270b1fbedc4dfaec2cd60bbcb16d0d4f5042a5)

Author SHA1 Message Date
Kami d5581710a7 CustomVC Rework
- autoname implementation
    - Automatic channel naming can be toggled with `!customvc autoname`
    - Autoname status can be verified with `!customvc settings`
    - Autonaming will automatically apply game name as channel name if owner plays a game
    - If owner is not playing a game, channel name will default to `{userdisplayname}'s Channel´
    - Currently, checks are performed every 30s, and changes applied after a 5m cooldown
- Minor fix for the latest logging changes
  - Caller function was not correctly listed in log messages. This has been corrected.
2025-03-13 16:57:23 +01:00
Kami 5023ea9919 Reworked internal logging
- 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
2025-03-13 14:17:43 +01:00
Kami cce0f21ab0 Improved platform logging and Custom VC
- 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
2025-03-06 17:53:54 +01:00
Kami 50617ef9ab Finalized database restructure, fixed Twitch auth issue
- 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 ...)
2025-03-01 23:14:10 +01:00
Kami d0313a6a92 Massive UUI system and database overhaul
- 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
2025-03-01 01:54:51 +01:00
Kami 17fbb20cdc Added Twitch multi-channel support
- 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
2025-02-16 15:30:17 +01:00
Kami 6da1744990 Added search feature to `!funfact`
- 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
2025-02-14 11:42:20 +01:00
Kami 01f002600c Bug tracking, minor tweaks
- 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
2025-02-12 23:14:40 +01:00
Kami 1b141c10fb Big quote system overhaul
- 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
2025-02-12 00:15:39 +01:00
Kami 66f3d03bc6 Program logging rework
- 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*
2025-02-11 10:47:48 +01:00
Kami 699d8d493e Added latency to "ping" command
Ongoing bugfix for slash commands (#6)
2025-02-10 21:05:20 +01:00
Kami 9ef553ecb0 - Added dictionary functionality
- 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()
2025-02-01 22:54:10 +01:00