无法使用discord.py将消息发送到频道

时间:2019-08-06 22:39:52

标签: python-3.x discord.py

我有下面的代码,我试图每60秒将消息发送到一个不和谐的频道。登录成功,但通道上没有任何反应。

async def my_background_task():
    await client.wait_until_ready()
    counter = 0
    channel = discord.Object(id='608412706310979613')
    while not client.is_closed:
        counter += 1
        await channel.send(counter)
    await client.send_message(channel, counter)
    await asyncio.sleep(60) # task runs every 60 seconds

我希望在指定频道上每60秒收到一次递增计数

1 个答案:

答案 0 :(得分:0)

如果discord.py的版本超过1.1.0,则可以使用discord.ext.tasks

您的工作可以像下面这样写。

from discord.ext import tasks, commands

bot = commands.Bot()
counter = 0

@tasks.loop(seconds=60)
async def my_background_task():
    global counter
    channel = bot.get_channel('608412706310979613')
    if channel is not None:
        counter += 1
        await channel.send(counter)

bot.run(token)
my_background_task.start()

相关文档:https://discordpy.readthedocs.io/en/latest/ext/tasks/index.html