From ea7d3b364ff6d1e8ef07a6413e08ec1933b5d53f Mon Sep 17 00:00:00 2001 From: Windpicker-owo <3431391539@qq.com> Date: Sun, 7 Sep 2025 19:03:42 +0800 Subject: [PATCH] =?UTF-8?q?plugin=5Fname=E6=94=B9=E4=B8=BApermission=5Fgro?= =?UTF-8?q?up?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/chat_loop/cycle_processor.py | 2 +- src/chat/message_receive/bot.py | 2 +- src/chat/replyer/default_generator.py | 4 ++-- src/main.py | 4 ++-- src/plugin_system/core/event_manager.py | 8 +++---- src/plugins/built_in/at_user_plugin/plugin.py | 2 +- .../src/recv_handler/message_handler.py | 22 +++++++++---------- .../src/recv_handler/notice_handler.py | 2 +- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/chat/chat_loop/cycle_processor.py b/src/chat/chat_loop/cycle_processor.py index 913111bdc..3bb585697 100644 --- a/src/chat/chat_loop/cycle_processor.py +++ b/src/chat/chat_loop/cycle_processor.py @@ -206,7 +206,7 @@ class CycleProcessor: # 触发规划前事件 result = await event_manager.trigger_event( - EventType.ON_PLAN, plugin_name="SYSTEM", stream_id=self.context.chat_stream + EventType.ON_PLAN, permission_group="SYSTEM", stream_id=self.context.chat_stream ) if not result.all_continue_process(): raise UserWarning(f"插件{result.get_summary().get('stopped_handlers', '')}于规划前中断了内容生成") diff --git a/src/chat/message_receive/bot.py b/src/chat/message_receive/bot.py index 5d7e52b56..5c5285ac0 100644 --- a/src/chat/message_receive/bot.py +++ b/src/chat/message_receive/bot.py @@ -452,7 +452,7 @@ class ChatBot: logger.info(f"命令处理完成,跳过后续消息处理: {cmd_result}") return - result = await event_manager.trigger_event(EventType.ON_MESSAGE, plugin_name="SYSTEM", message=message) + result = await event_manager.trigger_event(EventType.ON_MESSAGE, permission_group="SYSTEM", message=message) if not result.all_continue_process(): raise UserWarning(f"插件{result.get_summary().get('stopped_handlers', '')}于消息到达时取消了消息处理") diff --git a/src/chat/replyer/default_generator.py b/src/chat/replyer/default_generator.py index d70076106..2101d5afd 100644 --- a/src/chat/replyer/default_generator.py +++ b/src/chat/replyer/default_generator.py @@ -290,7 +290,7 @@ class DefaultReplyer: # 触发 POST_LLM 事件(请求 LLM 之前) if not from_plugin: result = await event_manager.trigger_event( - EventType.POST_LLM, plugin_name="SYSTEM", prompt=prompt, stream_id=stream_id + EventType.POST_LLM, permission_group="SYSTEM", prompt=prompt, stream_id=stream_id ) if not result.all_continue_process(): raise UserWarning(f"插件{result.get_summary().get('stopped_handlers', '')}于请求前中断了内容生成") @@ -314,7 +314,7 @@ class DefaultReplyer: if not from_plugin: result = await event_manager.trigger_event( EventType.AFTER_LLM, - plugin_name="SYSTEM", + permission_group="SYSTEM", prompt=prompt, llm_response=llm_response, stream_id=stream_id, diff --git a/src/main.py b/src/main.py index 75070bea3..7366f2db9 100644 --- a/src/main.py +++ b/src/main.py @@ -117,7 +117,7 @@ class MainSystem: # 停止消息重组器 from src.plugin_system.core.event_manager import event_manager from src.plugin_system import EventType - asyncio.run(event_manager.trigger_event(EventType.ON_STOP,plugin_name="SYSTEM")) + asyncio.run(event_manager.trigger_event(EventType.ON_STOP,permission_group="SYSTEM")) from src.utils.message_chunker import reassembler import asyncio @@ -291,7 +291,7 @@ MoFox_Bot(第三方修改版) logger.info("日程表管理器初始化成功。") try: - await event_manager.trigger_event(EventType.ON_START, plugin_name="SYSTEM") + await event_manager.trigger_event(EventType.ON_START, permission_group="SYSTEM") init_time = int(1000 * (time.time() - init_start_time)) logger.info(f"初始化完成,神经元放电{init_time}次") except Exception as e: diff --git a/src/plugin_system/core/event_manager.py b/src/plugin_system/core/event_manager.py index a69fb01c0..f359409af 100644 --- a/src/plugin_system/core/event_manager.py +++ b/src/plugin_system/core/event_manager.py @@ -289,7 +289,7 @@ class EventManager: return {handler.handler_name: handler for handler in event.subscribers} async def trigger_event( - self, event_name: Union[EventType, str], plugin_name: Optional[str] = "", **kwargs + self, event_name: Union[EventType, str], permission_group: Optional[str] = "", **kwargs ) -> Optional[HandlerResultsCollection]: """触发指定事件 @@ -309,11 +309,11 @@ class EventManager: return None # 插件白名单检查 - if event.allowed_triggers and not plugin_name: + if event.allowed_triggers and not permission_group: logger.warning(f"事件 {event_name} 存在触发者白名单,缺少plugin_name无法验证权限,已拒绝触发!") return None - elif event.allowed_triggers and plugin_name not in event.allowed_triggers: - logger.warning(f"插件 {plugin_name} 没有权限触发事件 {event_name},已拒绝触发!") + elif event.allowed_triggers and permission_group not in event.allowed_triggers: + logger.warning(f"插件 {permission_group} 没有权限触发事件 {event_name},已拒绝触发!") return None return await event.activate(params) diff --git a/src/plugins/built_in/at_user_plugin/plugin.py b/src/plugins/built_in/at_user_plugin/plugin.py index 5e24458ef..4f577a5de 100644 --- a/src/plugins/built_in/at_user_plugin/plugin.py +++ b/src/plugins/built_in/at_user_plugin/plugin.py @@ -83,7 +83,7 @@ class AtAction(BaseAction): from src.plugin_system.core.event_manager import event_manager from src.plugin_system import EventType # 触发post_llm - result = await event_manager.trigger_event(EventType.POST_LLM,plugin_name="SYSTEM") + result = await event_manager.trigger_event(EventType.POST_LLM, permission_group="SYSTEM") if not result.all_continue_process(): return False, f"被组件{result.get_summary().get("stopped_handlers","")}打断" diff --git a/src/plugins/built_in/napcat_adapter_plugin/src/recv_handler/message_handler.py b/src/plugins/built_in/napcat_adapter_plugin/src/recv_handler/message_handler.py index 1c276ce41..0a644345b 100644 --- a/src/plugins/built_in/napcat_adapter_plugin/src/recv_handler/message_handler.py +++ b/src/plugins/built_in/napcat_adapter_plugin/src/recv_handler/message_handler.py @@ -385,7 +385,7 @@ class MessageHandler: ret_seg = await self.handle_text_message(sub_message) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.TEXT, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.TEXT, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message.append(ret_seg) else: @@ -394,7 +394,7 @@ class MessageHandler: ret_seg = await self.handle_face_message(sub_message) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.FACE, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.FACE, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message.append(ret_seg) else: @@ -404,7 +404,7 @@ class MessageHandler: ret_seg = await self.handle_reply_message(sub_message) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.REPLY, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.REPLY, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message += ret_seg else: @@ -414,7 +414,7 @@ class MessageHandler: ret_seg = await self.handle_image_message(sub_message) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.IMAGE, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.IMAGE, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message.append(ret_seg) logger.debug("图片处理成功,添加到消息段") @@ -425,7 +425,7 @@ class MessageHandler: ret_seg = await self.handle_record_message(sub_message) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.RECORD, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.RECORD, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message.clear() seg_message.append(ret_seg) @@ -437,7 +437,7 @@ class MessageHandler: ret_seg = await self.handle_video_message(sub_message) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.VIDEO, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.VIDEO, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message.append(ret_seg) else: @@ -451,7 +451,7 @@ class MessageHandler: ) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.AT, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.AT, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message.append(ret_seg) else: @@ -460,7 +460,7 @@ class MessageHandler: ret_seg = await self.handle_rps_message(sub_message) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.RPS, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.RPS, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message.append(ret_seg) else: @@ -469,7 +469,7 @@ class MessageHandler: ret_seg = await self.handle_dice_message(sub_message) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.DICE, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.DICE, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message.append(ret_seg) else: @@ -478,7 +478,7 @@ class MessageHandler: ret_seg = await self.handle_shake_message(sub_message) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.SHAKE, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.SHAKE, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message.append(ret_seg) else: @@ -507,7 +507,7 @@ class MessageHandler: ret_seg = await self.handle_json_message(sub_message) if ret_seg: await event_manager.trigger_event( - NapcatEvent.ON_RECEIVED.JSON, plugin_name=PLUGIN_NAME, message_seg=ret_seg + NapcatEvent.ON_RECEIVED.JSON, permission_group=PLUGIN_NAME, message_seg=ret_seg ) seg_message.append(ret_seg) else: diff --git a/src/plugins/built_in/napcat_adapter_plugin/src/recv_handler/notice_handler.py b/src/plugins/built_in/napcat_adapter_plugin/src/recv_handler/notice_handler.py index e3af0ea83..efb90ca6e 100644 --- a/src/plugins/built_in/napcat_adapter_plugin/src/recv_handler/notice_handler.py +++ b/src/plugins/built_in/napcat_adapter_plugin/src/recv_handler/notice_handler.py @@ -127,7 +127,7 @@ class NoticeHandler: from src.plugin_system.core.event_manager import event_manager from ...event_types import NapcatEvent - await event_manager.trigger_event(NapcatEvent.ON_RECEIVED.FRIEND_INPUT, plugin_name=PLUGIN_NAME) + await event_manager.trigger_event(NapcatEvent.ON_RECEIVED.FRIEND_INPUT, permission_group=PLUGIN_NAME) case _: logger.warning(f"不支持的notify类型: {notice_type}.{sub_type}") case NoticeType.group_ban: