Updated structures

This commit is contained in:
Noah committed 2021-10-23 20:09:15 -05:00
1 parent 3a39b05fe4
commit ba38bce1da
3 files changed
+85 -89

No files matched your search

+11 -12
View File
@@ -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;
module.exports = Addon;
+63 -65
View File
@@ -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;
module.exports = Client;
+11 -12
View File
@@ -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;
module.exports = Command;