检测消息是否是回复

时间:2021-04-10 09:30:35

标签: javascript discord discord.js

有什么方法可以检测用户发送的消息是回复还是标准消息,并相应地对每个消息做出响应?

1 个答案:

答案 0 :(得分:1)

discord.js documentation 对此有点不清楚,因此您也必须查看 Discord API Documentation

更具体地说,您需要在文档中查找他们提到 replies 的地方。快速 Ctrl + F 搜索会很快为您找到。

您可以看到它谈到了 referenced_message? 字段。它甚至声明此字段仅针对“type19 (REPLY)”的消息返回。

幸运的是,在 discord.js 文档中,消息结构的属性之一称为 reference,并包含引用消息的 channel ID, guild ID and message ID。如果消息不是回复,这些字段将不存在。

使用此信息来测试作为回复的消息。


为了回答您关于机器人是否可以“回复其他消息”的另一个问题,我认为 discord.js V12 目前没有涵盖 Discord API 的这一部分。我已经看到这将成为 discord.js V13 的一部分。 discord.js discord 服务器上的官方消息是这样的:

<块引用>

✨ Discord.js 将在 v13 中支持内联回复,用新功能替换 Message#reply。 如果您想提前试用该功能,请安装 Discord.js 的 master 分支 你可以例如使用 NPM 执行此操作:npm i discordjs/discord.js(这需要将 git 添加到 PATH) ⚠ : master 上的重大变化不仅仅是回复! ⚠