Commit graph

9 commits

Author SHA1 Message Date
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
657181ec3e Less async birthday updates; download users on connect
From testing, it appears DownloadUsersAsync hangs forever and has other
consequences if its corresponding server is not fully connected, or is
struggling to connect. This is despite all attempts to mitigate it and
detect any disconnections shortly before attempting it.
Additionally, birthday updates are now run asynchronously per shard, but
synchronously per guild in an attempt to keep rare instances of rate
limiting under control.
2020-07-27 22:30:15 -07:00
Noi
8f84b09b21 Reduce amount of automatic processing
These changes make the bot skip over needlessly collecting information
for guilds in which it is unnecessary, in most cases guilds that have
invited the bot but have not yet invoked any bot command.
2020-07-22 19:43:45 -07:00
Noi
608ab37aec Update background services to remove guild cache references
Possibly optimized StaleDataCleaner as well by making certain database
updates asynchronous
2020-07-18 00:01:14 -07:00
Noi
0bd9b79e50 Replace OperationStatus with test command 2020-07-14 11:59:14 -07:00
Noi
c78276b6d5 Fix announcement formatting 2020-05-21 21:18:15 -07:00
Noi
4a052e4394 Various improvements
Reorganized ProgressGuildAsync to better show its process instead of
having pieces of it scattered. Also improves performance by performing a
check before doing birthday processing.
Additionally, other parts of the file were condensed slightly.
2020-04-03 21:19:29 -07:00
Noi
c5cab92899 Slightly improve birthday update task handling 2020-04-03 20:58:02 -07:00
Noi
ddcde10e09 First commit for C# rewrite
All existing VB code was 'translated' to C# as closely as possible, with
minor changes and additional notes. Currently untested and likely
broken.
Further commits will go toward making overall improvements until this
version replaces the currently existing code.
2020-04-02 11:38:26 -07:00