aboutsummaryrefslogtreecommitdiff
path: root/node_modules/discord.js/src/util/FetchRecommendedShards.js
blob: a60f51006f996072da690bf4cdab6926d0cb00e6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const superagent = require('superagent');
const botGateway = require('./Constants').Endpoints.botGateway;

/**
 * Gets the recommended shard count from Discord
 * @param {number} token Discord auth token
 * @returns {Promise<number>} the recommended number of shards
 */
module.exports = function fetchRecommendedShards(token) {
  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);
      });
  });
};