From 9f1315b06d719485266f8a2ebe63cda4b161357f Mon Sep 17 00:00:00 2001 From: Soulter <37870767+Soulter@users.noreply.github.com> Date: Mon, 22 May 2023 18:42:23 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96gocq=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E6=B6=88=E6=81=AF=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cores/qqbot/core.py | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/cores/qqbot/core.py b/cores/qqbot/core.py index 11def78b7..e31eb7110 100644 --- a/cores/qqbot/core.py +++ b/cores/qqbot/core.py @@ -476,17 +476,8 @@ def oper_msg(message, if isinstance(nick_qq, str): nick_qq = (nick_qq,) if isinstance(nick_qq, list): - nick_qq = tuple(nick_qq) + nick_qq = tuple(nick_qq) - if platform == PLATFORM_GOCQ: - _len = 0 - for i in nick_qq: - if message.message[0].text.startswith(i): - _len = len(i) - with_tag = True - break - message.message[0].text = message.message[0].text[_len:].strip() - if platform == PLATFORM_QQCHAN: gu.log(f"收到消息:{message.content}", gu.LEVEL_INFO, tag="QQ频道") @@ -494,11 +485,7 @@ def oper_msg(message, user_name = message.author.username global qqchan_loop if platform == PLATFORM_GOCQ: - if isinstance(message.message[0], Plain): - gu.log(f"收到消息:{message.message[0].text}", gu.LEVEL_INFO, tag="GOCQ") - elif isinstance(message.message[0], At): - gu.log(f"收到消息:{message.message[1].text}", gu.LEVEL_INFO, tag="GOCQ") - + gu.log(f"收到消息:{qq_msg}", gu.LEVEL_INFO, tag="QQ") user_id = message.user_id user_name = message.user_id global gocq_loop @@ -534,19 +521,30 @@ def oper_msg(message, if platform == PLATFORM_GOCQ: if group: - if isinstance(message.message[0], Plain): - qq_msg = str(message.message[0].text).strip() - elif isinstance(message.message[0], At): - qq_msg = str(message.message[1].text).strip() - else: - return + # if isinstance(message.message[0], Plain): + # qq_msg = str(message.message[0].text).strip() + # elif isinstance(message.message[0], At): + # qq_msg = str(message.message[1].text).strip() + # else: + # return + _len = 0 + for i in message.message: + if isinstance(i, Plain): + qq_msg = str(i.text).strip() + break + for i in nick_qq: + if qq_msg.startswith(i): + _len = len(i) + with_tag = True + break + qq_msg = qq_msg[_len:].strip() # 适配GO-CQHTTP的频道功能 if message.type == "GuildMessage": session_id = message.channel_id else: session_id = message.group_id else: - qq_msg = message.message[0].text + # qq_msg = message.message[0].text session_id = message.user_id role = "member"