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
99786a7b70
Suppress unneeded log messages
2020-06-02 23:11:34 -07:00
6f4222497e
Fix bb.when output
...
(I don't get how this fixed it)
2020-05-22 17:01:14 -07:00
7500590113
Update libraries
2020-05-22 00:36:11 -07:00
48481e0379
Add reminders for error reporting improvements
2020-05-22 00:27:31 -07:00
a91e22ca71
Fix exception on every non-command incoming message
2020-05-22 00:26:55 -07:00
9278ef0a48
Disable output of debug information in Release build
2020-05-22 00:26:21 -07:00