【问题标题】:Dynamic help command discord.js动态帮助命令 discord.js
【发布时间】:2021-01-12 11:56:39
【问题描述】:

我目前正在制作一个不和谐的机器人,但我遇到了一个问题。我对 discord.js 和 node.js 还是很陌生。这是我的代码:

module.exports.run = async (bot, message, args) => {
 function getMenu() {
  var hpmenu = {};
  return new Promise(function(resolve, reject) {
   dashboard.readServerBoundValue(
    `${message.guild.id}`,
    'PREFIX',
    async function(output) {
     if (output) {
      var prefixxx = output;
     } else {
      var prefixxx = config.botPrefix;
     }
     //=====================================================================================================
     fs.readdir('./src/commands/', (err2, files2) => {
      files2.forEach((f2, i2) => {
       hpmenu[f2] = new discord.MessageEmbed();
       hpmenu[f2].setTitle(`${f2}`);
       console.log('Added catagory ' + f2);
       //=========================================================================================
       fs.readdir(`./src/commands/${f2}`, (err, files) => {
        files.forEach((f, i) => {
         const cmd = f.replace('.js', '');
         hpmenu[f2].addField(cmd, 'test');
         console.log('Added command ' + cmd);
         //=====================================================================================================
        });
        resolve(hpmenu);
       });
      });
     });
    }
   );
  });
 }

 async function main() {
  var output = await getMenu();
  message.channel.send(output['developer']);
 }
 main();
};

此代码没有任何错误,但这是我遇到的问题:

问题在于它在完成 getMenu 函数之前运行了 main 函数。 如何解决这个问题?我已经阅读了多篇关于此的帖子。感谢大家阅读!

【问题讨论】:

    标签: javascript node.js asynchronous discord discord.js


    【解决方案1】:

    经过大量编码后,我达到了我的目标;使用分页制作动态帮助菜单。 这是代码:

    https://pastebin.com/QGVfutti

    它的功能很好。您唯一需要做的就是在 index.js 所在的机器人的根目录中创建一个名为 config.json 的文件,然后添加一个名为“embedColor”的键,将您的命令放入

    ./src/commands/CATAGORY/COMMAND.js

    结果如下:

    抱歉英语不好。请注意,如果您使用它,您仍然必须自己实现前缀和描述,这取决于每个命令处理程序和数据库引擎。 您可以在 pastebin 的第 19 行更改描述代码和命令名称。如果你想要一张图片,你可以在第 13 行之后添加一个新行:

    hmu[i].setImage("IMAGE");
    

    它只是一个不和谐的嵌入,它可以正常工作,添加缩略图、作者,并根据你的喜好进行更改。如果你正在使用它,你不必相信我

    对不起,我的英语不好,感谢 Lioness100 编辑文本。英语不是我的母语 :) 祝大家再见!

    【讨论】:

      猜你喜欢
      • 2021-07-29
      • 2021-12-20
      • 2021-06-01
      • 2021-09-16
      • 2021-08-10
      • 2018-07-28
      • 2020-11-14
      • 2020-09-19
      • 2019-04-13
      相关资源
      最近更新 更多