Set up a structure not unlike what exists for text commands in order to neatly separate subsets of commands/features into their own files.
Changed references for existing commands to "text commands" where it made sense to do so.
-Remove webhook logging references
--Including config line. Idea is abandoned for now.
-Remove unneeded comments
-Remove diagnostic messages
--Corresponding problems were solved by moving to dedicated hardware
-Update style on all affected files
Fill it quicker when immediately needed, removing the need for a request list and all relating to it in the corresponding background service.
Additionally, updated usings, style, nullables in all affected files.
This staggering was most likely the cause of a major amount of data lost recently, in which certain guilds never had their values updated.
The staggering was meant to attempt to reduce load on a server with limited capabilities, and testing shows that it runs on more capable hardware without this issue when run this way.
-Add command line options for shards
-Set consistent exit codes
-Turn on nullable option and edit code further to conform and reduce warnings
-Update libraries
Removes some messy code as a result of the old feature's removal.
Additionally, updated code style in ManagerCommands and fixed several nullable issues.
-Removed a number of diagnostic messages
-Removed ConnectionStatus, connection scores, etc.
-Modified work intervals for certain background tasks
-Updated code style
-New config values ShardRange and ShardTotal
--ShardTotal replaces ShardCount
-New config value QuitOnFails:
--Program quits after enough shards have been removed
Implemented several workarounds to what appearto be a library bug in
which not all users will be downloaded onto the cache. User cache
checking and downloading is delegated to a new Common method and a
new BackgroundService, respectively.
This is hopefully temporary.
- Manager loop updated to act on dead shards and initialize new ones
- Initialization of new shards is now staggered in case of many shards
- Now using intents
- Adding a delay and a second connection check when downloading guild
members. This has greatly improved stability over the previously
attempted method.
- No longer sends guild counts to external sites until fully connected