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
1e8b47784d
Modify DataRetention behavior; simplify SQL config
2021-02-01 22:03:50 -08:00
9667820df4
Reduce background work interval
2021-02-01 22:02:29 -08:00
020e680436
Update version numbers
2020-10-29 01:26:17 -07:00
14d3e926a0
Fix null log messages being dropped
2020-10-29 00:56:46 -07:00
8e6da3c8d0
Improvements to shard disposal
2020-10-29 00:54:14 -07:00
d08fc45774
Move database initialization to program start
2020-10-29 00:53:18 -07:00
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
a631f55a37
Change exception type thrown by semaphore
2020-10-25 13:44:35 -07:00
b6551eec2e
Modify shard reporting to be compact, informative
2020-10-24 22:43:20 -07:00
651de4e78a
Configure all the awaits
2020-10-10 00:28:11 -07:00
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
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
6ee0ad939e
Improve comments, remove redundant code
2020-10-08 21:46:36 -07:00
6efc436717
Exception-proofing external statistics
2020-10-05 22:26:29 -07:00
0eb63c26f5
Clarify client options, add gateway intents
2020-10-05 16:51:42 -07:00
e1a4dab746
More thorough exception handling on dispose
2020-10-05 16:10:02 -07:00
2da4f3e0e3
Add missing filter, fix verbose logging not appearing
2020-10-05 16:09:14 -07:00
fc9d611ba6
Add individual SQL options
2020-10-05 16:07:34 -07:00
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
21d5c5b082
Add status update message
2020-09-25 17:25:08 -07:00
b711fec302
Update TZ information help text
2020-08-25 00:23:51 -07:00
a8624ce3ec
Add name escaping for '@'
2020-08-25 00:16:29 -07:00
c77163cab3
Merge branch 'noguildcache'
2020-08-05 19:49:57 -07:00
f1e7bd8c67
Removed disconnected server count
...
Made redundant by per-shard status on every birthday update
2020-07-27 22:40:09 -07:00
a9e87d8021
Update intervals, increase version number
2020-07-27 22:39:01 -07:00
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
a87426a5f6
Remove unnecessary lines
2020-07-27 22:29:35 -07:00
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
73fae41ac9
Automatically add pool config to database
2020-07-22 19:42:11 -07:00
937538c0e2
Update package
2020-07-22 19:41:36 -07:00
e8ae5bb9da
Increase initial processing delay
2020-07-22 17:07:30 -07:00
ffbffdd9b4
Remove async multiple updates
2020-07-22 17:06:35 -07:00
3d3db6d5e1
Update remaining handlers to not use guild cache
2020-07-22 16:58:38 -07:00
b6c201d5a5
Fix user last_seen not updating properly
...
Also now displays basic statistics on how many records are updated in
each pass whenever StaleDataCleaner does its work.
2020-07-19 20:54:18 -07:00
23dd15d741
Update to use GuildConfiguration; small other tweaks
2020-07-19 19:07:23 -07:00
6d7db85310
Remove unneeded property
2020-07-19 19:01:34 -07:00
581df48855
Add IsBotModerator method
...
Very similar to a previously existing method that was mistakenly removed.
2020-07-18 00:31:01 -07:00
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
488685bc79
Rewrite GuildUserConfiguration
...
Corresponding to GuildConfiguration, no longer assumes it is cached.
2020-07-16 13:29:50 -07:00
7ac15e21a1
Remove guild cache from BirthdayBot
...
Guild information no longer loaded on join, but instead on command
invocation. This information is to be passed on directly to the command
handler.
2020-07-16 12:23:40 -07:00
f71552c46d
Change Database to be a static class
2020-07-16 11:55:26 -07:00
0f05e3f0a8
Rewrite GuildConfiguration
...
No longer assumes it's permanently cached. When used, now requires that
any updates have its update method explicitly called.
2020-07-16 11:50:55 -07:00
aedc0f2ba7
Rename files
2020-07-16 11:50:12 -07:00
e3a86dd6dc
Increase time span coverage for recent/upcoming
...
Also adds a simple way to prevent the resulting message
from growing too large
2020-07-16 09:21:46 -07:00
0bd9b79e50
Replace OperationStatus with test command
2020-07-14 11:59:14 -07:00
fbbc675ab0
Improved error messages under manager commands
2020-06-03 19:20:18 -07:00
1137777092
Improved user-facing error messages
...
Also moved bb.when handler to a different class
2020-06-03 18:58:03 -07:00
fdb8e2bbb9
Add helper class to simplify documentation sharing
2020-06-03 18:56:45 -07:00
f839890b73
Fix StaleDataCleaner not working
2020-06-03 00:17:54 -07:00