feat(chat): 引入睡眠系统,在睡眠状态下拦截消息
在消息处理的最前端 (`MessageManager`) 增加了对睡眠状态的检查。当系统处于 `SLEEPING` 状态时,将直接拦截所有新消息,不再进行后续处理。 同时,为了配合睡眠系统的正常运作: - 将睡眠系统的定时任务初始化移至 `main.py`,确保其在应用启动时正确加载。 - 在主动思维插件 (`proactive_thinker`) 的定时任务(冷启动和日常唤醒)中增加了睡眠状态检查,避免在睡眠期间触发主动行为。
This commit is contained in:
committed by
Windpicker-owo
parent
1cee641a8f
commit
73a40ad830
@@ -29,6 +29,7 @@ from src.plugin_system.core.event_manager import event_manager
|
||||
from src.plugin_system.core.plugin_manager import plugin_manager
|
||||
from src.schedule.monthly_plan_manager import monthly_plan_manager
|
||||
from src.schedule.schedule_manager import schedule_manager
|
||||
from src.chat.message_manager.sleep_system.tasks import start_sleep_system_tasks
|
||||
|
||||
# 插件系统现在使用统一的插件加载器
|
||||
install(extra_lines=3)
|
||||
@@ -519,6 +520,14 @@ MoFox_Bot(第三方修改版)
|
||||
except Exception as e:
|
||||
logger.error(f"日程表管理器初始化失败: {e}")
|
||||
|
||||
# 初始化睡眠系统
|
||||
if global_config.sleep_system.enable:
|
||||
try:
|
||||
await start_sleep_system_tasks()
|
||||
logger.info("睡眠系统初始化成功")
|
||||
except Exception as e:
|
||||
logger.error(f"睡眠系统初始化失败: {e}")
|
||||
|
||||
def _safe_init(self, component_name: str, init_func) -> callable:
|
||||
"""安全初始化组件,捕获异常"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user