This also refactors a large portion of the DI toolchain, since
I discovered that you shouldn't be reusing IDbConnection objects.
Instead, most services and stores are now declared transient, and
the webhook cache has been moved to a database-independent storage
singleton by itself.
* bot: add member count to system card
* bot: fix potential crash on edge case
Fixes a potential crash if a user queries the system card of a system with no members
* bot: tidy up code
* bot: move member count to embed title/Member field
Displays the member count (between parentheses) in the embed title if the system is named, otherwise shows it in the Member field title (again between parentheses)
* bot: move member count to Member field title entirely
Removed the member count from the embed title and display it in the Member field title within parentheses in all cases
* bot: fix a typo in root help message
* bot: update help to reflect new avatar set method
Updates the root help message and the avatar-specific help messages to include the new set avatar by message attachment function
* Update member_commands.py
Add ability to get avatar image from an attachment
* Update system_commands.py
Adding ability to get avatar from an attachment
* Update __init__.py
Setting `do_query_message` to accept full payload
* Update proxy.py
Adding code to remove question mark reaction after sending the message card
* Update proxy.py
Fixing type declaration in recent changes
* Fixing message grab
Getting the channel the reaction was handled in and changing the `fetch_message` call to grab from the channel
* Adding back pronouns option
Not sure why it was removed, honestly
* Fixing issues caused by PK using an outdated version of the lib. Whoops :')