python-3.x Discord.py 真循环

vaqhlq81  于 2023-03-20  发布在  Python
关注(0)|答案(1)|浏览(154)

我尝试在while true循环中更新机器人发送的多条消息,并休眠15分钟

@commands.cooldown(1, 30, commands.BucketType.user)
@bot.command()
async def updater(ctx):
    embed = discord.Embed(title="Title")
    
    msg = await ctx.send(embed=embed)
    all_stock.append(msg)

    while True:
        embed = discord.Embed(title="Title")
        await msg.edit(embed=embed)
        time.sleep(900)

但是当我运行这个函数的时候,其他的命令就不起作用了。我已经尝试过创建一个单独的线程,但是由于一些异步问题,它不起作用。

dgiusagp

dgiusagp1#

其他命令不起作用,因为time.sleep阻塞,您应该改用asyncio.sleep

import asyncio

while True:
    # ...
    await asyncio.sleep(900)

相关问题