首页 > 解决方案 > 有没有办法让用户必须在 discord.py 的时限内回答?

问题描述

如果我向用户发送请求,让他们回答是或否的问题,我怎样才能使问题在一定时间后过期并且不再接受回复?

背景

我目前正在开发一个discord.py机器人,我正在开始扫描消息以获取用户输入的部分。它的工作原理是有人可以向某人挑战井字游戏,然后被挑战的人有 10 秒的时间回答是或否。我怎样才能使它在 10 秒后,挑战到期?

例子

我想到的一个例子是 bot Dank Memer。如果您在那里向某人挑战井字游戏,则被挑战的人必须在一定时间内回复您,否则挑战将过期。它也适用于类似的命令pls trivia,在 10 秒后它会停止接受问题的答案。

我很确定人们已经问过这个问题,但是我在谷歌上一遍又一遍地查看,我找不到解决方案。我想这可能是因为我的措辞。

我也很难做一个最小可重现的例子,因为这需要你们为机器人创建一个不和谐的帐户和令牌,这根本没有效率。

标签: pythondiscorddiscord.py

解决方案


您可以使用await client.wait_for(check=check). Check 是一个必须定义的函数,它需要返回 true 或 false。在检查中,您可以根据需要添加各种条件和操作。如果你想看一个例子,我做了一个用它做数学方程式的命令。


推荐阅读