Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { RichEmbed } = require("discord.js"),
- { readdir } = require("fs");
- module.exports = class Functions {
- constructor(client) {
- this.client = client;
- };
- async init_client() {
- this.client.login(this.client.config.token);
- await readdir("./events", (err, files) => {
- if(err) {
- return this.client.logger.error(err);
- }
- else if(files.length <= 0) {
- return this.client.logger.warn("Veuillez mettre des events dans le dossier !");
- };
- const events = files.filter((ext) => ext.split(".").pop() === "js");
- this.client.logger.info(`J'ai chargé ${events.length} événements !`);
- events.forEach((evt) => {
- const event = new(require(`../events/${evt}`))(this.client),
- event_name = evt.split(".")[0];
- this.client.on(event_name, (...args) => event.run(...args));
- delete require.cache[require.resolve(`../events/${evt}`)];
- });
- });
- await readdir("./commands", (err, files) => {
- if(err) {
- return this.client.logger.error(err);
- }
- else if(files.length <= 0) {
- return this.client.logger.warn("Veuillez mettre des sous dossiers dans le dossier des commandes !");
- };
- const categories = [];
- files.forEach((subfolder) => {
- if(!subfolder.includes(".")) categories.push(subfolder);
- });
- categories.forEach(async(folder) => {
- await readdir(`./commands/${folder}`, (err0, files0) => {
- if(err0) {
- return this.client.logger.error(err);
- }
- else if(files0.length <= 0) {
- return this.client.logger.warn(`Veuillez mettre des commandes dans le dossier "./commands/${folder}" !`);
- };
- const commands = files0.filter((ext) => ext.split(".").pop() === "js");
- commands.forEach((command) => {
- const cmd = new(require(`../commands/${folder}/${command}`))(this.client);
- this.client.commands.set(cmd.help.name, cmd);
- cmd.help.aliases.forEach((alias) => {
- this.client.aliases.set(alias, cmd.help.name);
- });
- delete require.cache[require.resolve(`../commands/${folder}/${command}`)];
- });
- });
- });
- });
- };
- init_guild(guild) {
- this.client.databases.guild.ensure(guild.id, {
- prefix: this.client.config.prefix,
- default_reason: "des raisons que le staff n'a pas décidé d'évoquer.",
- case_count: 0
- });
- };
- /*init_user(user) {
- this.client.databases.user.ensure(user.id, {
- });
- };*/
- init_cooldown(user) {
- const cmd_name = this.client.commands.forEach((cmd) => cmd.help.name);
- this.client.databases.cooldown.ensure(user.id, {
- cmd_name: 0
- });
- };
- commands_logs(user, guild, channel, cmd, content) {
- const embed = new RichEmbed()
- .setColor(this.client.config.embed.color)
- .setAuthor(`Commande ${cmd.help.name} exécutée par ${user.username}`, user.displayAvatarURL)
- .setThumbnail(guild.iconURL)
- .addField("Utilisateur", `${user.tag} (${user.id})`)
- .addField("Serveur", `${guild.name} (${guild.id})`)
- .addField("Salon", `#${channel.name} (${channel.id})`)
- .addField("Contenu du message", content)
- .setTimestamp()
- .setFooter(this.client.config.embed.footer, this.client.user.displayAvatarURL);
- this.client.channels.get(this.client.config.channels.commands_logs).send(embed);
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement