From 39dc46dc2599b9b2d3adee5f07253bdabbbd1ce7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E6=B0=B8=E8=B5=AB?= <1259085392@qq.com> Date: Wed, 12 Mar 2025 11:59:53 +0900 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=9D=9E=E5=B5=8C=E5=A5=97=E7=9A=84=E8=BD=AC=E5=8F=91?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/message/components.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/astrbot/core/message/components.py b/astrbot/core/message/components.py index cb1f97e80..8e04077bb 100644 --- a/astrbot/core/message/components.py +++ b/astrbot/core/message/components.py @@ -359,10 +359,14 @@ class Node(BaseMessageComponent): def __init__(self, content: T.Union[str, list, dict, "Node", T.List["Node"]], **_): if isinstance(content, list): - if all(isinstance(item, str) for item in content): - content = "".join(content) - elif all(isinstance(item, Node) for item in content): - content = [node.toDict() for node in content] + _content = None + if all(isinstance(item, Node) for item in content): + _content = [node.toDict() for node in content] + else: + _content = "" + for chain in content: + _content += chain.toString() + content = _content elif isinstance(content, Node): content = content.toDict() super().__init__(content=content, **_)