【发布时间】:2023-04-05 16:32:02
【问题描述】:
我正在制作一个 Discord 机器人,它从 Hypixel API(一个 Minecraft 服务器的 API)获取数据。我已经设法编写了一些成功获取数据的代码,但这是我遇到问题的地方。当我直接message.channel.send 数据时,它可以工作。但是,如果我在嵌入中使用数据,它就不起作用。
有效:
fetch(`https://api.hypixel.net/player?key=API_KEY&name=${args[1]}`)
.then(result => result.json())
.then(({ player }) => {
message.channel.send(player.stats.Bedwars.coins)
})
不起作用:
fetch(`https://api.hypixel.net/player?key=API_KEY&name=${args[1]}`)
.then(result => result.json())
.then(({ player }) => {
var bedwars_general_1 = new Discord.MessageEmbed()
.addFields(
{ name: 'Coins', value: player.stats.Bedwars.coins, inline: true},
)
message.channel.send(bedwars_general_1)
})
在上面的例子中,它工作得很好,但是在下面的例子中,我每次都会收到这个错误消息:
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'Bedwars' of undefined
当我添加这一行时,它也给了我这个错误
var bedwarsCoins = player.stats.Bedwars.coins,在嵌入之前,然后将变量添加到嵌入字段中。
我不明白为什么它只在某些时候有效?
【问题讨论】:
标签: discord discord.js bots