diff --git a/app/core/event.py b/app/core/event.py index 2b85914f..f61ac6f6 100644 --- a/app/core/event.py +++ b/app/core/event.py @@ -499,11 +499,18 @@ class EventManager(metaclass=Singleton): def decorator(f: Callable): # 将输入的事件类型统一转换为列表格式 if isinstance(etype, list): - event_list = etype # 传入的已经是列表,直接使用 + # 传入的已经是列表,直接使用 + event_list = etype + elif etype is EventType: + # 订阅所有事件 + event_list = [] + for et in etype: + event_list.append(et) else: - event_list = [etype] # 不是列表则包裹成单一元素的列表 + # 不是列表则包裹成单一元素的列表 + event_list = [etype] - # 遍历列表,处理每个事件类型 + # 遍历列表,处理每个事件类型 for event in event_list: if isinstance(event, (EventType, ChainEventType)): self.add_event_listener(event, f)