From 8b7d21fa4fade92c35a881b653348f9a8cce5e20 Mon Sep 17 00:00:00 2001 From: Windpicker-owo <3431391539@qq.com> Date: Sat, 23 Aug 2025 23:02:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=84=9A=E8=A0=A2=E7=9A=84=E6=8B=BC=E5=86=99?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=96=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugin_system/base/base_event.py | 4 ++-- src/plugin_system/base/base_events_handler.py | 10 +++++----- src/plugin_system/core/event_manager.py | 18 +++++++++--------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/plugin_system/base/base_event.py b/src/plugin_system/base/base_event.py index dc283183..b9efb3e0 100644 --- a/src/plugin_system/base/base_event.py +++ b/src/plugin_system/base/base_event.py @@ -69,7 +69,7 @@ class BaseEvent: self.enabled = True from src.plugin_system.base.base_events_handler import BaseEventHandler - self.subcribers: List["BaseEventHandler"] = [] # 订阅该事件的事件处理器列表 + self.subscribers: List["BaseEventHandler"] = [] # 订阅该事件的事件处理器列表 def __name__(self): return self.name @@ -87,7 +87,7 @@ class BaseEvent: return HandlerResultsCollection([]) # 按权重从高到低排序订阅者 - sorted_subscribers = sorted(self.subcribers, key=lambda h: getattr(h, 'weight', 0), reverse=True) + sorted_subscribers = sorted(self.subscribers, key=lambda h: getattr(h, 'weight', 0), reverse=True) results = [] for subscriber in sorted_subscribers: diff --git a/src/plugin_system/base/base_events_handler.py b/src/plugin_system/base/base_events_handler.py index c556dd4b..196ef5c3 100644 --- a/src/plugin_system/base/base_events_handler.py +++ b/src/plugin_system/base/base_events_handler.py @@ -21,7 +21,7 @@ class BaseEventHandler(ABC): """处理器权重,越大权重越高""" intercept_message: bool = False """是否拦截消息,默认为否""" - init_subcribe: List[str] = [] + init_subscribe: List[str] = [] """初始化时订阅的事件名称""" def __init__(self): @@ -43,7 +43,7 @@ class BaseEventHandler(ABC): """ raise NotImplementedError("子类必须实现 execute 方法") - def subcribe(self, event_name: str) -> None: + def subscribe(self, event_name: str) -> None: """订阅一个事件 Args: @@ -56,7 +56,7 @@ class BaseEventHandler(ABC): return logger.debug(f"{self.log_prefix} 订阅事件 {event_name}") - self.subcribed_events.append(event_name) + self.subscribed_events.append(event_name) def unsubscribe(self, event_name: str) -> None: """取消订阅一个事件 @@ -68,8 +68,8 @@ class BaseEventHandler(ABC): if event_manager.unsubscribe_handler_from_event(self.handler_name, event_name): logger.debug(f"{self.log_prefix} 取消订阅事件 {event_name}") - if event_name in self.subcribed_events: - self.subcribed_events.remove(event_name) + if event_name in self.subscribed_events: + self.subscribed_events.remove(event_name) else: logger.warning(f"{self.log_prefix} 未订阅事件 {event_name},无法取消订阅") diff --git a/src/plugin_system/core/event_manager.py b/src/plugin_system/core/event_manager.py index 69e42f8b..a57bfbe2 100644 --- a/src/plugin_system/core/event_manager.py +++ b/src/plugin_system/core/event_manager.py @@ -151,10 +151,10 @@ class EventManager: self._event_handlers[handler_name] = handler_class() - # 处理init_subcribe,缓存失败的订阅 - if self._event_handlers[handler_name].init_subcribe: + # 处理init_subscribe,缓存失败的订阅 + if self._event_handlers[handler_name].init_subscribe: failed_subscriptions = [] - for event_name in self._event_handlers[handler_name].init_subcribe: + for event_name in self._event_handlers[handler_name].init_subscribe: if not self.subscribe_handler_to_event(handler_name, event_name): failed_subscriptions.append(event_name) @@ -205,14 +205,14 @@ class EventManager: logger.error(f"事件 {event_name} 不存在,无法订阅事件处理器 {handler_name}") return False - if handler_instance in event.subcribers: + if handler_instance in event.subscribers: logger.warning(f"事件处理器 {handler_name} 已经订阅了事件 {event_name},跳过重复订阅") return True - event.subcribers.append(handler_instance) + event.subscribers.append(handler_instance) # 按权重从高到低排序订阅者 - event.subcribers.sort(key=lambda h: getattr(h, 'weight', 0), reverse=True) + event.subscribers.sort(key=lambda h: getattr(h, 'weight', 0), reverse=True) logger.info(f"事件处理器 {handler_name} 成功订阅到事件 {event_name},当前权重排序完成") return True @@ -234,9 +234,9 @@ class EventManager: # 查找并移除处理器实例 removed = False - for subscriber in event.subcribers[:]: + for subscriber in event.subscribers[:]: if hasattr(subscriber, 'handler_name') and subscriber.handler_name == handler_name: - event.subcribers.remove(subscriber) + event.subscribers.remove(subscriber) removed = True break @@ -260,7 +260,7 @@ class EventManager: if event is None: return {} - return {handler.handler_name: handler for handler in event.subcribers} + return {handler.handler_name: handler for handler in event.subscribers} async def trigger_event(self, event_name: str, params: Dict[str, Any] = None) -> Optional[HandlerResultsCollection]: """触发指定事件