【发布时间】:2021-03-05 21:24:31
【问题描述】:
我有一段简单的代码,可以在发送消息时记录消息内容。但是,如果消息是对另一条消息的回复,它只会输出回复的内容,而不是原始消息的内容。
client.on('message', async message => {
console.log(message.content);
});
输出将是:测试 4。我怎样才能也提取测试 3?
【问题讨论】:
标签: node.js discord discord.js
我有一段简单的代码,可以在发送消息时记录消息内容。但是,如果消息是对另一条消息的回复,它只会输出回复的内容,而不是原始消息的内容。
client.on('message', async message => {
console.log(message.content);
});
输出将是:测试 4。我怎样才能也提取测试 3?
【问题讨论】:
标签: node.js discord discord.js
当您收到消息对象时,您有一个名为reference 的变量。
如果您的消息是回复,则参考不应为空,并且包含channelID、guildID、messageID 的 id。
这样你就可以得到上一条消息的消息内容,其中一行看起来像
client.on('message', async message => {
const repliedTo = await message.channel.messages.fetch(message.reference.messageID);
console.log(repliedTo.content);
});
请注意message.reference.messageID,您必须添加错误处理以避免在查找未定义变量时崩溃。
祝你有美好的一天
【讨论】: