You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Discord机器人中按条件调度特定时间的Task任务

Discord.py Tasks模块动态调度独立任务的最优方案

我正在使用Discord.py的Tasks模块实现按条件调度消息发送逻辑:目前已有一个每24小时循环运行的任务,希望在满足特定条件时,根据参数指定的时间创建并触发一个独立的单次任务。

不确定仅依靠Tasks模块能否实现这个需求,有人建议使用cron或相关调度库,但我想找到比当前尝试更优的方案。我曾考虑过在满足条件时,用change_interval方法临时调整当前24小时循环的运行时间到目标时间,执行后再改回原间隔,但这种方式显得不够优雅。

我尝试过一种动态创建任务的写法,但tasks装饰器在函数内部使用时表现不符合预期,代码无法正常运行:

def schedule_alert(new_time):
    @tasks.loop(time=new_time, count=1)
    def alert():
        # 这里是任务执行逻辑
        ...


@tasks.loop(hours=24, time=notification_time)
def daily_method():
   new_time = some_code()
   if new_time:
       # 满足条件时,希望在new_time调度新任务
       schedule_alert(new_time)

内容的提问来源于stack exchange,提问作者zscrub

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:52:36