【发布时间】:2021-06-17 13:15:55
【问题描述】:
我正在制作一个 discord.js 机器人,其中所有命令数据都存储在 JSON 文件中,当运行 help 命令时,我希望它以用户输入的级别遍历 JSON。
到目前为止,我已经成功地检查了输入的值是命令还是类别,并且我已经能够console.log 所有信息,并且它显示了我想要在嵌入上显示的正确数据。
例如,在我的 JSON 文件中,我有:
{
"category1": {
"command1": {
"Aliases": [],
"Description": "Runs a command"
}
}
}
当我在用户运行g!help category1 时执行console.log() 时,它会输出:
command1
Runs a command
当它发送嵌入时我得到:
[object Object]
undefined
这是遍历 JSON 并将数据添加到嵌入的代码部分:
for (ctg in help_data) {
if (args[0] === ctg) {
embed.setTitle(ctg)
for (command in help_data[ctg]) {
var cmd = command
var desc = help_data[ctg][command].Description
console.log(cmd)
console.log(desc)
embed.addField({
"name": cmd,
"Value": desc
})
}
}
}
我不明白为什么它会在 console.log 和 embed.addField 之间发生变化,如果有人可以解释为什么会发生这种情况以及我该如何解决它,那就太棒了!
【问题讨论】:
标签: javascript node.js json discord.js