Commit Graph

26 Commits

Author SHA1 Message Date
Iris System
6b14c50f09 fix(bot): only allow proxying in known-supported channel types
This is so that new channel types added by Discord (that may or may not
support the features we need for proxying to work) don't throw piles of
error codes at users when they try to proxy.
2023-06-28 14:38:50 +12:00
spiral
9303dbb91e refactor(bot): remove saving own user ID from ready event, rely on ID in config 2022-09-06 09:52:37 +00:00
spiral
1918c56937 feat: upgrade to .NET 6, refactor everything 2021-11-26 21:10:56 -05:00
spiral
7a5ba8246e refactor: cache own user ID in IDiscordCache
- remove Cluster.User
- remove Cluster.Application (it was only being used as an alternative to Cluster.User for some reason)
- move Bot.PermissionsIn to DiscordCacheExtensions
2021-11-21 19:42:35 -05:00
spiral
ac2671452d run dotnet format 2021-08-27 11:03:47 -04:00
Ske
ae82bb4168 Updates to Elastic logging 2021-06-10 14:21:05 +02:00
Ske
a6fbd869be Initial commit, basic proxying working 2020-12-22 13:15:26 +01:00
Ske
1e8470e77f Potential quick fix for... something 2020-09-25 23:28:06 +02:00
Ske
c7612df37e Major database refactor (again) 2020-08-29 13:46:27 +02:00
Ske
59bbbab621 Handle cases where the channel webhook limit is already hit 2020-07-05 13:38:18 +02:00
Ske
c87e67245d Create GetXXX utils wrapping try blocks 2020-07-02 18:29:04 +02:00
Ske
ca882dba73 Add more performance metrics 2020-06-14 22:19:12 +02:00
Ske
3d69a00716 Fixed exceptions when fetching webhook list "sticking" in the cache
This happened because we cache Task instances, not the values, and a failed task is still a *valid* task that can repeatedly be awaited. This lead to the Task being saved even if it failed, and the same exception constantly being re-thrown.

This fix invalidates the cache if it finds a failed Task, and lets it retry fetching as normal (hopefully successfully this time).
2020-06-11 16:13:18 +02:00
Ske
23cf06df4c Port some things, still does not compile 2020-04-17 23:10:01 +02:00
Ske
474d561c54 Execute webhooks directly rather than through D.NET 2019-12-21 18:50:28 +01:00
Ske
6538c5d054 Fix line endings in WebhookCacheService 2019-10-27 13:09:07 +01:00
Ske
aed38f37f7 Allow starting bot before all shards are up 2019-10-27 13:01:33 +01:00
Ske
8396e17a87 Attempt to fix webhook invocation errors 2019-08-12 16:38:34 +02:00
Ske
145ecb91ad Refactor proxy service 2019-08-12 05:47:55 +02:00
Ske
17c8b7b765 Properly retry client creation on failure 2019-08-12 04:42:16 +02:00
Ske
5b13c1b100 Cache the entire webhook client rather than just the token 2019-08-12 04:32:01 +02:00
Ske
45f468fe21 Properly clean up after proxy operations 2019-07-21 04:27:04 +02:00
Ske
2620d2da9c Collect webhook cache statistics 2019-07-21 04:15:47 +02:00
Ske
a188c64a0e Clean up unused imports 2019-07-17 13:38:23 +02:00
Ske
ca56fd419b Fix various issues with proxying and webhook caching 2019-07-10 23:16:17 +02:00
Ske
08afa2543b Add member avatar edit command
This also refactors a large portion of the DI toolchain, since
I discovered that you shouldn't be reusing IDbConnection objects.

Instead, most services and stores are now declared transient, and
the webhook cache has been moved to a database-independent storage
singleton by itself.
2019-05-17 01:23:09 +02:00