diff --git a/astrbot/core/tools/send_message.py b/astrbot/core/tools/send_message.py index f62971ed5..54538168f 100644 --- a/astrbot/core/tools/send_message.py +++ b/astrbot/core/tools/send_message.py @@ -122,10 +122,10 @@ class SendMessageToUserTool(FunctionTool[AstrAgentContext]): return path, False async def call( - self, context: ContextWrapper[AstrAgentContext], **kwargs + self, context: ContextWrapper[AstrAgentContext], **kwargs: Any ) -> ToolExecResult: - session = kwargs.get("session") or context.context.event.unified_msg_origin - messages = kwargs.get("messages") + session: str | MessageSession = kwargs.get("session") or context.context.event.unified_msg_origin + messages: list[dict[str, Any]] | None = kwargs.get("messages") if not isinstance(messages, list) or not messages: return "error: messages parameter is empty or invalid." @@ -136,10 +136,9 @@ class SendMessageToUserTool(FunctionTool[AstrAgentContext]): if not isinstance(msg, dict): return f"error: messages[{idx}] should be an object." - typed_msg: MessageComponent = msg - msg_type = str(typed_msg.get("type", "")).lower() - if not msg_type: + if "type" not in msg: return f"error: messages[{idx}].type is required." + msg_type = str(msg["type"]).lower() _file_from_sandbox = False diff --git a/astrbot/tui/tui_app.py b/astrbot/tui/tui_app.py index dafd1b7ab..9ea2bc73c 100644 --- a/astrbot/tui/tui_app.py +++ b/astrbot/tui/tui_app.py @@ -106,7 +106,7 @@ class AstrBotTUI: self._history_index += 1 self.state.input_buffer = self._input_history[self._history_index] self.state.cursor_x = len(self.state.input_buffer) - elif key == key == curses.KEY_DOWN: + elif key == curses.KEY_DOWN: if self._history_index > 0: self._history_index -= 1 self.state.input_buffer = self._input_history[self._history_index]