From e55dbead5be87e3811edb4569dc388902f5ee63e 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:14:54 +0900 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=B5=8C=E5=A5=97=E8=BD=AC?= =?UTF-8?q?=E5=8F=91=EF=BC=8C=E9=87=8C=E5=B1=82=E5=8C=85=E5=90=AB=E5=A4=9A?= =?UTF-8?q?=E6=9D=A1=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/message/components.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/astrbot/core/message/components.py b/astrbot/core/message/components.py index d136013ca..cb1f97e80 100644 --- a/astrbot/core/message/components.py +++ b/astrbot/core/message/components.py @@ -357,16 +357,14 @@ class Node(BaseMessageComponent): seq: T.Optional[T.Union[str, list]] = "" # 忽略 time: T.Optional[int] = 0 - def __init__(self, content: T.Union[str, list, dict, "Node"], **_): + def __init__(self, content: T.Union[str, list, dict, "Node", T.List["Node"]], **_): if isinstance(content, list): - _content = "" - for chain in content: - _content += chain.toString() - content = _content + 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] elif isinstance(content, Node): content = content.toDict() - else: - content = content super().__init__(content=content, **_) def toString(self):