Python 如何在不暂停整个程序的情况下等待一定时间?(Discord.py重写。)

Python 如何在不暂停整个程序的情况下等待一定时间?(Discord.py重写。),python,discord,discord.py,wait,discord.py-rewrite,Python,Discord,Discord.py,Wait,Discord.py Rewrite,请原谅,这是错误的密码 我输入我想让用户静音的时间,我让用户静音,然后睡眠一段时间,但是当我睡眠时,我不能运行任何命令,所以我假设睡眠会暂停整个程序,我该如何停止呢?另外,请不要用硬编程语言来攻击我,我是昨天开始的,请尽量简单XD @client.command() async def chatmute(ctx, user: discord.Member, *, time = 5): role = discord.utils.get(user.guild.roles, name=&quo

请原谅,这是错误的密码

我输入我想让用户静音的时间,我让用户静音,然后睡眠一段时间,但是当我睡眠时,我不能运行任何命令,所以我假设睡眠会暂停整个程序,我该如何停止呢?另外,请不要用硬编程语言来攻击我,我是昨天开始的,请尽量简单XD

@client.command()
async def chatmute(ctx, user: discord.Member, *, time = 5):
    role = discord.utils.get(user.guild.roles, name="-")
    await user.add_roles(role)
    role = discord.utils.get(user.guild.roles, name="Member")
    await user.remove_roles(role)
    await ctx.send(f'User has been chat muted.')
    time.sleep(time)
    role = discord.utils.get(user.guild.roles, name="Member")
    await user.add_roles(role)
    await ctx.send(f'Your mute ran out, {user.mention}')**```

对于异步函数,您可以使用
asyncio
库。用于编写并发代码。
因此,您不应该使用
time.sleep
,而应该使用
asyncio.sleep

从异步IO导入睡眠
@client.command()
异步def chatmute(ctx,用户:discord.Member,*,时间=5):
role=discord.utils.get(user.guild.roles,name=“-”)
等待用户。添加_角色(角色)
role=discord.utils.get(user.guild.roles,name=“Member”)
等待用户。删除_角色(角色)
等待ctx.send(f'用户已被聊天静音')
睡眠(时间)
role=discord.utils.get(user.guild.roles,name=“Member”)
等待用户。添加_角色(角色)
等待ctx.send(如果您的静音用完,{user.antify})**
参考:文档