有什么方法可以检测用户发送的消息是回复还是标准消息,并相应地对每个消息做出响应?
答案 0 :(得分:1)
discord.js documentation 对此有点不清楚,因此您也必须查看 Discord API Documentation。
更具体地说,您需要在文档中查找他们提到 replies 的地方。快速 Ctrl
+ F
搜索会很快为您找到。
您可以看到它谈到了 referenced_message?
字段。它甚至声明此字段仅针对“type
为 19
(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 上的重大变化不仅仅是回复! ⚠