Переписать обработчик команд - PullRequest
0 голосов
/ 24 апреля 2020

Я хочу переписать свой обработчик команд из-за его поломки, если я попытаюсь создать новую команду, которая немного отличается и каким-то образом удастся сломать ее. Кто-то может помочь, давая мне новый код полностью или просто исправляя мой. Ошибка где-то в: Я не знаю, почему, я думаю, из-за того, что я не определил config или имя, но я хотел бы помочь с этим, пожалуйста. Спасибо!

      let pull = require(`../src/commands/${dirs}/${file}`);
      bot.commands.set(pull.config.name, pull);
      if (pull.config.aliases) pull.config.aliases.forEach(a => bot.aliases.set(a, pull.config.name));
    };

Вот полный код.

const logger = require("../utils/logger"); 
const Discord = require('discord.js')
const client = new Discord.Client();
const fs = require("fs")
const ms = require('ms');


module.exports = (bot) => {
  const load = dirs => {
    const commands = readdirSync(`./src/commands/${dirs}/`).filter(d => d.endsWith('.js')); 

    for (let file of commands) { //for each of these files
      let pull = require(`../src/commands/${dirs}/${file}`);
      bot.commands.set(pull.config.name, pull);
      if (pull.config.aliases) pull.config.aliases.forEach(a => bot.aliases.set(a, pull.config.name));
    };

  };
  readdir(`./src/commands/`, (err, directories) => {
    if (err) logger.error(err); 
    var dirArray = [];
    directories.forEach((f, i) => { 
      if (lstatSync(`./src/commands/${f}`)) {  
        dirArray.push(f);
      }
    });

    dirArray.forEach(x => load(x));
  });
};

1 Ответ

0 голосов
/ 27 апреля 2020

Вы можете взглянуть на мой, если хотите:

https://github.com/azul-i/shuxue

работает с подкаталогами, необходимыми длинами аргументов, псевдонимами и требованиями администратора.

Если вы go с этим, вам нужно будет проверить main. js, обработчики / команды. js и события / сообщение. js

lmk, если вам нужна помощь понимание любого из этого.

...