How to make a loop in discord.py rewrite?

前端 未结 1 1540
闹比i
闹比i 2020-12-12 06:22

The bot must do something every 60 seconds. I tried to use create_task, but it does not work(the bot started but nothing happened). How can this be implemented?

相关标签:
1条回答
  • 2020-12-12 07:15

    client.loop.create_task should still work fine with the rewrite version. Example of a background task in the rewrite version can be found here.

    from discord.ext import commands
    import asyncio
    
    client = commands.Bot(command_prefix='!')
    
    
    async def background_task():
        await client.wait_until_ready()
        counter = 0
        channel = client.get_channel(123456) # Insert channel ID here
        while not client.is_closed():
            counter += 1
            await channel.send(counter)
            await asyncio.sleep(10)
    
    client.loop.create_task(background_task())
    client.run('token')
    
    0 讨论(0)
提交回复
热议问题