mirror of https://github.com/Mai-with-u/MaiBot.git
愚蠢的拼写错误喵
parent
abb62281c5
commit
8b7d21fa4f
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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},无法取消订阅")
|
||||
|
||||
|
|
|
|||
|
|
@ -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]:
|
||||
"""触发指定事件
|
||||
|
|
|
|||
Loading…
Reference in New Issue