From 0eb13204819a14b2c196c584676231c1b5541b61 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Fri, 23 May 2025 10:53:18 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=94=B9=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=9F=BA=E7=B1=BB=EF=BC=8C=E7=8E=B0=E5=9C=A8=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E4=BB=BB=E6=84=8F=E7=B1=BB=E5=9E=8B=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../planners/actions/exit_focus_chat_action.py | 2 +- src/chat/focus_chat/planners/actions/plugin_action.py | 9 +++++---- src/plugins/test_plugin/actions/__init__.py | 6 +++--- src/plugins/test_plugin/actions/mute_action.py | 6 +++++- src/plugins/test_plugin/actions/online_action.py | 2 +- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/chat/focus_chat/planners/actions/exit_focus_chat_action.py b/src/chat/focus_chat/planners/actions/exit_focus_chat_action.py index 92bb7656c..c7ba64830 100644 --- a/src/chat/focus_chat/planners/actions/exit_focus_chat_action.py +++ b/src/chat/focus_chat/planners/actions/exit_focus_chat_action.py @@ -78,7 +78,7 @@ class ExitFocusChatAction(BaseAction): if self.sub_heartflow: try: # 转换为normal_chat状态 - await self.sub_heartflow.change_chat_state(ChatState.NORMAL_CHAT) + await self.sub_heartflow.change_chat_state(ChatState.CHAT) status_message = "已成功切换到普通聊天模式" logger.info(f"{self.log_prefix} {status_message}") except Exception as e: diff --git a/src/chat/focus_chat/planners/actions/plugin_action.py b/src/chat/focus_chat/planners/actions/plugin_action.py index 94754d021..10f346e15 100644 --- a/src/chat/focus_chat/planners/actions/plugin_action.py +++ b/src/chat/focus_chat/planners/actions/plugin_action.py @@ -41,7 +41,7 @@ class PluginAction(BaseAction): return platform, user_id # 提供简化的API方法 - async def send_message(self, text: str, target: Optional[str] = None) -> bool: + async def send_message(self, type: str, data: str, target: Optional[str] = "") -> bool: """发送消息的简化方法 Args: @@ -60,7 +60,7 @@ class PluginAction(BaseAction): return False # 构造简化的动作数据 - reply_data = {"text": text, "target": target or "", "emojis": []} + # reply_data = {"text": text, "target": target or "", "emojis": []} # 获取锚定消息(如果有) observations = self._services.get("observations", []) @@ -68,7 +68,8 @@ class PluginAction(BaseAction): chatting_observation: ChattingObservation = next( obs for obs in observations if isinstance(obs, ChattingObservation) ) - anchor_message = chatting_observation.search_message_by_text(reply_data["target"]) + + anchor_message = chatting_observation.search_message_by_text(target) # 如果没有找到锚点消息,创建一个占位符 if not anchor_message: @@ -80,7 +81,7 @@ class PluginAction(BaseAction): anchor_message.update_chat_stream(chat_stream) response_set = [ - ("text", text), + (type, data), ] # 调用内部方法发送消息 diff --git a/src/plugins/test_plugin/actions/__init__.py b/src/plugins/test_plugin/actions/__init__.py index a87c0b523..dc99db149 100644 --- a/src/plugins/test_plugin/actions/__init__.py +++ b/src/plugins/test_plugin/actions/__init__.py @@ -1,7 +1,7 @@ """测试插件动作模块""" # 导入所有动作模块以确保装饰器被执行 -# from . import test_action # noqa +from . import test_action # noqa -# from . import online_action # noqa -# from . import mute_action # noqa +from . import online_action # noqa +from . import mute_action # noqa diff --git a/src/plugins/test_plugin/actions/mute_action.py b/src/plugins/test_plugin/actions/mute_action.py index c96204172..0e8178129 100644 --- a/src/plugins/test_plugin/actions/mute_action.py +++ b/src/plugins/test_plugin/actions/mute_action.py @@ -40,7 +40,11 @@ class MuteAction(PluginAction): await self.send_message_by_expressor(f"我要禁言{target},{platform},时长{duration}秒,理由{reason},表达情绪") try: - await self.send_message(f"[command]mute,{user_id},{duration}") + await self.send_message( + type = "text", + data = f"[command]mute,{user_id},{duration}", + # target = target + ) except Exception as e: logger.error(f"{self.log_prefix} 执行mute动作时出错: {e}") diff --git a/src/plugins/test_plugin/actions/online_action.py b/src/plugins/test_plugin/actions/online_action.py index 4f49045f2..7f6674312 100644 --- a/src/plugins/test_plugin/actions/online_action.py +++ b/src/plugins/test_plugin/actions/online_action.py @@ -17,7 +17,7 @@ class CheckOnlineAction(PluginAction): "mode参数为version时查看在线版本状态,默认用这种", "mode参数为type时查看在线系统类型分布", ] - default = True # 不是默认动作,需要手动添加到使用集 + default = False # 不是默认动作,需要手动添加到使用集 async def process(self) -> Tuple[bool, str]: """处理测试动作"""