我有下面的代码,我试图每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秒收到一次递增计数
答案 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