为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
Cats萌萌 2022-11-23 19:22:54

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



查看完整描述

2 回答

?
回首忆惘然

TA贡献1577条经验 获得超10个赞

不,但您可以创建一个集合来保存消息和事件信息并检查新闻消息。

简单地

  1. 制作一个集合/数组

  2. 添加消息信息

  3. 检查消息事件处理程序中的传入消息是否在集合中

  4. 处理事件

  5. 从集合中删除

不要忘记设置超时并从集合中清除过期数据。


查看完整回答
反对 回复 5天前
?
一只甜甜圈

TA贡献0条经验 获得超5个赞

根据文档:awaitMessages

time:收集器应该运行的时间量(以毫秒为单位)

max:成功通过过滤器的消息数


在 Go 中,只需一个关键字就可以轻松使用一个例程go,因此实现 asynchronous( async) 非常简单。


解决思路:

  1. 创建消息存储中心:具有以下特点:

  2. 每当创建新消息时,我们将消息添加到消息中心,它还会通知每个过滤器

  3. 定义您的过滤器功能:只要此条件为真,就会收集消息。例如_

  4. 定义回调函数:这是过滤函数的结果。你可以根据这个结果做一些事情。例如_

完整代码

我把完整的代码放在replitgist上。如果你想运行它,你可以从replit中复制代码并在环境变量中设置你的token和channel ID(或用户ID)来测试它。


查看完整回答
反对 回复 5天前

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信