diff --git a/bot.py b/bot.py index f6056a4e..51d3eb89 100644 --- a/bot.py +++ b/bot.py @@ -80,7 +80,11 @@ def easter_egg(): async def graceful_shutdown(): try: logger.info("正在优雅关闭麦麦...") - + # 触发 ON_STOP 事件 + from src.plugin_system.core.events_manager import events_manager + from src.plugin_system.base.component_types import EventType + asyncio.run(events_manager.handle_mai_events(event_type=EventType.ON_STOP)) + # logger.info("已触发 ON_STOP 事件") # 停止所有异步任务 await async_task_manager.stop_and_wait_all_tasks() @@ -237,12 +241,6 @@ if __name__ == "__main__": logger.error(f"主程序发生异常: {str(e)} {str(traceback.format_exc())}") exit_code = 1 # 标记发生错误 finally: - # 触发 ON_STOP 事件 - from src.plugin_system.core.events_manager import events_manager - from src.plugin_system.base.component_types import EventType - asyncio.run(events_manager.handle_mai_events(event_type=EventType.ON_STOP)) - # logger.info("已触发 ON_STOP 事件") - # 确保 loop 在任何情况下都尝试关闭(如果存在且未关闭) if "loop" in locals() and loop and not loop.is_closed(): loop.close()