* Log reading capabilities to Ryuko bot (#3)
* Add log reading capabilities
- User hardware specs
- Game info
- Controller configuration
- Last error snippet in log
- Warnings when using macOS or Intel iGPU
- Warning of logs not turned on
* Allowed log reading channels moved to config
This is easier for contributors to change their config file for testing
* Fixes large files not showing error snippet
- Large files are partially downloaded and show header information which
messes with log analysis, this gets stripped.
- Finding error messages function improved
* Default logs enabled shows a green checkmark
* Better feedback with log parsing message
- Bot prints `Log parsing...` and update message once log analysis done
- Added better error logging to console
* Better handling of invalid files warning
- Also fixed typo with bot message edit function
* Refactored embed generation to make more sense
- Embed is now based off a generic json assuming Unknown values at first
- Embed fields moved closer together
- Fields with newlines joined instead of manually separated
- Intel iGPU message changed to show preference for discrete GPU's
* Refactor to be simpler and easier to read.
- Hardware, ryujinx and log analysis split into separate functions
- Regex explicitly defined for each property instead of confusing map
- Added user settings reported, shows PPTC enabled or disabled
* Game notes sorted by order of severity
Notes will appear with most severe warnings first as follows: ❌⚠️ ℹ ✅
* Analyses toggleable settings that appear in log
Currently these are: PPTC, audio backed, docked/handheld and vsync.
- Formatting change so these settings are more visible in bot embed
* Refactored user_settings, rewording of bot embed
- User settings reading handles missing log info for older versions
- `Switch Mode` (docked/handheld info) changed to `Console Mode`
- Missing firmware warning if firmware not installed
* Warning when shader cache collision detected
* Notes time elapsed in log file
- Error handling for no notes to log
* Show values for some user settings: audio, docked, missing services, resolution, shader cache and vsync
* Analyse user changeable settings
- Restructed embed to allow easier settings handling
- Changed embed formatting to deal with inline colums more cleanly
* Log file is now default function parameter
* Better sorting of analysis messages
- Now sorted alphabetically and by severity for consistency
- Show available RAM in low RAM warning
- Fix variable name misspelling
* Logging level changed to info
* Warn if bad dump in error message
* Add warning for no custom build support
* Warn user to post log in correct channel
- Warn about not supporting custom builds
- Warn to post in pr build if detected
- Warn about channels to post logs if detected in #general
* Fix logfilereader logic
* Ryuko bot fixes and improvements (#4)
* Fixes HTTPException by properly handling newline regex
* Improves information display:
- Shows settings info if no game is detected running
- Empty log warning takes up less space
- Error, Mods and Notes not shown on empty log
* Improved empty log message
- Also allow logs parsing in linux channel, as well as mentioning
when posting in non-allowed channels
* Fix ResScale parse error, better empty log message
* DM users about correct channels instead of in chat
* Fix variable spelling, clearer bad dump warning
* Shows error snippet on empty log (#6)
* Error snippet shown on empty log
- Shader cache corruption warning
* Loop to get missing info in log
* Error search handles multiple terms
- Minor spelling correction for resolution value
- User settings visible on empty log
* Fix error not being displayed if game name Unknown
* Warns about PPTC and shader caches being disabled.
- Warns about audio backend being set to Dummy
- Shows PPTC cache and shader cache enabled/disabled
Co-authored-by: Mary <1760003+Thog@users.noreply.github.com>
* Error snippet shown on empty log
- Shader cache corruption warning
* Loop to get missing info in log
* Error search handles multiple terms
- Minor spelling correction for resolution value
- User settings visible on empty log
* Fixes HTTPException by properly handling newline regex
* Improves information display:
- Shows settings info if no game is detected running
- Empty log warning takes up less space
- Error, Mods and Notes not shown on empty log
* Improved empty log message
- Also allow logs parsing in linux channel, as well as mentioning
when posting in non-allowed channels
* Fix ResScale parse error, better empty log message
* DM users about correct channels instead of in chat
* Fix variable spelling, clearer bad dump warning
* Add log reading capabilities
- User hardware specs
- Game info
- Controller configuration
- Last error snippet in log
- Warnings when using macOS or Intel iGPU
- Warning of logs not turned on
* Allowed log reading channels moved to config
This is easier for contributors to change their config file for testing
* Fixes large files not showing error snippet
- Large files are partially downloaded and show header information which
messes with log analysis, this gets stripped.
- Finding error messages function improved
* Default logs enabled shows a green checkmark
* Better feedback with log parsing message
- Bot prints `Log parsing...` and update message once log analysis done
- Added better error logging to console
* Better handling of invalid files warning
- Also fixed typo with bot message edit function
* Refactored embed generation to make more sense
- Embed is now based off a generic json assuming Unknown values at first
- Embed fields moved closer together
- Fields with newlines joined instead of manually separated
- Intel iGPU message changed to show preference for discrete GPU's
* Refactor to be simpler and easier to read.
- Hardware, ryujinx and log analysis split into separate functions
- Regex explicitly defined for each property instead of confusing map
- Added user settings reported, shows PPTC enabled or disabled
* Game notes sorted by order of severity
Notes will appear with most severe warnings first as follows: ❌⚠️ ℹ ✅
* Analyses toggleable settings that appear in log
Currently these are: PPTC, audio backed, docked/handheld and vsync.
- Formatting change so these settings are more visible in bot embed
* Refactored user_settings, rewording of bot embed
- User settings reading handles missing log info for older versions
- `Switch Mode` (docked/handheld info) changed to `Console Mode`
- Missing firmware warning if firmware not installed
* Warning when shader cache collision detected
* Notes time elapsed in log file
- Error handling for no notes to log
* Show values for some user settings: audio, docked, missing services, resolution, shader cache and vsync
* Analyse user changeable settings
- Restructed embed to allow easier settings handling
- Changed embed formatting to deal with inline colums more cleanly
* Log file is now default function parameter
* Better sorting of analysis messages
- Now sorted alphabetically and by severity for consistency
- Show available RAM in low RAM warning
- Fix variable name misspelling
* Logging level changed to info
* Warn if bad dump in error message
* Add warning for no custom build support
* Warn user to post log in correct channel
- Warn about not supporting custom builds
- Warn to post in pr build if detected
- Warn about channels to post logs if detected in #general