[英]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 函數。 如何解決這個問題? 我已經閱讀了多篇關於這個的帖子。 感謝大家閱讀!
經過大量編碼后,我達到了目標; 使用分頁制作動態幫助菜單。 這是代碼:
它的功能很好。 您唯一需要做的就是在 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.