discord - 如何在我的命令中实现 wait_for 函数?
问题描述
我正在尝试制作一个机器人,它将从文本文件中选择一个单词,然后对其进行加扰,然后用户将其解扰并键入它。但我不知道如何将 wait_for 函数实现到命令中。
@client.command()
async def start(ctx):
await ctx.send('Time for chaos')
Unscrambled_word = random.choice(list(open('C:\\Users\\user\\Desktop\\Discord Bots\\Fake Speedjar\\words.txt')))
解决方案
我建议在这里阅读文档
它带有一个很好的简单示例。
还有一个名为 dpytools 的库,它有一个帮助器(wait_for_author),用于这种简单的情况,你可以在这里查看
基本上 wait_for 方法会等待某些东西,然后将其返回给您。在这种情况下是“消息”。
def check(msg):
return msg.author == ctx.author and msg.channel == ctx.channel
message = await client.wait_for('message', check=check)
check 函数只接受等待的对象并返回一个布尔值,指示消息是否是您所期望的。
请查看文档以获取更多信息。
推荐阅读
- ios - 如何在 Swift 上使用 strideable 从 StartDate 到 EndDate 逐日迭代?
- amazon-web-services - Matplotlib 使用 AWS-EMR jupyter notebook 绘图
- javascript - getElementById 按钮未打开虚拟窗口 onclick
- tensorflow - 加载后无法保存模型检查点
- c - Clang 使用 var args 编译对 void 函数的调用
- c# - 捕获异常后如何使程序重复执行?
- python - Python如何在递归函数中评估“和”?
- javascript - 如何设置一些文本合并然后可点击?
- javascript - 如何在 Laravel 中使用 JQuery 将单个输入字段值发送到控制器
- dart - 颤振 - 异步函数总是返回 null,而它不为 null