mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
23 lines
785 B
JavaScript
23 lines
785 B
JavaScript
const superagent = require('superagent');
|
|
const botGateway = require('./Constants').Endpoints.botGateway;
|
|
|
|
/**
|
|
* Gets the recommended shard count from Discord
|
|
* @param {string} token Discord auth token
|
|
* @param {number} [guildsPerShard=1000] Number of guilds per shard
|
|
* @returns {Promise<number>} the recommended number of shards
|
|
*/
|
|
function fetchRecommendedShards(token, guildsPerShard = 1000) {
|
|
return new Promise((resolve, reject) => {
|
|
if (!token) throw new Error('A token must be provided.');
|
|
superagent.get(botGateway)
|
|
.set('Authorization', `Bot ${token.replace(/^Bot\s*/i, '')}`)
|
|
.end((err, res) => {
|
|
if (err) reject(err);
|
|
resolve(res.body.shards * (1000 / guildsPerShard));
|
|
});
|
|
});
|
|
}
|
|
|
|
module.exports = fetchRecommendedShards;
|