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