EssentialsX

EssentialsX

2M Downloads

Discord Exponential Backoff

untuned opened this issue ยท 4 comments

commented

Feature description

When the Discord modules encounter a rate limit, instead of trying once every second, it should instead have an exponential backoff that increases the time between retries.

How the feature is useful

This will help prevent the rate limit from refreshing, and also prevent any blacklists of the server's IP from connecting to Discord. Also prevents the application from being disabled if too many requests are made.

commented

should be improved with #4786

commented

Seems more like something that should be part of the library EssX Discord uses, rather than EssX Discord itself.

commented

Seems more like something that should be part of the library EssX Discord uses, rather than EssX Discord itself.

@Evidentsinger14 I'm inclined to disagree - I'd say it's down to us to handle ratelimiting gracefully. The webhook library should expose ratelimits and failures to us, but otherwise should just fire webhooks as we request.

commented

Discord module is also designed around us being able to drop-in a new library if needed, so I agree with having us handling it, even if that ends up utilizing the current library's rate-limiting for the time being.