Commit graph

58 commits

Author SHA1 Message Date
TSRBerry
317a29db75
Refactor logfilereader (#50)
* Add disabled_ids as an alias

* Fix possible AttributeErrors in get_app_info()

* Refactor logfilereader.py

* Refactor disabled_ids and fix a few bugs

* Only add active cheats to the list
2023-05-05 18:38:01 +02:00
TSRBerry
df2f3b7ac5
Hotfix clearreactsbyuser() 2023-05-05 18:11:32 +02:00
TSR Berry
52d7c08324
Fix minor spelling mistake v2 2023-05-04 15:39:10 +02:00
TSRBerry
9cd2d6550d
Small logfilereader fixes and improvements (#49)
* Fix cheat_information regex

* Add warning about default user profiles to notes

* Fix disable_ro_section issues

* Apply black formatting
2023-05-04 00:40:41 +02:00
TSR Berry
1eacb849f5
Convert all ids to uppercase 2023-05-03 00:53:48 +02:00
TSR Berry
f72afbca29
Fix minor spelling mistake 2023-05-02 22:03:40 +02:00
TSRBerry
77fc2040a2
Delete all logs with blocked ids & Add cheat analysis (#48)
* Rename disabled_tids to disabled_ids and start adding support for bids

* Add cheat information

* Add analysis block for build ids

Always remove blocked game logs

* Add ro_section to disabled_ids

* Search all potential log files for blocked games

* Add commands to block ro_sections of games

* Change order of macro command arguments

* Add new disabled_ids key to wanted_jsons
2023-05-02 21:38:22 +02:00
TSRBerry
18970723e7
Invoke warn with all positional args (#47) 2023-05-01 22:14:35 +02:00
TSRBerry
2506aa6437
Small set of hotfixes to make blocked_tids behave properly (#46)
* Revert log.exception() call to working state

* Await add_roles call and invoke warn command correctly

* Apply black formatting
2023-05-01 21:02:37 +02:00
TSRBerry
5be9915501
logfilereader: Fix macOS version detection & Reply to analyzed log (#45)
* Fix macOS version detection correctly this time

* Reply to the message with the uploaded log

* Apply black formatting
2023-04-28 22:38:23 +02:00
TSRBerry
45538eec6f
logfilereader: Fix analysing every attachment (#44)
* logfilereader: Fix analysing every attachment

Now Ryuko will only analyse logs again

* logfilereader: Stop analysing message.txt

Most of the time these won't contain all the info we need anyway.

* Apply black formatting
2023-04-27 20:56:57 +02:00
TSRBerry
e937abb41c
Fix a few macro and logfilereader issues (#43)
* Try to improve exception logging

* Fix KeyError for new aliases

* List aliases and macros together

* Fix AttributeError when reading logs
2023-04-26 20:38:52 +02:00
TSRBerry
994438d3fa
Add commands to block log analysis of specific TIDs (#42)
* Small styling changes

* Add disallowed_roles for logfilereader

* macros: Fix naming and missing bot parameter

* Add disabled_tids helper

* Add pirate role to named role examples

* logfilereader: Add commands to block specific tids

* Add black formatting

* Add command to manually analyse logs

And some minor cleanup
2023-04-24 08:21:04 +02:00
TSRBerry
20a7d0506c
Fix logfilereader not detecting games (#40) 2023-04-20 07:41:18 +02:00
TSRBerry
3a0230259a
reply-targets: Await the result of fetch_message() (#39)
* Await the result of fetch_message()

* Apply black formatting
2023-04-05 18:57:46 +02:00
Mary
bf59634898 Fix broken get_userlog in logs 2023-04-05 18:33:24 +02:00
Mary
dea6cf5f38 Remove imagemanip 2023-04-05 15:03:54 +02:00
Mary
f1e5c34fb3 Fix hackwarn using target_user instead of the target_user name 2023-04-05 12:19:21 +02:00
Mary
48f9cc5cde Change robocop_ng to have state directory differ from working directory 2023-04-05 12:10:18 +02:00
TSRBerry
8463b9b2fb
Add hackwarn command (#20)
* Add hackwarn command

* Fix command usage message
2023-04-02 15:15:49 +02:00
TSRBerry
4ad2527a59
Use reply message to target a specific member & Add aliases for macros (#26)
* Remove command message when using macros

* macro: Reply to the same message as the author invoking the command

* logfilereader: Increase size of empty logs

* meme: Add reply targets

* mod: Add reply targets

* mod_timed: Add reply targets

* macro: Add aliases for macros

* macro: Fix list_macros not listing any macros

* Apply black formatting
2023-04-02 13:56:49 +02:00
TSRBerry
5e2ce2abaa
Allow formatter to run on forks (#28)
* Allow formatter to run on forks

* Sometimes RTFM does save some time

* Automatically fix formatting for same repo PRs

* Apply black formatting
2023-04-01 18:43:56 +02:00
Mary
c82fc0e78c Fix macros command 2023-03-30 20:38:03 +02:00
Mary
29b2412513 Fix missing setup function for persistence role module 2023-03-30 19:44:43 +02:00
TSRBerry
fc5b959558
Call Cog.listener (#25) 2023-03-30 19:37:49 +02:00
Mary
85595256c3 Fix load/unload/pull commands with module name changes 2023-03-30 19:29:29 +02:00
TSRBerry
af92876835 Add macro cog (#24)
* Add macro cog

* Adjust macro cooldown

* Add macros.json to wanted_jsons

---------

Co-authored-by: Mary <mary@mary.zone>
2023-03-30 19:05:29 +02:00
TSRBerry
f10ab7bb50
Add role persistence cog (#23) 2023-03-30 19:01:04 +02:00
TSRBerry
bd5f37086e
Fix errors when trying to access an avatar and some cleanup (#22)
* Replace avatar_url with str(display_avatar)

* Rewrite imports and resolve a few warnings
2023-03-09 23:01:10 +01:00
Mary
950b3f577b Update move logic after rebase 2023-03-08 08:29:56 +01:00
Mary
5d43842e3c Fixes after rebase 2023-03-03 22:20:05 +01:00
TSR Berry
d7852c2307
reactionroles: Wait until the bot is ready 2023-03-03 20:14:48 +01:00
TSR Berry
7f7a4c4707
cron: Wait until bot is ready 2023-03-03 20:10:15 +01:00
TSR Berry
3418c206d9
Apply black formatting 2023-03-03 19:58:51 +01:00
Mary
b2bd3142a9
Adjust for support channel changes and macos support 2023-03-03 19:58:51 +01:00
Mark
367cc8fe9d
Added more warnings in log reader (#17)
* Added warnings:

- File permissions fix
- File not found fix
- Missing services fix
- Graphics Backend threading warning
- Software memory manager warning severity upgraded

* Small fixes:
- Use file size to track duplicate files
- Use logging module for exception warning

* Fix log analysis not showing on no game boot

* Formatting for clarity on mobile, minor rewording

* Add graphics backend to visible output

* Suggest Vulkan for AMD and Intel GPU

* Reword pr-testing message

* Remove anisotropic filtering warning

* Deduplicate mods information

* Nit: spelling error in comment

* Shorten log time message

* Increase bytes read to handle large amounts of DLC

* Add Texture Recompression to output

* Fix shadowed variables

* Recompression suggestion for Vulkan memory error

* Improve regex to deal with MB/MiB RAM measurement

* Rename Expand DRAM warning to match rewording

* Update LDN regex to detect new versions
2023-03-03 19:58:51 +01:00
Mary
ade0917985
Upstream reaction roles changes 2023-03-03 19:58:51 +01:00
Mary
b4d95b5635
Fix last commit again 2023-03-03 19:58:51 +01:00
Ayato (Shahil)
5ee601bda5
Update mod.py (#18) 2023-03-03 19:58:51 +01:00
Mark
0015a812f9
Further fixes/improvements (#16)
* Fix AF warning when Unknown

* Flag FS integrity check being disabled
2023-03-03 19:58:51 +01:00
Mark
b98928f801
Update missing key error since no libhac used (#14) 2023-03-03 19:58:50 +01:00
Mark
d0acba564f
Log reading improvements (#13)
* Handles new Ryujinx version numbering

* Add detection of ResultFsPermissionDenied and ResultFsTargetNotFound errors

* Warns on detection of old Ryujinx version
2023-03-03 19:58:50 +01:00
SS
0874e367c1
Add LDN/Tester reaction-roles select support in Ryujinx guild with Ryuko (#9)
* Add LDN/Tester reaction-roles select support in Ryujinx guild with Ryuko

* Fixed Mario Kart role name

* Add "How to remove reaction" message in embed

* 1) organised to classes 2) moved a message to embed footer
And start.sh is a file i will delete it later

* Footer

* Change emoji of Splatoon 2 (paintbrush => 🦑)

* Removed a test func

* Indian English, its not my problem

* Removed  attribute and use m.guild in handle_offline_reaction_*()

* More stricter type checking

* equal sign comma

Co-authored-by: Mary <thog@protonmail.com>

* Address Thog comment 1/?

* Address Thog comment 2/?

* bye bye start.sh (Address Thog comment 3/?)

* Fix a loop constant confusion

* Formated with

* A fix

* One more fix & added names loop variables

* Improve embed description once more

* Removed black bracket formatting

* add dynamic embed description

* Use the f strings

* Fix embed footer desc

* Added message editing on new game add, and generate embed in a seperate function

* Test

* added a comment

* Code refactor, bug fixes

* use get() for recieving role name

* Add pokemon/mario party superstars

* Embed changes

* Addded Pokemon BD/SP. Bruh how many games I will add in future.

* Fix P BD/SP.

Co-authored-by: choppymaster <>
Co-authored-by: Mary <thog@protonmail.com>
2023-03-03 19:58:50 +01:00
Mark
22f81b449b
Log reading improvements (#11)
* Added warnings for several settings:
- Expand DRAM hack
- Memory Manager Mode
- Ignore Missing Services
- Anisotropic Filtering set to not Auto
- Debug logs enabled
- New severity level for PPTC and Shader cache warnings

* Various fixes:
- Warn for outdated keys/firmware,
- Error snippet fix when no game boots
- Embed improvements
- Improve duplicate log upload tracking to link to last uploaded file

* Larger download header range, handle larger files.

* Move notes visibility to show on startup crash

* Added vsync disabled warning and dump hash error

* Clean up controller warning to declutter empty log message

* Add .NET 6 shader warning and genericise shader init error
2023-03-03 19:58:50 +01:00
Mark Araujo
32a8b6b431
Fix error not being displayed if game name Unknown (#7)
* 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>
2023-03-03 19:58:50 +01:00
Mark Araujo
82958d47cb
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
2023-03-03 19:58:50 +01:00
Mark Araujo
9bb4aeed9a
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
2023-03-03 19:58:50 +01:00
Mary
40fce5e354
Fix logfilereader logic 2023-03-03 19:58:50 +01:00
Mark Araujo
8550271af6
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
2023-03-03 19:58:43 +01:00
Ave Ozkal
0877351cca
Rewrite the verification code to the one required by Ryujinx Guild 2022-11-10 14:41:26 +01:00