Node.js Discord.js:Fetch Message by ID给出错误的输出
当我从另一个用户那里得到帮助时,我尝试使用id来获取fetchMessage()。我想可能是出了问题,因为当我为我的报告命令输入id时,它返回的是Node.js Discord.js:Fetch Message by ID给出错误的输出,node.js,promise,bots,discord,discord.js,Node.js,Promise,Bots,Discord,Discord.js,当我从另一个用户那里得到帮助时,我尝试使用id来获取fetchMessage()。我想可能是出了问题,因为当我为我的报告命令输入id时,它返回的是[object Promise],而不是id对应的消息。以下是一个代码位及其输出: if (cmd === `${prefix}report`) { let messageID = args[0]; if (isNaN(messageID)) { message.author.send("Not an ID")
[object Promise]
,而不是id对应的消息。以下是一个代码位及其输出:
if (cmd === `${prefix}report`) {
let messageID = args[0];
if (isNaN(messageID)) {
message.author.send("Not an ID")
return;
}
let messagea = message.channel.fetchMessages(messageID);
let reportEmbed = new Discord.RichEmbed()
.setTitle("Reports")
.setColor("#F7E533")
.addField("Message", messagea)
.addField("Reported User", `@${messagea.author}`)
.addField("Reported By", `${message.author} with ID: ${message.author.id}`)
.addField("Time", message.createdAt)
let reportschannel = message.guild.channels.find(`name`, botconfig.reportsChannel);
if (!reportschannel) return message.channel.send("Couldn't find reports channel.");
message.delete().catch(O_o => {});
reportschannel.send(reportEmbed);
message.delete();
return;
}
message.channel.fetchMessages(messageID)
返回一个承诺不是消息,并且您应该使用而不是fetchMessages
你需要等待承诺“给你信息”,然后做你需要的
message.channel.fetchMessage(messageID).then(messagea => {
let reportEmbed = new Discord.RichEmbed()
.setTitle("Reports")
.setColor("#F7E533")
.addField("Message", messagea.content)
.addField("Reported User", `@${messagea.author}`)
.addField("Reported By", `${message.author} with ID: ${message.author.id}`)
.addField("Time", message.createdAt)
let reportschannel = message.guild.channels.find(`name`, botconfig.reportsChannel);
if (!reportschannel) return message.channel.send("Couldn't find reports channel.");
message.delete().catch(O_o => {});
reportschannel.send(reportEmbed);
message.delete();
return;
})
我还将
messagea
更改为messagea.content
,因此它实际上会显示消息如果它返回一个承诺,您需要等待,直到您从该承诺中获得结果,然后发送消息,是的,这是有效的。非常感谢。PS:我确实将fetchMessages
更改为fetchMessage
,但我不知道如何获取内容。再次感谢你!