Commit Graph

118 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
Iris System a0fa03599b fix(bot): display new Discord usernames correctly 2023-06-28 13:55:21 +12:00
Iris System 97666a62df fix(bot): make EmbedLinks permission check work with threads 2023-05-28 14:42:18 +12:00
Iris System 83af1f04a7
feat(bot): add support for Discord message context commands (#513) 2023-05-16 03:17:34 +12:00
spiral 3bac8816d2 feat(bot): bump non-nitro file size limit to 25mb 2023-04-15 12:16:58 -04:00
spiral eefbaf0c1d feat(bot): correctly proxy voice messages 2023-04-15 12:10:04 -04:00
Iris System 25c55df3b3 feat(bot): allow clearing embeds from proxied messages 2023-01-08 03:07:22 +13:00
spiral d332535ab1
Revert "fix(bot): wait for identify limit on identify instead of shard connect"
This reverts commit 6277d72c9c.
2022-12-24 22:37:04 +00:00
spiral 6277d72c9c
fix(bot): wait for identify limit on identify instead of shard connect 2022-12-21 05:47:13 +00:00
spiral f06fdb38ef
fix(bot): i forgot how serilog works 2022-11-28 19:25:20 -05:00
spiral 3f62f89e18
feat(bot): print any rate limit headers received on interactions routes 2022-11-28 18:59:02 -05:00
spiral 014999271f
feat(proxy): throw user-readable error on 413 when sending proxied attachments 2022-09-29 17:54:03 +00:00
spiral 5196e332df
feat(proxy): throw user-readable error when discord rejects a webhook username 2022-09-29 17:52:28 +00: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
Iris System d9fe78bdf2 feat(bot): always allow reproxying latest message in channel 2022-08-27 17:02:50 +12:00
Iris System 52127d9255 chore: update nuget Grpc.Tools to 2.47.0
The version previously used (2.37.0) is completely broken on
aarch64 Linux, so building the bot just didn't work there.
2022-07-05 11:15:30 +00:00
spiral f0b5749d5c
feat(bot): clean up / paginate help command 2022-06-14 19:05:15 -04:00
spiral a18fd9bd0d
chore: update github repo URL 2022-06-05 12:57:10 -04:00
Ske 4df8629b35 Remove some unused fields on cached models 2022-06-03 10:39:29 +02:00
spiral 1e86c2d6c4
chore: lint 2022-04-20 10:47:15 -04:00
spiral c2094e3b7a
feat(bot): add Redis cache 2022-04-13 08:44:53 -04:00
spiral 7afba4ea95
chore: code cleanup (mostly whitespace / remove unused imports) 2022-03-30 04:36:22 -04:00
spiral be89f907a0
feat: block running commands / proxying when system is being deleted
Large systems take way too long to delete, which causes any insert for that system to block a connection, which exhausts the connection pool
2022-03-23 21:32:18 -04:00
spiral ae543b9c18
feat: fetch from REST instead of cache for cross-cluster lookups 2022-03-09 20:06:53 -05:00
spiral 078b5a5bcd
feat: log error when globally ratelimited 2022-02-26 16:28:28 -05:00
spiral 32a73eef09
feat: update to Discord API v10 2022-02-26 16:28:20 -05:00
spiral 47e501da81
fix: update guild cache on GUILD_UPDATE event 2022-02-04 14:54:56 -05:00
spiral b6a160caef
feat: log full Discord error body 2022-01-26 06:21:19 -05:00
spiral 89c44a3482
feat: cache Discord DM channels in database 2022-01-22 02:47:47 -05:00
spiral c6e4c862b8
feat: update Discord status only on identify
See <https://github.com/discord/discord-api-docs/issues/4073#issuecomment-1016762755>

We still update status when restarting cluster, because it doesn't really matter if the session dies in that case (we're already restarting / going to reidentify)
2022-01-20 05:52:40 -05:00
spiral 426d753827
feat: tweak durations in Redis gateway ratelimiter 2022-01-19 18:01:42 -05:00
spiral a16903037f
fix: don't try to re-send stickers and activity invites 2022-01-14 23:22:12 -05:00
spiral 50a24f03a7
refactor: only pass shard ID to event handlers instead of full shard object 2022-01-14 18:39:03 -05:00
spiral 47e15e3acb
feat: add a couple missing Discord types 2022-01-13 12:28:44 -05:00
spiral 2aead40449
feat: add Redis identify ratelimiter 2022-01-13 12:26:25 -05:00
spiral 22feedd5dc
Revert "feat: query identify ratelimiter when identifying instead of when connecting websocket"
This reverts commit 5627fa9864.
2022-01-08 09:08:32 -05:00
spiral 5627fa9864
feat: query identify ratelimiter when identifying instead of when connecting websocket 2021-12-26 01:46:25 -05:00
spiral 40acd9370c
feat: lower timeout in twilight gateway ratelimiter 2021-12-26 01:42:47 -05:00
spiral 9ab1a873e5
feat: log shard ID in ShardConnection logs 2021-12-23 22:46:38 -05:00
spiral fc5825a941
fix twilight gateway ratelimiter 2021-12-23 22:02:45 -05:00
Ske 92e638613f
Force HTTP/1.1 for now 2021-12-23 21:23:43 -05:00
spiral 04d78e3348
refactor: remove some unused code 2021-11-26 21:14:09 -05: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 24ac0725af
refactor: move guildMember caching to IDiscordCache 2021-11-21 12:06:08 -05:00
spiral 0ca356eec3
feat: add support for attachment descriptions 2021-11-19 09:34:52 -05:00
spiral 923ad100e5
lint 2021-11-19 07:57:01 -05:00
spiral 0efaab6d95
refactor: don't use 'out' in IDiscordCache methods
this change is required for async cache (.NET doesn't support async ref/out params)
2021-11-18 13:11:02 -05:00
spiral e7f36eb31f
feat: async cache
this breaks logging bot permissions to Sentry.

we haven't had a need to check those recently (permissions issues were because of broken cache), so this is fine for now
this should be re-added in the future though
2021-11-17 20:41:02 -05:00
spiral 48d4009c69
fix: fix reporting Discord response metrics to influxdb 2021-11-09 02:19:31 -05:00