forked from Galactic/galactic-bot
quote bs
This commit is contained in:
parent
a71cb26522
commit
c779b21311
@ -23,42 +23,42 @@ class ShardManager extends EventEmitter {
|
|||||||
}, options.shard);
|
}, options.shard);
|
||||||
|
|
||||||
this.file = file;
|
this.file = file;
|
||||||
if(!file) throw new Error("[shardmanager] File must be specified.");
|
if(!file) throw new Error('[shardmanager] File must be specified.');
|
||||||
if(!path.isAbsolute(file)) this.file = path.resolve(process.cwd(), file);
|
if(!path.isAbsolute(file)) this.file = path.resolve(process.cwd(), file);
|
||||||
|
|
||||||
const stats = fs.statSync(this.file);
|
const stats = fs.statSync(this.file);
|
||||||
if(!stats.isFile()) throw new Error("[shardmanager] File path does not point to a valid file.");
|
if(!stats.isFile()) throw new Error('[shardmanager] File path does not point to a valid file.');
|
||||||
|
|
||||||
this.shardList = options.shardList || 'auto';
|
this.shardList = options.shardList || 'auto';
|
||||||
if(this.shardList !== 'auto') {
|
if(this.shardList !== 'auto') {
|
||||||
if(!Array.isArray(this.shardList)) {
|
if(!Array.isArray(this.shardList)) {
|
||||||
throw new TypeError("[shardmanager] ShardList must be an array.");
|
throw new TypeError('[shardmanager] ShardList must be an array.');
|
||||||
}
|
}
|
||||||
this.shardList = [...new Set(this.shardList)];
|
this.shardList = [...new Set(this.shardList)];
|
||||||
if(this.shardList.length < 1) throw new RangeError("[shardmanager] ShardList must have one ID.");
|
if(this.shardList.length < 1) throw new RangeError('[shardmanager] ShardList must have one ID.');
|
||||||
if(this.shardList.some(shardID => typeof shardID !== 'number'
|
if(this.shardList.some(shardID => typeof shardID !== 'number'
|
||||||
|| isNaN(shardID)
|
|| isNaN(shardID)
|
||||||
|| !Number.isInteger(shardID)
|
|| !Number.isInteger(shardID)
|
||||||
|| shardID < 0)
|
|| shardID < 0)
|
||||||
) {
|
) {
|
||||||
throw new TypeError("[shardmanager] ShardList must be an array of positive integers.");
|
throw new TypeError('[shardmanager] ShardList must be an array of positive integers.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.totalShards = options.totalShards || 'auto';
|
this.totalShards = options.totalShards || 'auto';
|
||||||
if(this.totalShards !== 'auto') {
|
if(this.totalShards !== 'auto') {
|
||||||
if(typeof this.totalShards !== 'number' || isNaN(this.totalShards)) {
|
if(typeof this.totalShards !== 'number' || isNaN(this.totalShards)) {
|
||||||
throw new TypeError("[shardmanager] TotalShards must be an integer.");
|
throw new TypeError('[shardmanager] TotalShards must be an integer.');
|
||||||
}
|
}
|
||||||
if(this.totalShards < 1) throw new RangeError("[shardmanager] TotalShards must be at least one.");
|
if(this.totalShards < 1) throw new RangeError('[shardmanager] TotalShards must be at least one.');
|
||||||
if(!Number.isInteger(this.totalShards)) {
|
if(!Number.isInteger(this.totalShards)) {
|
||||||
throw new RangeError("[shardmanager] TotalShards must be an integer.");
|
throw new RangeError('[shardmanager] TotalShards must be an integer.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.mode = options.mode;
|
this.mode = options.mode;
|
||||||
if(this.mode !== 'process' && this.mode !== 'worker') {
|
if(this.mode !== 'process' && this.mode !== 'worker') {
|
||||||
throw new RangeError("[shardmanager] Mode must be either 'worker' or 'process'.");
|
throw new RangeError('[shardmanager] Mode must be either \'worker\' or \'process\'.');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.respawn = options.respawn;
|
this.respawn = options.respawn;
|
||||||
@ -87,15 +87,15 @@ class ShardManager extends EventEmitter {
|
|||||||
amount = await Util.fetchRecommendedShards(this.token);
|
amount = await Util.fetchRecommendedShards(this.token);
|
||||||
} else {
|
} else {
|
||||||
if(typeof amount !== 'number' || isNaN(amount)) {
|
if(typeof amount !== 'number' || isNaN(amount)) {
|
||||||
throw new TypeError("[shardmanager] Amount of shards must be a number.");
|
throw new TypeError('[shardmanager] Amount of shards must be a number.');
|
||||||
}
|
}
|
||||||
if(amount < 1) throw new RangeError("[shardmanager] Amount of shards must be at least one.");
|
if(amount < 1) throw new RangeError('[shardmanager] Amount of shards must be at least one.');
|
||||||
if(!Number.isInteger(amount)) {
|
if(!Number.isInteger(amount)) {
|
||||||
throw new TypeError("[shardmanager] Amount of shards must be an integer.");
|
throw new TypeError('[shardmanager] Amount of shards must be an integer.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.shards.size >= amount) throw new Error("[shardmanager] Already spawned all necessary shards.");
|
if(this.shards.size >= amount) throw new Error('[shardmanager] Already spawned all necessary shards.');
|
||||||
if(this.shardList === 'auto' || this.totalShards === 'auto' || this.totalShards !== amount) {
|
if(this.shardList === 'auto' || this.totalShards === 'auto' || this.totalShards !== amount) {
|
||||||
this.shardList = [...Array(amount).keys()];
|
this.shardList = [...Array(amount).keys()];
|
||||||
}
|
}
|
||||||
@ -103,7 +103,7 @@ class ShardManager extends EventEmitter {
|
|||||||
this.totalShards = amount;
|
this.totalShards = amount;
|
||||||
}
|
}
|
||||||
if(this.shardList.some(id => id >= amount)) {
|
if(this.shardList.some(id => id >= amount)) {
|
||||||
throw new RangeError("[shardmanager] Amount of shards cannot be larger than the highest shard ID.");
|
throw new RangeError('[shardmanager] Amount of shards cannot be larger than the highest shard ID.');
|
||||||
}
|
}
|
||||||
|
|
||||||
for(const shardID of this.shardList) {
|
for(const shardID of this.shardList) {
|
||||||
@ -131,8 +131,8 @@ class ShardManager extends EventEmitter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fetchClientValues(prop) {
|
fetchClientValues(prop) {
|
||||||
if(this.shards.size === 0) return Promise.reject(new Error("[shardmanager] No shards available."));
|
if(this.shards.size === 0) return Promise.reject(new Error('[shardmanager] No shards available.'));
|
||||||
if(this.shards.size !== this.totalShards) return Promise.reject(new Error("[shardmanager] Sharding in progress."));
|
if(this.shards.size !== this.totalShards) return Promise.reject(new Error('[shardmanager] Sharding in progress.'));
|
||||||
const promises = [];
|
const promises = [];
|
||||||
for(const shard of this.shards.values()) promises.push(shard.fetchClientValue(prop));
|
for(const shard of this.shards.values()) promises.push(shard.fetchClientValue(prop));
|
||||||
return Promise.all(promises);
|
return Promise.all(promises);
|
||||||
|
@ -5,6 +5,7 @@ const { inspect } = require('util');
|
|||||||
|
|
||||||
const options = require('../../../options.json');
|
const options = require('../../../options.json');
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-control-regex
|
||||||
const regex = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g
|
const regex = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g
|
||||||
|
|
||||||
class DiscordWebhook extends Transport {
|
class DiscordWebhook extends Transport {
|
||||||
|
@ -9,15 +9,15 @@ class GrantCommand extends Command {
|
|||||||
super(client, {
|
super(client, {
|
||||||
name: 'permissions',
|
name: 'permissions',
|
||||||
module: 'administration',
|
module: 'administration',
|
||||||
usage: "<role|user>",
|
usage: '<role|user>',
|
||||||
aliases: [
|
aliases: [
|
||||||
'perms',
|
'perms',
|
||||||
'permission',
|
'permission',
|
||||||
'perm'
|
'perm'
|
||||||
],
|
],
|
||||||
examples: [
|
examples: [
|
||||||
"Server Moderators",
|
'Server Moderators',
|
||||||
"@nolan#2887"
|
'@nolan#2887'
|
||||||
],
|
],
|
||||||
memberPermissions: ['ADMINISTRATOR', 'MANAGE_SERVER'],
|
memberPermissions: ['ADMINISTRATOR', 'MANAGE_SERVER'],
|
||||||
guildOnly: true
|
guildOnly: true
|
||||||
|
Loading…
Reference in New Issue
Block a user