-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make Kord builder no longer suspend #146
Comments
I'll actually run Kord on a 4k guilds bot at some point so what about adding both ways |
This doesn't intend remove the behavior, it merely doesn't make it the default:
conceptually that'd translate itself to something like this: val kord = Kord(token) {
shards = fetchRecommendedShards()
} It should only be a bit of extra work for those who need it, and a decent optimization for those who don't. |
The builder also calls |
Kord's builder DSL suspends to figure out the recommended amount of shards from Discord's REST API.
When it was originally introduced, it was motivated as a way to automatically scale shards without input from the user.
The truth is however, that most bot authors won't be running Kord bots on 1000+ guilds. Most will run a select few dedicated guilds instead, and those running on more won't be using a single kord instance for all their bots anyway.
As such, we should transform the builder to no longer suspend by default and assume a default shard config (1 shard, index 0) that can modified by the user, and allow them to call the suspending function manually. This makes building Kord nicer for third APIs and has the added bonus of skipping an HTTP request, speeding up the startup.
The text was updated successfully, but these errors were encountered: