Commit Graph

20 Commits (kami_dev)

Author SHA1 Message Date
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 0f1077778f New `!funfact`/`!fun-fact` command
- 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.
2025-02-14 01:46:24 +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 3ad6504d69 mini-vacation update
- Dual logging
  - logfile.log = permanent logfile
  - cur_logfile.log = current run logfile
- Improved logging in general
- Expanded howl replies
- Discord activity logging
- Twitch & Discord chat logging
- Discord slash commands implementation (partial)
- Config file improvements
  - Toggleable log levels
  - Settings separated (terminal and file output)
  - Nesting of associated values
- Fixed "!ping" not fetching correct replies
- Several other minor and major fixes, tweaks and improvements
2025-02-10 12:32:30 +01:00
Kami aed3d24e33 Started implementing Universal User Identification (UUI)
- 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
2025-02-05 00:33:02 +01:00
Kami 8074fbbef4 Cleaned log code lines 2025-02-04 13:35:25 +01:00
Kami 403ee0aed5 Ensure FATAL logs always go through to console 2025-02-04 13:21:33 +01:00
Kami 1a97a0a78e Reworked logging to optionally log to file as well 2025-02-04 13:16:03 +01:00
Kami 87d05d961a Fixed !help not processing certain help sections correctly if example details were missing. 2025-02-03 22:37:20 +01:00
Kami 5730840209 Improved !help
- 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.
2025-02-03 22:02:56 +01:00
Kami 780ec2e540 - Added basic SQL functionality with SQLite fallback.
- Added basic "Quote" system/command using the new DB feature.
2025-02-03 12:17:55 +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
Kami 82aec3dc5f - Reverted logging to a simpler terminal-only
- Added log levels in config.json
- Reworked requirements.txt
2025-02-01 20:50:54 +01:00
Kami 2192637d91 Fixed unavailable bot_start_time variable for !ping command 2025-02-01 13:09:02 +01:00
kami 72fb3f2a7d Upload files to "/" 2025-02-01 11:07:05 +00:00