diff --git a/Structures/Addons.js b/Structures/Addons.js index 7e708b3..d5c8935 100644 --- a/Structures/Addons.js +++ b/Structures/Addons.js @@ -5,20 +5,19 @@ const fs = require("fs"); const Discord = require("discord.js"); -const yaml = require('js-yaml'); -const supportbot = yaml.load(fs.readFileSync('./Data/supportbot.yml', 'utf8')); +const yaml = require("js-yaml"); +const supportbot = yaml.load(fs.readFileSync("./Data/supportbot.yml", "utf8")); -function RunFunction(message, args, client) {} +function RunFunction(interaction) {} class Addon { - constructor(options) { - this.name = options.name; - this.description = options.description; - this.permission = options.permission; - this.type = ["BOTH", "SLASH", "TEXT"].includes(options.type) ? options.type : "TEXT"; - this.slashCommandOptions = options.slashCommandOptions || []; - this.run = options.run; - } + constructor(options) { + this.name = options.name; + this.description = options.description; + this.permission = options.permission; + this.slashCommandOptions = options.slashCommandOptions || []; + this.run = options.run; + } } -module.exports = Addon; \ No newline at end of file +module.exports = Addon; diff --git a/Structures/Client.js b/Structures/Client.js index a902605..9fc0901 100644 --- a/Structures/Client.js +++ b/Structures/Client.js @@ -8,96 +8,94 @@ const Command = require("./Command.js"); const Event = require("./Event.js"); const intents = new Discord.Intents(32767); -const yaml = require('js-yaml'); -const supportbot = yaml.load(fs.readFileSync('./Data/supportbot.yml', 'utf8')); +const yaml = require("js-yaml"); +const supportbot = yaml.load(fs.readFileSync("./Data/supportbot.yml", "utf8")); class Client extends Discord.Client { - constructor() { - super({ intents }); + constructor() { + super({ intents }); - this.commands = new Discord.Collection(); + this.commands = new Discord.Collection(); - this.prefix = supportbot.Prefix; - } + this.prefix = supportbot.Prefix; + } - start(token) { - const commandFiles = fs.readdirSync("./Commands") - .filter(file => file.endsWith(".js")); + start(token) { + const commandFiles = fs + .readdirSync("./Commands") + .filter((file) => file.endsWith(".js")); - const commands = commandFiles.map(file => require(`../Commands/${file}`)); + const commands = commandFiles.map((file) => require(`../Commands/${file}`)); - console.log(`\u001b[34;1m`, '▬▬▬▬▬▬▬ Commands ▬▬▬▬▬▬▬') + console.log(`\u001b[34;1m`, "▬▬▬▬▬▬▬ Commands ▬▬▬▬▬▬▬"); - commands.forEach(cmd => { - console.log(`\u001b[31;1m`, `${cmd.name}`, `\u001b[32;1m`, 'Loaded'); - this.commands.set(cmd.name, cmd); - }); + commands.forEach((cmd) => { + console.log(`\u001b[31;1m`, `${cmd.name}`, `\u001b[32;1m`, "Loaded"); + this.commands.set(cmd.name, cmd); + }); - console.log(`\u001b[34;1m`, '▬▬▬▬▬▬▬ Commands ▬▬▬▬▬▬▬') + console.log(`\u001b[34;1m`, "▬▬▬▬▬▬▬ Commands ▬▬▬▬▬▬▬"); - // Addons + // Addons - const addonFiles = fs.readdirSync("./Addons") - .filter(file => file.endsWith(".js")); + const addonFiles = fs + .readdirSync("./Addons") + .filter((file) => file.endsWith(".js")); - const addons = addonFiles.map(file => require(`../Addons/${file}`)); + const addons = addonFiles.map((file) => require(`../Addons/${file}`)); - console.log(' ') - console.log(`\u001b[34;1m`, '▬▬▬▬▬▬▬ Addons ▬▬▬▬▬▬▬') + console.log(" "); + console.log(`\u001b[34;1m`, "▬▬▬▬▬▬▬ Addons ▬▬▬▬▬▬▬"); - addons.forEach(addon => { - console.log(`\u001b[31;1m`, `${addon.name}`, `\u001b[32;1m`, 'Loaded'); - this.commands.set(addon.name, addon); - }); + addons.forEach((addon) => { + console.log(`\u001b[31;1m`, `${addon.name}`, `\u001b[32;1m`, "Loaded"); + this.commands.set(addon.name, addon); + }); - console.log(`\u001b[34;1m`, '▬▬▬▬▬▬▬ Addons ▬▬▬▬▬▬▬') - console.log(' ') + console.log(`\u001b[34;1m`, "▬▬▬▬▬▬▬ Addons ▬▬▬▬▬▬▬"); + console.log(" "); - // Slash Commands + // Slash Commands - const slashCommands = commands - .filter(cmd => ["BOTH", "SLASH"].includes(cmd.type)) - .map(cmd => ({ - name: cmd.name.toLowerCase(), - description: cmd.description, - permissions: [], - options: cmd.slashCommandOptions, - defaultPermission: true - })); + const slashCommands = commands.map((cmd) => ({ + name: cmd.name.toLowerCase(), + description: cmd.description, + permissions: [], + options: cmd.slashCommandOptions, + defaultPermission: true, + })); - this.removeAllListeners(); + this.removeAllListeners(); - this.on("ready", async () => { - const cmds = await this.application.commands.set(slashCommands); + this.on("ready", async () => { + const cmds = await this.application?.commands.set(slashCommands); - console.log(' ') - console.log(`\u001b[34;1m`, '▬▬▬▬▬▬▬ Slash Command ▬▬▬▬▬▬▬'), - console.log(' ') + console.log(" "); + console.log(`\u001b[34;1m`, "▬▬▬▬▬▬▬ Slash Command ▬▬▬▬▬▬▬"), + console.log(" "); - cmds.forEach(cmd => - console.log(`Slash Command ${cmd.name} registered`), - ) + cmds.forEach((cmd) => + console.log(`Slash Command ${cmd.name} registered`) + ); + }); - }) + console.log(" "); + console.log(`\u001b[34;1m`, "▬▬▬▬▬▬▬ Events ▬▬▬▬▬▬▬"); - console.log(' ') - console.log(`\u001b[34;1m`, '▬▬▬▬▬▬▬ Events ▬▬▬▬▬▬▬') + fs.readdirSync("./Events") + .filter((file) => file.endsWith(".js")) + .forEach((file) => { + const event = require(`../Events/${file}`); + console.log(`\u001b[31;1m`, `${event.event}`, `\u001b[32;1m`, "Loaded"); - fs.readdirSync("./Events") - .filter(file => file.endsWith(".js")) - .forEach(file => { + this.on(event.event, event.run.bind(null, this)); + }); - const event = require(`../Events/${file}`); - console.log(`\u001b[31;1m`, `${event.event}`, `\u001b[32;1m`, 'Loaded'); + console.log(`\u001b[34;1m`, "▬▬▬▬▬▬▬ Events ▬▬▬▬▬▬▬"); + console.log(" "); - this.on(event.event, event.run.bind(null, this)); - }); - - console.log(`\u001b[34;1m`, '▬▬▬▬▬▬▬ Events ▬▬▬▬▬▬▬') - console.log(' ') - - this.login(token); - } + this.login(token); + } } -module.exports = Client; \ No newline at end of file +module.exports = Client; diff --git a/Structures/Command.js b/Structures/Command.js index 99894c2..a075110 100644 --- a/Structures/Command.js +++ b/Structures/Command.js @@ -5,20 +5,19 @@ const fs = require("fs"); const Discord = require("discord.js"); -const yaml = require('js-yaml'); -const supportbot = yaml.load(fs.readFileSync('./Data/supportbot.yml', 'utf8')); +const yaml = require("js-yaml"); +const supportbot = yaml.load(fs.readFileSync("./Data/supportbot.yml", "utf8")); -function RunFunction(message, args, client) {} +function RunFunction(interaction) {} class Command { - constructor(options) { - this.name = options.name; - this.description = options.description; - this.permission = options.permission; - this.type = ["BOTH", "SLASH", "TEXT"].includes(options.type) ? options.type : "TEXT"; - this.slashCommandOptions = options.slashCommandOptions || []; - this.run = options.run; - } + constructor(options) { + this.name = options.name; + this.description = options.description; + this.permission = options.permission; + this.slashCommandOptions = options.slashCommandOptions || []; + this.run = options.run; + } } -module.exports = Command; \ No newline at end of file +module.exports = Command;