nyx/util/dist/handler.js

55 lines
2.1 KiB
JavaScript

const fs = require("fs");
const cmds = [];
const ownercmds = [];
module.exports = async client => {
fs.readdirSync("./events").forEach(file => {
require(`${process.cwd()}/events/${file}`);
});
fs.readdirSync("./command").forEach(directory => {
if (directory !== "Owner") {
const commands = fs.readdirSync(`./command/${directory}/`);
commands.map(value => {
const file = require(`${process.cwd()}/command/${directory}/${value}`);
if (file.name) {
const properties = { directory, ...file };
client.slashCommands.set(file.name, properties);
}
if (["MESSAGE", "USER"].includes(file.type)) delete file.description;
if (file.UserPerms) file.defaultPermission = false;
cmds.push(file);
});
}
});
fs.readdirSync("./command/Owner").forEach(f => {
const file = require(`${process.cwd()}/command/Owner/${f}`);
client.hide.set(file.name, file);
if (["MESSAGE", "USER"].includes(file.type)) delete file.description;
if (file.UserPerms) file.defaultPermission = false;
ownercmds.push(file);
});
client.on("ready", async () => {
await client.guilds.cache.get("840225563193114624").commands.set(ownercmds);
await client.application.commands.set(cmds);
// .then(async cmd => {
// client.guilds.cache.forEach(g => {
// const getroles = name => {
// const perms = cmds.find(n => n.name == name).UserPerms;
// if (!perms) return null;
// return g.roles.cache.filter(
// z => z.permissions.has(perms) && !z.managed
// );
// };
// const fullPermissions = cmd.reduce((accumulator, v) => {
// const roles = getroles(v.name);
// if (!roles) return accumulator;
// const permissions = roles.reduce((a, w) => {
// return [...a, { id: w.id, type: "ROLE", permission: true }];
// }, []);
// return [...accumulator, { id: v.id, permissions }];
// }, []);
// g.commands.permissions.set({ fullPermissions }).catch(null);
// });
// })
// .catch(null);
});
};