Files
quarksBot/util/RegisterSlashCommands.js
T

41 lines
1.2 KiB
JavaScript

const fs = require("fs");
const path = require("path");
/**
* Register slash commands for a guild
* @param {require("../structures/QuarksBot")} client
* @param {string} guild
*/
module.exports = (client, guild) => {
let commandsDir = path.join(__dirname, "..", "commands");
fs.readdir(commandsDir, (err, files) => {
if (err) throw err;
files.forEach(async (file) => {
let cmd = require(commandsDir + "/" + file);
if (!cmd.SlashCommand || !cmd.SlashCommand.run) return;
let dataStuff = {
name: cmd.name,
description: cmd.description,
options: cmd.SlashCommand.options,
};
//Creating variables like this, So you might understand my code :)
let ClientAPI = client.api.applications(client.user.id);
let GuildAPI = ClientAPI.guilds(guild);
try {
await GuildAPI.commands.post({ data: dataStuff });
} catch (e) {
if (client.config.Dev == 'DEV') console.log(e);
client.log('Error: API missing permissions, re-invite the bot');
// Forces bot to leave server
let guildID = client.guilds.cache.get(guild);
if (guildID) guildID.leave();
client.log(`Server stats is now down to ${client.guilds.cache.size}`);
}
});
});
};