Discord.py-rewrite wait_for() 我该如何使用?

Posted

技术标签:

【中文标题】Discord.py-rewrite wait_for() 我该如何使用?【英文标题】:Discord.py-rewrite wait_for() how do i use? 【发布时间】:2019-03-05 10:13:32 【问题描述】:

我不能真正按照我想要的方式使用wait_if (),谁能解释如何使用wait_for ('message')wait_for ('reaction'),只能由命令的用户使用? (消息由谷歌翻译,如有错误请见谅...)

【问题讨论】:

【参考方案1】:

wait_for 接受一个 check 参数,该参数是一个函数,它接受您正在等待的事件的参数并确定这是否是您正在等待的事件。

例如,on_message event 接受 message 参数,所以如果我们想检查消息的作者,我们可以这样做:

msg = await client.wait_for('message', check=lambda message: message.author == ctx.author)

查看新消息是否来自调用当前正在运行的命令的同一个人。

如果我们想向下一个人发送消息以对某个表情符号做出反应,我们可以这样做

reaction, user = await client.wait_for('reaction_add', 
                                       check=lambda reaction, user: reaction.emoji == '?')
await user.send("? to you too!")

【讨论】:

以上是关于Discord.py-rewrite wait_for() 我该如何使用?的主要内容,如果未能解决你的问题,请参考以下文章

Discord.py-rewrite wait_for() 我该如何使用?

Discord.py channel.connect() 永远不会返回

Discord.py 重写多服务器数据