Commit graph

200 commits

Author SHA1 Message Date
Noi
51e241aca8 Restore "most users downloaded" checks
Workaround to deal with continued instances of inconsistent Discord.Net user downloading behavior
2021-12-05 18:25:02 -08:00
Noi
5e4d030467 Rework member cache downloading
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.
2021-11-22 13:40:08 -08:00
Noi
488ebfa163 Update style, add nullable 2021-11-22 13:32:30 -08:00
Noi
f8350fed53 Increase threshold, no longer stagger DataRetention
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.
2021-11-22 11:49:55 -08:00
Noi
67f78e068e Edit logging message filters
Additionally, remove unneeded usings and update style and nullable in affected files
2021-11-21 13:21:42 -08:00
Noi
9509f38d28 Edit project properties, add global usings
Remaining files will be cleaned up over time
2021-11-21 12:55:49 -08:00
Noi
800bba2193 Add more information to check command
Additionally, fix up null checks in affected files
2021-10-24 18:15:46 -07:00
Noi
16ac294fe3 Several improvements for program loading
-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
2021-10-22 17:55:30 -07:00
Noi
0c56a0859a Replace test with check command
Removes some messy code as a result of the old feature's removal.
Additionally, updated code style in ManagerCommands and fixed several nullable issues.
2021-10-22 15:41:36 -07:00
Noi
f4c7837759 Reorganize, reduce redundant code 2021-10-18 17:26:10 -07:00
Noi
ca0dd74bae Move bot uptime property from Common to Program
Additionally, update code style in Common
2021-10-18 16:58:22 -07:00
Noi
160152a0b4 Update style for data classes 2021-10-18 16:14:46 -07:00
Noi
fdffa5425c Set up useful exit codes
Additionally, updated style on affected files and cleaned up certain parts of the code in each.
2021-10-18 00:26:25 -07:00
Noi
6f34fbe657 Modified all background services
-Removed a number of diagnostic messages
-Removed ConnectionStatus, connection scores, etc.
-Modified work intervals for certain background tasks
-Updated code style
2021-10-14 18:55:04 -07:00
Noi
8cff530a7c Remove semaphore in SelectiveAutoUserDownload
Also updated style for this file.
Additionally, reworded the corresponding error message to something friendlier.
2021-10-13 21:36:00 -07:00
Noi
bef22a5548 Add config for new code style
Refactoring with this new style will gradually be applied.
2021-10-13 20:40:06 -07:00
Noi
dcb9bfdd9a Apply suggestions from code analysis 2021-10-13 20:38:52 -07:00
Noi
7af571205a Framework and dependency updates 2021-10-13 20:23:50 -07:00
Noi
b0fcd19710 Replace About message; remove zone option in set command
Regarding the latter, it led to a lot of confusion whenever anyone got the command wrong.
2021-10-13 19:29:24 -07:00
Noi
665c767cea Replace Calcutta with Kolkata 2021-10-13 19:28:35 -07:00
Noi
57a870efda Additional diagnostic information 2021-10-13 19:28:00 -07:00
Noi
7971295477 Split long recent-upcoming messages 2021-07-04 10:39:50 -07:00
Noi
eb33e55aad Add support for separate shard ranges per instance
-New config values ShardRange and ShardTotal
--ShardTotal replaces ShardCount
-New config value QuitOnFails:
--Program quits after enough shards have been removed
2021-06-15 19:29:35 -07:00
Noi
88c18c4364 Fix occasional internal ObjectDisposedException when disposing 2021-06-01 21:48:26 -07:00
Noi
59afd8ce3b Move server count reporting to be handled per-shard 2021-05-30 12:00:49 -07:00
Noi
5fcf69136d Have program attempt to stop itself after 5 failures 2021-05-30 10:05:33 -07:00
Noi
57fc207bba Update version number 2021-02-03 22:33:07 -08:00
Noi
0f4b2d722c Add some aliases for help and info commands 2021-02-03 22:17:00 -08:00
Noi
69583e2270 Add more supported input formats 2021-02-03 21:55:37 -08:00
Noi
a0571ce3d7 Add some leeway regarding incomplete user cache
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.
2021-02-01 22:48:20 -08:00
Noi
1e8b47784d Modify DataRetention behavior; simplify SQL config 2021-02-01 22:03:50 -08:00
Noi
9667820df4 Reduce background work interval 2021-02-01 22:02:29 -08:00
Noi
020e680436 Update version numbers 2020-10-29 01:26:17 -07:00
Noi
14d3e926a0 Fix null log messages being dropped 2020-10-29 00:56:46 -07:00
Noi
8e6da3c8d0 Improvements to shard disposal 2020-10-29 00:54:14 -07:00
Noi
d08fc45774 Move database initialization to program start 2020-10-29 00:53:18 -07:00
Noi
3c73be3ee7 Automatically identify and remove dead shards
- 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
2020-10-29 00:44:48 -07:00
Noi
a631f55a37 Change exception type thrown by semaphore 2020-10-25 13:44:35 -07:00
Noi
b6551eec2e Modify shard reporting to be compact, informative 2020-10-24 22:43:20 -07:00
Noi
651de4e78a Configure all the awaits 2020-10-10 00:28:11 -07:00
Noi
9ef164bac1 Update DataRetention service
Renamed from StaleDataCleaner.
Modified to run only once concurrently, to not put extra load on the
database connection pool.
2020-10-09 23:57:30 -07:00
Noi
7ce04997f9 Modify background task settings
Solves an issue in which the bot lags on all input when the bot has
been fully initialized.
2020-10-08 21:56:44 -07:00
Noi
6ee0ad939e Improve comments, remove redundant code 2020-10-08 21:46:36 -07:00
Noi
6efc436717 Exception-proofing external statistics 2020-10-05 22:26:29 -07:00
Noi
0eb63c26f5 Clarify client options, add gateway intents 2020-10-05 16:51:42 -07:00
Noi
e1a4dab746 More thorough exception handling on dispose 2020-10-05 16:10:02 -07:00
Noi
2da4f3e0e3 Add missing filter, fix verbose logging not appearing 2020-10-05 16:09:14 -07:00
Noi
fc9d611ba6 Add individual SQL options 2020-10-05 16:07:34 -07:00
Noi
2f0fe8641a Implement own sharding system
The BirthdayBot class has been split up into ShardInstance and
ShardManager. Several other things have been reorganized so that shards
may act independently.

The overall goal of these changes made is to limit failures to sections
that can easily be discarded and replaced.
2020-10-04 21:40:38 -07:00
Noi
21d5c5b082 Add status update message 2020-09-25 17:25:08 -07:00