mirror of https://github.com/Mai-with-u/MaiBot.git
增加详细返回值输出
parent
5cc1e56904
commit
2c6e342c36
|
|
@ -340,9 +340,28 @@ class EventsManager:
|
||||||
if event_type not in self._history_enable_map:
|
if event_type not in self._history_enable_map:
|
||||||
raise ValueError(f"事件类型 {event_type} 未注册")
|
raise ValueError(f"事件类型 {event_type} 未注册")
|
||||||
try:
|
try:
|
||||||
success, continue_processing, return_message, custom_result, modified_message = await handler.execute(
|
result = await handler.execute(message)
|
||||||
message
|
|
||||||
)
|
expected_fields = ["success", "continue_processing", "return_message", "custom_result", "modified_message"]
|
||||||
|
|
||||||
|
if not isinstance(result, tuple) or len(result) != 5:
|
||||||
|
if isinstance(result, tuple):
|
||||||
|
annotated = ", ".join(
|
||||||
|
f"{name}={val!r}" for name, val in zip(expected_fields, result)
|
||||||
|
)
|
||||||
|
actual_desc = f"{len(result)} 个元素 ({annotated})"
|
||||||
|
else:
|
||||||
|
actual_desc = f"非 tuple 类型: {type(result)}"
|
||||||
|
|
||||||
|
logger.error(
|
||||||
|
f"[{self.__class__.__name__}] EventHandler {handler.handler_name} 返回值不符合预期:\n"
|
||||||
|
f" 模块来源: {handler.__class__.__module__}.{handler.__class__.__name__}\n"
|
||||||
|
f" 期望: 5 个元素 ({', '.join(expected_fields)})\n"
|
||||||
|
f" 实际: {actual_desc}"
|
||||||
|
)
|
||||||
|
return True, None
|
||||||
|
|
||||||
|
success, continue_processing, return_message, custom_result, modified_message = result
|
||||||
|
|
||||||
if not success:
|
if not success:
|
||||||
logger.error(f"EventHandler {handler.handler_name} 执行失败: {return_message}")
|
logger.error(f"EventHandler {handler.handler_name} 执行失败: {return_message}")
|
||||||
|
|
@ -351,7 +370,9 @@ class EventsManager:
|
||||||
|
|
||||||
if self._history_enable_map[event_type] and custom_result:
|
if self._history_enable_map[event_type] and custom_result:
|
||||||
self._events_result_history[event_type].append(custom_result)
|
self._events_result_history[event_type].append(custom_result)
|
||||||
|
|
||||||
return continue_processing, modified_message
|
return continue_processing, modified_message
|
||||||
|
|
||||||
except KeyError:
|
except KeyError:
|
||||||
logger.error(f"事件 {event_type} 注册的历史记录启用情况与实际不符合")
|
logger.error(f"事件 {event_type} 注册的历史记录启用情况与实际不符合")
|
||||||
return True, None
|
return True, None
|
||||||
|
|
@ -359,6 +380,7 @@ class EventsManager:
|
||||||
logger.error(f"EventHandler {handler.handler_name} 发生异常: {e}", exc_info=True)
|
logger.error(f"EventHandler {handler.handler_name} 发生异常: {e}", exc_info=True)
|
||||||
return True, None # 发生异常时默认不中断其他处理
|
return True, None # 发生异常时默认不中断其他处理
|
||||||
|
|
||||||
|
|
||||||
def _task_done_callback(
|
def _task_done_callback(
|
||||||
self,
|
self,
|
||||||
task: asyncio.Task[Tuple[bool, bool, str | None, CustomEventHandlerResult | None, MaiMessages | None]],
|
task: asyncio.Task[Tuple[bool, bool, str | None, CustomEventHandlerResult | None, MaiMessages | None]],
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue