簡體   English   中英

動態幫助命令 discord.js

[英]Dynamic help command discord.js

我目前正在制作一個不和諧的機器人,但我有一個問題。 我對 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 函數。 如何解決這個問題? 我已經閱讀了多篇關於這個的帖子。 感謝大家閱讀!

經過大量編碼后,我達到了目標; 使用分頁制作動態幫助菜單。 這是代碼:

https://pastebin.com/QGVfutti

它的功能很好。 您唯一需要做的就是在 index.js 所在的機器人的根目錄中創建一個名為 config.json 的文件,並添加一個名為“embedColor”的鍵,將您的命令放入

./src/commands/CATAGORY/COMMAND.js

這是結果:

在此處輸入圖片說明

抱歉英語不好。 請注意,如果您使用它,您仍然必須自己實現前綴和描述,這取決於每個命令處理程序和數據庫引擎。 您可以在 pastebin 的第 19 行更改描述代碼和命令名稱。 如果你想要一個圖像,你可以在第 13 行之后添加一個新行:

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

它只是一個不和諧的嵌入,它可以正常工作,添加縮略圖,作者,並根據您的喜好進行更改。 如果你正在使用它,你不必相信我

抱歉我的英語不好,感謝 Lioness100 編輯文本。 英語不是我的第一語言 :) 祝大家有個美好的一天,再見!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM