Edit history

Earlier versions of Revisit guild structure rate limits for bot import/export tools, newest first.

Current version | Edited by Rex
Changes
https://github.com/fluxerapp/fluxer/blob/main/fluxer_api/src/api/rate_limit_configs/ChannelRateLimitConfig.tsRemoved: ### ChecksRemoved: Removed: - ☑ I searched existing discussions.Removed:
Show

Revisit guild structure rate limits for bot import/export tools

Problem

I'm working on an import/export feature for my bot which can wipe a community and recreate its roles, categories and channels from an export One of my test imports had 171 roles, 15 categories and 96 channels. Channel deletion finished pretty quickly, but once it reached the roles it slowed down a lot Looking at the configs, channel deletion is limited per channel, while all role deletions in a guild share a limit of 10 per minute. Role and channel creation are also limited to 10 per minute per guild For an import of this size, deletion and creation alone can take around 45 minutes, without counting permission overwrites and ordering I've also had a full reset import hang while creating channels, rather than just take a long time
Note
Time numbers are an estimate and should be verified

Proposal

Would you be open to increasing the limits for role deletion and role/channel creation? Could you also look into why channel creation can hang during a full reset import? For example, role deletion could use 20 per 10 seconds per guild like role updates and emoji/sticker deletion. Role and channel creation could maybe use 10 per 10 seconds instead of 10 per minute I'm not sure what exact values would make the most sense on your side. I mainly wanted to bring up the use case since the current limits make larger imports take a very long time

Notes

I don't think making role deletion per-role like channel deletion would be a good idea, since that would mostly get rid of the aggregate limit. Keeping it per-guild but allowing more requests seems safer Current configs: https://github.com/fluxerapp/fluxer/blob/main/fluxer_api/src/api/rate_limit_configs/GuildRateLimitConfig.ts https://github.com/fluxerapp/fluxer/blob/main/fluxer_api/src/api/rate_limit_configs/ChannelRateLimitConfig.ts
Original by Rex
Show

Revisit guild structure rate limits for bot import/export tools

Problem

I'm working on an import/export feature for my bot which can wipe a community and recreate its roles, categories and channels from an export One of my test imports had 171 roles, 15 categories and 96 channels. Channel deletion finished pretty quickly, but once it reached the roles it slowed down a lot Looking at the configs, channel deletion is limited per channel, while all role deletions in a guild share a limit of 10 per minute. Role and channel creation are also limited to 10 per minute per guild For an import of this size, deletion and creation alone can take around 45 minutes, without counting permission overwrites and ordering I've also had a full reset import hang while creating channels, rather than just take a long time
Note
Time numbers are an estimate and should be verified

Proposal

Would you be open to increasing the limits for role deletion and role/channel creation? Could you also look into why channel creation can hang during a full reset import? For example, role deletion could use 20 per 10 seconds per guild like role updates and emoji/sticker deletion. Role and channel creation could maybe use 10 per 10 seconds instead of 10 per minute I'm not sure what exact values would make the most sense on your side. I mainly wanted to bring up the use case since the current limits make larger imports take a very long time

Notes

I don't think making role deletion per-role like channel deletion would be a good idea, since that would mostly get rid of the aggregate limit. Keeping it per-guild but allowing more requests seems safer Current configs: https://github.com/fluxerapp/fluxer/blob/main/fluxer_api/src/api/rate_limit_configs/GuildRateLimitConfig.ts https://github.com/fluxerapp/fluxer/blob/main/fluxer_api/src/api/rate_limit_configs/ChannelRateLimitConfig.ts

Checks

  • ☑ I searched existing discussions.