重写命令处理程序

时间:2020-04-24 03:07:44

标签: discord.js

如果我尝试制作一个与众不同的新命令,并且由于某种原因设法中断了它,我想重写我的命令处理程序,因为它中断了。可以通过给我一个完整的新代码或仅仅修复我的代码来提供帮助。错误出在以下地方:我不知道为什么,我想由于我没有定义配置或名称,但是我希望对此有所帮助。谢谢!

      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 :(得分:0)

如果需要,可以看一下我的:

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

使用子目录,必需的参数长度,别名和管理要求。

如果您这样做,则需要检查main.js,handlers / commands.js和events / message.js

lmk,如果您需要帮助以了解其中的任何内容。