首页 > 解决方案 > 如何在我的命令中实现 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')))

标签: discorddiscord.pybots

解决方案


我建议在这里阅读文档

它带有一个很好的简单示例。

还有一个名为 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 函数只接受等待的对象并返回一个布尔值,指示消息是否是您所期望的。

请查看文档以获取更多信息。


推荐阅读