如何在 Discord 中查找回复的消息内容 [Discord.js]

Ame*_*nik 3 node.js discord discord.js

我有一段简单的代码,可以在发送消息时记录消息内容。但是,如果该消息是对另一条消息的回复,则它只会输出回复内容,而不会输出原始消息的内容。

client.on('message', async message => {
    console.log(message.content);
});
Run Code Online (Sandbox Code Playgroud)

测试输入的图像 测试输出图像

输出将是:测试 4。我怎样才能提取测试 3?

小智 10

当您收到消息对象时,您有一个名为 的变量reference。如果您的消息是回复引用,则不应为空,并且包含channelID, guildID,的 id messageID

这样,您就可以获取上一条消息的消息内容,其行如下所示

client.on('message', async message => {
  const repliedTo = await message.channel.messages.fetch(message.reference.messageID);

  console.log(repliedTo.content);
});
Run Code Online (Sandbox Code Playgroud)

只是要小心,message.reference.messageID您必须添加错误处理以避免在查找未定义的变量时崩溃。

祝你今天过得愉快