Advertisement
Guest User

handlers.js

a guest
Jun 19th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const { readdir } = require("fs");
  2.  
  3. await readdir("./events", (err, files) => {
  4.     if(err) {
  5.         return this.client.logger.error(err);
  6.     }
  7.  
  8.     else if(files.length <= 0) {
  9.         return this.client.logger.warn("Veuillez mettre des events dans le dossier !");
  10.     };
  11.  
  12.     const events = files.filter((ext) => ext.split(".").pop() === "js");
  13.  
  14.     this.client.logger.info(`J'ai chargé ${events.length} événements !`);
  15.  
  16.    events.forEach((evt) => {
  17.         const event = new(require(`../events/${evt}`))(this.client),
  18.             event_name = evt.split(".")[0];
  19.  
  20.        this.client.on(event_name, (...args) => event.run(...args));
  21.  
  22.        delete require.cache[require.resolve(`../events/${evt}`)];
  23.    });
  24. });
  25.  
  26. await readdir("./commands", (err, files) => {
  27.     if(err) {
  28.         return this.client.logger.error(err);
  29.    }
  30.  
  31.    else if(files.length <= 0) {
  32.         return this.client.logger.warn("Veuillez mettre des sous dossiers dans le dossier des commandes !");
  33.    };
  34.  
  35.    const categories = [];
  36.  
  37.    files.forEach((subfolder) => {
  38.         if(!subfolder.includes(".")) categories.push(subfolder);
  39.    });
  40.  
  41.    categories.forEach(async(folder) => {
  42.         await readdir(`./commands/${folder}`, (err0, files0) => {
  43.             if(err0) {
  44.                 return this.client.logger.error(err);
  45.            }
  46.  
  47.            else if(files0.length <= 0) {
  48.                 return this.client.logger.warn(`Veuillez mettre des commandes dans le dossier "./commands/${folder}" !`);
  49.            };
  50.  
  51.            const commands = files0.filter((ext) => ext.split(".").pop() === "js");
  52.  
  53.            commands.forEach((command) => {
  54.                 const cmd = new(require(`../commands/${folder}/${command}`))(this.client);
  55.  
  56.                 this.client.commands.set(cmd.name, cmd);
  57.  
  58.                cmd.aliases.forEach((alias) => {
  59.                     this.client.aliases.set(alias, cmd.name);
  60.                });
  61.  
  62.                delete require.cache[require.resolve(`../commands/${folder}/${command}`)];
  63.             });
  64.        });
  65.    });
  66. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement