discord.js - 如何获取特定的收集消息

Posted

技术标签:

【中文标题】discord.js - 如何获取特定的收集消息【英文标题】:discord.js - How to get specific collected message 【发布时间】:2022-01-21 21:52:46 【问题描述】:

我正在尝试获取特定的收集消息,例如第三个收集的消息。 forEach 完美无缺,但我只需要一个特定的,就像我之前说的那样。

collector.on('end', collected => 
    console.log(`Collected $collected.size messages`)

    message.channel.send(`$collected`)

    collected.forEach(value => 
      message.channel.send(`$value`)
    )
)

【问题讨论】:

这可能有点幼稚但是.. collected[2] 有效吗? 很遗憾没有,它会发送“[object Map]” 根据文档中的评论,参数“collected”的类型是键值对数组。所以“值”是一个键值对/映射。您可以按照此文档查看如何迭代地图 - developer.mozilla.org/en-US/docs/Web/javascript/Reference/… 【参考方案1】:

collectedCollection,而不是数组。你可以找到documentation here。

您可以使用.at(index) 方法返回给定索引处的项目。因此,为了获得第三项,您可以使用以下内容:

let thirdCollectedMessage = collected.at(2)

【讨论】:

以上是关于discord.js - 如何获取特定的收集消息的主要内容,如果未能解决你的问题,请参考以下文章

在 discord.js 中的时间限制之前获取收集的消息

如何获取对特定消息做出反应的用户的不和谐 ID discord.js

Discord.js v12 如何获取对特定消息做出反应的人的 id?

使用 discord.js 收集对消息做出反应的用户

如何查找机器人在特定频道中发送的消息? [discord.js]

Discord.js:如何发送消息并从中收集反应