你能用 bwmarrin/discordgo 等待用户响应消息吗?

在 discordgo 中是否有等待用户响应消息的选项?我正在寻找类似于 discord.js awaitMessages 的东西。



Cats萌萌
浏览 56回答 2
2回答

回首忆惘然

不,但您可以创建一个集合来保存消息和事件信息并检查新闻消息。简单地制作一个集合/数组添加消息信息检查消息事件处理程序中的传入消息是否在集合中处理事件从集合中删除不要忘记设置超时并从集合中清除过期数据。

一只甜甜圈

根据文档:awaitMessagestime:收集器应该运行的时间量(以毫秒为单位)max:成功通过过滤器的消息数在 Go 中,只需一个关键字就可以轻松使用一个例程go,因此实现 asynchronous( async) 非常简单。解决思路:创建消息存储中心:具有以下特点:存储所有发送的消息有一个垃圾收集机制:由于我们不断地收集消息,所以我们需要一种机制来淘汰旧消息。Need a mutex : 考虑到消息可能会产生竞争条件,所以加了这个锁来保证安全它可以生成过滤器:要与每个过滤器进行通信,我们需要为每个过滤器提供一个chan。每当创建新消息时,我们将消息添加到消息中心,它还会通知每个过滤器。定义您的过滤器功能:只要此条件为真,就会收集消息。例如_定义回调函数:这是过滤函数的结果。你可以根据这个结果做一些事情。例如_完整代码我把完整的代码放在replit和gist上。如果你想运行它,你可以从replit中复制代码并在环境变量中设置你的token和channel ID(或用户ID)来测试它。
打开App,查看更多内容
随时随地看视频慕课网APP