Discord Bot,每 24 小时发送一条消息

时间:2021-05-04 13:45:01

标签: python discord discord.py

我想问任何了解 Python 的人。我计划让我的不和谐机器人在特定时间发送特定消息。我打算让它在某个场合提醒我和其他人。最后,我希望机器人每 24 小时发送一次该消息。我的代码在循环消息时有效,但仅在我使用分钟或秒时有效。如果我尝试输入天数或小时数,它将不起作用。我还尝试输入 24 小时的分钟/秒数,但效果不佳。在此文本下方将是我的代码。这里有没有人知道如何解决这个问题,或者至少找到一个替代解决方案?我不确定如何处理任务和循环。我先谢谢你。

@tasks.loop(hours=24)
async def e():
    await client.get_channel(channel id here).send("@everyone It's A New Day!")


@e.before_loop
async def before_e():
    await client.wait_until_ready()

e.start()

1 个答案:

答案 0 :(得分:-3)

您可以使用 Advanced Python Scheduler 以更好的方式进行操作。

from apscheduler.schedulers.asyncio import AsyncIOScheduler
from apscheduler.triggers.cron import CronTrigger

async def sendNewDayMessage():
    await client.get_channel(channel_id).send("@everyone It's A New Day!")

sched = AsyncIOScheduler()
sched.start()
sched.add_job(sendNewDayMessage, CronTrigger(hour=0, minute=0, second=0)) #on 00:00