Advertisement
Guest User

Untitled

a guest
Aug 24th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. const Discord = require('discord.js');
  2. const client = new Discord.Client();
  3. const { readdir, lstatSync } = require('fs');
  4. const { token } = require('./config/config.json');
  5.  
  6. client.commands = new Discord.Collection();
  7. client.aliases = new Discord.Collection();
  8.  
  9. const loadCommands = module.exports.loadCommands = (dir = './src/commands/') => {
  10. readdir(dir, (error, files) => {
  11. if (error) return console.log(error);
  12.  
  13. files.forEach((file) => {
  14. try {
  15. if (lstatSync(`${dir}${file}`).isDirectory()) {
  16. loadCommands(`${dir}${file}/`);
  17. } else if (file.endsWith('.js')) {
  18. const save = (name, aliases = [], props) => {
  19. client.commands.set(name, props);
  20. if (aliases.length > 0) aliases.forEach(alias => client.aliases.set(alias, props));
  21. console.log(`Command ${name} has saved | ${aliases.length} aliases`);
  22. };
  23. const props = require(`${dir}${file}`);
  24. if (!props.run) return console.log(`Command ${file.split('.')[0]} ignored because it has no function that activates it.`);
  25.  
  26. if (props.info && props.info.name) {
  27. save(props.info.name, props.info.aliases || [], props);
  28. } else {
  29. if (!Object.keys(props)) return console.log(`Command ${file.split('.')[0]} ignored because it has no properties`);
  30.  
  31. const filter = Object.keys(props).find(key => props[key] && props[key].name);
  32. if (!filter) return console.log(`Command ${file.split('.')[0]} ignored because it has no properties that refer to filename`);
  33.  
  34. save(props[filter].name, props[filter].aliases || [], props);
  35. }
  36. }
  37. } catch (e) {
  38. console.log(`Error reading file ${file}`);
  39. console.log(e);
  40. }
  41. });
  42. });
  43. };
  44. loadCommands();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement