Comments (4)
Isn't it cleaner to throw if the ratelimit is exceeded? And let the sender handle the retry?
from nostrum.
Could you use Semaphore to track requests and fail fast when the rate limit has been hit?
from nostrum.
Given how the gateway ratelimiting is fairly simple, it'd probably make more sense to just use something like https://github.com/ExHammer/hammer
from nostrum.
We can use (a much simpler method of) the state machine-based approach from #501 to implement this in a relatively simple manner, as the gateway ratelimit is per-connection.
For the session start limit, we will need something different to coordinate it across multiple nodes - likely this belongs to a separate issue. See https://discord.com/developers/docs/topics/gateway#sharding-max-concurrency.
I am planning this for 0.9.
from nostrum.
Related Issues (20)
- Blows up in confusing way if Discord is down HOT 2
- Problem with installing nostum library HOT 5
- Release 0.6 in hex HOT 6
- `cowlib` failing to fetch on `mix deps.get` when adding nostrum as dependency HOT 4
- Memory usage blows up on startup with large servers and request_guild_members: true
- message.content coming in empty HOT 2
- Wrong type for `interaction.data.options` HOT 2
- Support the webhook allowed_mentions object HOT 1
- Re-integrate dialyzer into development HOT 1
- Feat: pass shard list to gateway HOT 7
- Guild Cache crashes
- Ratelimiter leaks processes HOT 3
- Publishing docs fails on master
- Missing function in Api.Ratelimiter HOT 2
- Ratelimiter crash with new store API
- Nostrum Application Crash Loop HOT 5
- Add support for application-commands#permissions feature HOT 2
- Ratelimiter state machine errors HOT 10
- Is there TextInput Modal works? Any example? HOT 2
- Inquiry about missing options in Nostrum.ApplicationCommand
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nostrum.