Skip to content

[Bug] active_agent cron job does not push messages when AI has no active session #8652

@Blueteemo

Description

@Blueteemo

问题描述

active_agent 类型的定时任务在触发时如果 AI 没有活跃会话,任务会在数据库标记为 completed、last_run_at 正常更新,但实际不会调用 send_message_to_user 向群推送消息。

复现步骤

  1. 通过 future_task 工具或 WebUI 创建一个 active_agent 类型的定时任务(如每天早上 09:45 推送 AI 早报)
  2. 确保触发时刻 AI 没有活跃会话(即没有用户在跟 bot 聊天)
  3. 等待 cron 触发

实际表现

  • 数据库 cron_jobs 表中 status 显示为 completed
  • last_run_at 正常更新为触发时间
  • 群里收不到任何消息
  • 触发器日志中没有报错

预期表现

即使用户没有活跃会话,定时任务也应该能正常调用 send_message_to_user 推送到群。

影响

该 bug 导致所有 active_agent 定时任务在 AI 空闲时段无法正常工作,需要用户手动补跑。删旧重建可以暂时恢复,但问题会复发。

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:coreThe bug / feature is about astrbot's core, backend

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions