首页 > 解决方案 > 在删除文本通道之前异步等待指定时间不和谐

问题描述

经过几次检查后,我想删除一个不和谐频道。但在这样做之前,我想发送一个嵌入消息,然后等待 3 秒。我希望等待期是非阻塞的。asyncio.sleep() 是实现这一目标的好方法吗?如果是这样,那么我怎样才能做到这一点,这样就不需要等待新的命令了?

 await ctx.send(embed=embed)
    if delete_channel:
    asyncio.sleep(3)
    await ctx.channel.delete()

标签: pythonpython-3.xdiscord.pypython-asyncio

解决方案


是的,asyncio.sleep它是一个非阻塞协程,因为它是异步运行的。它只是暂时挂起当前线程,同时仍然允许所有其他线程正常运行。你唯一的问题是缩进(这甚至不接近有效的缩进语法),并且asyncio.sleep是一个协程,所以你需要await它。


推荐阅读