Commented util.js
This commit is contained in:
parent
c76532db32
commit
2ec2e81853
1 changed files with 32 additions and 15 deletions
|
@ -30,26 +30,33 @@ class util {
|
||||||
|
|
||||||
// Loop through all the required configs of the command
|
// Loop through all the required configs of the command
|
||||||
for (let i = 0; i < requiredConfigs.length; i++) {
|
for (let i = 0; i < requiredConfigs.length; i++) {
|
||||||
|
// If the command doesn't have the configs in the config string, throw an error
|
||||||
if (!this._client.config[name]) throw `${commandFile.name} requires ${requiredConfigs[i]} in it's configuration`;
|
if (!this._client.config[name]) throw `${commandFile.name} requires ${requiredConfigs[i]} in it's configuration`;
|
||||||
if (!this._client.config[name][requiredConfigs[i]]) throw `${commandFile.name} requires ${requiredConfigs[i]} in it's configuration`;
|
if (!this._client.config[name][requiredConfigs[i]]) throw `${commandFile.name} requires ${requiredConfigs[i]} in it's configuration`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get the roles required for this command to run
|
||||||
let requiredRoles = command.roles;
|
let requiredRoles = command.roles;
|
||||||
|
|
||||||
|
// Loop through all roles required
|
||||||
for (let i = 0; i < requiredRoles.length; i++) {
|
for (let i = 0; i < requiredRoles.length; i++) {
|
||||||
|
// If the user doesn't have a required role, don't run the command and let the user know
|
||||||
if (!message.member.roles.cache.find(role => role.name == requiredRoles[i])) {
|
if (!message.member.roles.cache.find(role => role.name == requiredRoles[i])) {
|
||||||
message.reply(`You require the \`${requiredRoles[i]}\` role to run this command`);
|
message.reply(`You require the \`${requiredRoles[i]}\` role to run this command`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get the ids of the users that are only permitted to run this command
|
||||||
let users = command.users;
|
let users = command.users;
|
||||||
|
|
||||||
|
// If the user isn't in the list, don't run the command
|
||||||
if (!users.includes(message.member.id)) {
|
if (!users.includes(message.member.id)) {
|
||||||
message.reply(`You do not have permission to run this command`);
|
message.reply(`You do not have permission to run this command`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Run the command and pass the command context with it
|
||||||
command[command.run]({
|
command[command.run]({
|
||||||
"command": name,
|
"command": name,
|
||||||
"arguments": args,
|
"arguments": args,
|
||||||
|
@ -64,18 +71,28 @@ class util {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Load the events
|
||||||
loadEvents() {
|
loadEvents() {
|
||||||
|
// Loop through all the event folders
|
||||||
for (let e = 0; e < this._client.config.events.length; e++) {
|
for (let e = 0; e < this._client.config.events.length; e++) {
|
||||||
|
// Get the current folder to check
|
||||||
let folder = this._client.config.events[e];
|
let folder = this._client.config.events[e];
|
||||||
|
|
||||||
|
// Get the files inside of this folder
|
||||||
let eventFiles = readdirSync(`${process.cwd()}/${folder}/`);
|
let eventFiles = readdirSync(`${process.cwd()}/${folder}/`);
|
||||||
|
|
||||||
|
// Loop through all the files in the folder
|
||||||
for (let i = 0; i < eventFiles.length; i++) {
|
for (let i = 0; i < eventFiles.length; i++) {
|
||||||
|
// Get the event name, by taking the command file and removing the ".js" from the end
|
||||||
let eventName = eventFiles[i].split('.')[0];
|
let eventName = eventFiles[i].split('.')[0];
|
||||||
|
|
||||||
|
// Get the file of the event
|
||||||
let file = require(`${process.cwd()}/${folder}/${eventName}.js`);
|
let file = require(`${process.cwd()}/${folder}/${eventName}.js`);
|
||||||
|
|
||||||
|
// Initialise the event class
|
||||||
let event = new file;
|
let event = new file;
|
||||||
|
|
||||||
|
// Set the client to emit to this event
|
||||||
this._client.on(eventName, event[event.run]);
|
this._client.on(eventName, event[event.run]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue