python - 有没有办法让用户必须在 discord.py 的时限内回答?
问题描述
如果我向用户发送请求,让他们回答是或否的问题,我怎样才能使问题在一定时间后过期并且不再接受回复?
背景
我目前正在开发一个discord.py
机器人,我正在开始扫描消息以获取用户输入的部分。它的工作原理是有人可以向某人挑战井字游戏,然后被挑战的人有 10 秒的时间回答是或否。我怎样才能使它在 10 秒后,挑战到期?
例子
我想到的一个例子是 bot Dank Memer
。如果您在那里向某人挑战井字游戏,则被挑战的人必须在一定时间内回复您,否则挑战将过期。它也适用于类似的命令pls trivia
,在 10 秒后它会停止接受问题的答案。
我很确定人们已经问过这个问题,但是我在谷歌上一遍又一遍地查看,我找不到解决方案。我想这可能是因为我的措辞。
我也很难做一个最小可重现的例子,因为这需要你们为机器人创建一个不和谐的帐户和令牌,这根本没有效率。
解决方案
您可以使用await client.wait_for(check=check)
. Check 是一个必须定义的函数,它需要返回 true 或 false。在检查中,您可以根据需要添加各种条件和操作。如果你想看一个例子,我做了一个用它做数学方程式的命令。
推荐阅读
- python - 如何在不使用 for 循环的情况下检索具有明确列名的数据框中的每一行并写入“Hi 5”?
- java - 如何将多部分响应作为流读取和解析?
- python - 从内存中删除某些变量未初始化的特定变量(尝试除外)
- c++ - 使用 unique_ptr 和返回数据的动态成员数据
- r - 每日对数回归的拟合正态分布与 VG 分布
- javascript - 在 alpine.js 中单击事件后触发更改事件
- c++ - 如何使用来自字符串构建函数的私有成员的数据重载运算符
- python - 如何检查列表中的第一个和最后一个数字是否相同?
- python - 如何使用正则表达式模式对列进行分类?
- python - 试图消除最初的“,” - 字符串格式问题