diff --git a/src/sharding/ShardingManager.js b/src/sharding/ShardingManager.js index 5a7bb713a..ec96b57f2 100644 --- a/src/sharding/ShardingManager.js +++ b/src/sharding/ShardingManager.js @@ -79,8 +79,14 @@ class ShardingManager extends EventEmitter { if (amount !== Math.floor(amount)) throw new RangeError('Amount of shards must be an integer.'); return new Promise(resolve => { + if (this.shards.size >= amount) throw new Error(`Already spawned ${this.shards.size} shards.`); this.totalShards = amount; + this.createShard(); + if (this.shards.size >= this.totalShards) { + resolve(this.shards); + return; + } if (delay <= 0) { while (this.shards.size < this.totalShards) this.createShard();