python - Discord Bot,每 24 小时发送一次消息
问题描述
想请教懂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()
解决方案
你可以用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
推荐阅读
- python - 无法从张量流 2.4.1 中的“tensorflow.keras.experimental”导入名称“预处理”?
- opencv - 构建opencv c ++项目时CMake中的Makefile错误
- python - 如何在 Spyder IDE 中关闭语法自动更正?
- go - 检索数组长度的正确方法是什么,在golang的嵌套结构中添加了一个字段
- amazon-web-services - 如何使用 ClientProxy 连接到在 AWS 上运行的 NestJS 微服务?
- javascript - 映射一个 3 嵌套数组 javascript
- c# - 服务 AutoMapper 无法解决
- php - 未捕获的 PHP 异常 RedisException:“无法分配请求的地址”
- c++ - 链表与堆上的树
- php - 如何防止用户成功登录后返回登录页面?