From b6cabc593b6bc99040c3ea46e3f7d75ace2e2f88 Mon Sep 17 00:00:00 2001 From: A0000Xz <629995608@qq.com> Date: Sat, 28 Jun 2025 17:10:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=81=E8=81=8A=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/recv_handler/notice_handler.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/recv_handler/notice_handler.py b/src/recv_handler/notice_handler.py index f6fb16e..4288a02 100644 --- a/src/recv_handler/notice_handler.py +++ b/src/recv_handler/notice_handler.py @@ -177,16 +177,28 @@ class NoticeHandler: target_name: str = None raw_info: list = raw_message.get("raw_info") - user_qq_info: dict = await get_member_info( + if group_id: + user_qq_info: dict = await get_member_info( self.server_connection, group_id, user_id ) - if user_qq_info: - user_name = user_qq_info.get("nickname") - user_cardname = user_qq_info.get("card") + if user_qq_info: + user_name = user_qq_info.get("nickname") + user_cardname = user_qq_info.get("card") + else: + user_name = "QQ用户" + user_cardname = "QQ用户" + logger.info("无法获取戳一戳对方的用户昵称") else: - user_name = "QQ用户" - user_cardname = "QQ用户" - logger.info("无法获取戳一戳对方的用户昵称") + user_qq_info: dict = await get_stranger_info( + self.server_connection, user_id + ) + if user_qq_info: + user_name = user_qq_info.get("nickname") + user_cardname = user_qq_info.get("card") + else: + user_name = "QQ用户" + user_cardname = "QQ用户" + logger.info("无法获取戳一戳对方的用户昵称") # 计算Seg if self_id == target_id: # 现在这里应当是专注于处理私聊戳一戳的,也就是说当私聊里,被戳的是另一方时,不会给这个消息。