From b957b51279ab6d9129bc18128e2cec3af937a245 Mon Sep 17 00:00:00 2001 From: diudiu62 <115522593@qq.com> Date: Thu, 13 Mar 2025 15:55:22 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=B7=B2=E7=9F=A5=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=EF=BC=8C=E6=B2=A1=E6=9C=89=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=8C=E5=8F=AA=E6=98=AF=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=8F=B0=E6=89=93=E5=8D=B0=E5=A4=AA=E5=A4=9A?= =?UTF-8?q?=E7=9A=84=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/platform/sources/gewechat/client.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/astrbot/core/platform/sources/gewechat/client.py b/astrbot/core/platform/sources/gewechat/client.py index d7265b100..68fcf53f3 100644 --- a/astrbot/core/platform/sources/gewechat/client.py +++ b/astrbot/core/platform/sources/gewechat/client.py @@ -87,6 +87,15 @@ class SimpleGewechatClient: type_name = data["type_name"] else: raise Exception("无法识别的消息类型") + + # 以下没有业务处理,只是避免控制台打印太多的日志 + if type_name == "ModContacts": + logger.info("gewechat下发:ModContacts消息通知。") + return + if type_name == "DelContacts": + logger.info("gewechat下发:DelContacts消息通知。") + return + if type_name == "Offline": logger.critical("收到 gewechat 下线通知。") return @@ -212,6 +221,28 @@ class SimpleGewechatClient: async with await anyio.open_file(file_path, "wb") as f: await f.write(voice_data) abm.message.append(Record(file=file_path, url=file_path)) + + # 以下已知消息类型,没有业务处理,只是避免控制台打印太多的日志 + case 37: #好友申请 + logger.info("消息类型(37):好友申请") + case 42: # 名片 + logger.info("消息类型(42):名片") + case 43: # 视频 + logger.info("消息类型(43):视频") + case 47: # emoji + logger.info("消息类型(47):emoji") + case 48: # 地理位置 + logger.info("消息类型(48):地理位置") + case 49: # 公众号/文件/小程序/引用/转账/红包/视频号/群聊邀请 + logger.info("消息类型(49):公众号/文件/小程序/引用/转账/红包/视频号/群聊邀请") + case 51: # 帐号消息同步? + logger.info("消息类型(51):帐号消息同步?") + case 10000: # 被踢出群聊/更换群主/修改群名称 + logger.info("消息类型(10000):被踢出群聊/更换群主/修改群名称") + case 10002: # 撤回/拍一拍/成员邀请/被移出群聊/解散群聊/群公告/群待办 + logger.info("消息类型(10002):撤回/拍一拍/成员邀请/被移出群聊/解散群聊/群公告/群待办") + + case _: logger.info(f"未实现的消息类型: {d['MsgType']}") abm.raw_message = d From 9014d4c410f3a1cd5224a54a7891f0403da2462c Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Thu, 13 Mar 2025 20:36:41 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=8E=A8=20style:=20format=20codes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/platform/sources/gewechat/client.py | 47 ++++++++++--------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/astrbot/core/platform/sources/gewechat/client.py b/astrbot/core/platform/sources/gewechat/client.py index 68fcf53f3..f0e64e698 100644 --- a/astrbot/core/platform/sources/gewechat/client.py +++ b/astrbot/core/platform/sources/gewechat/client.py @@ -87,7 +87,7 @@ class SimpleGewechatClient: type_name = data["type_name"] else: raise Exception("无法识别的消息类型") - + # 以下没有业务处理,只是避免控制台打印太多的日志 if type_name == "ModContacts": logger.info("gewechat下发:ModContacts消息通知。") @@ -95,7 +95,7 @@ class SimpleGewechatClient: if type_name == "DelContacts": logger.info("gewechat下发:DelContacts消息通知。") return - + if type_name == "Offline": logger.critical("收到 gewechat 下线通知。") return @@ -221,27 +221,30 @@ class SimpleGewechatClient: async with await anyio.open_file(file_path, "wb") as f: await f.write(voice_data) abm.message.append(Record(file=file_path, url=file_path)) - - # 以下已知消息类型,没有业务处理,只是避免控制台打印太多的日志 - case 37: #好友申请 - logger.info("消息类型(37):好友申请") - case 42: # 名片 - logger.info("消息类型(42):名片") - case 43: # 视频 - logger.info("消息类型(43):视频") - case 47: # emoji - logger.info("消息类型(47):emoji") - case 48: # 地理位置 - logger.info("消息类型(48):地理位置") - case 49: # 公众号/文件/小程序/引用/转账/红包/视频号/群聊邀请 - logger.info("消息类型(49):公众号/文件/小程序/引用/转账/红包/视频号/群聊邀请") - case 51: # 帐号消息同步? - logger.info("消息类型(51):帐号消息同步?") - case 10000: # 被踢出群聊/更换群主/修改群名称 - logger.info("消息类型(10000):被踢出群聊/更换群主/修改群名称") - case 10002: # 撤回/拍一拍/成员邀请/被移出群聊/解散群聊/群公告/群待办 - logger.info("消息类型(10002):撤回/拍一拍/成员邀请/被移出群聊/解散群聊/群公告/群待办") + # 以下已知消息类型,没有业务处理,只是避免控制台打印太多的日志 + case 37: # 好友申请 + logger.info("消息类型(37):好友申请") + case 42: # 名片 + logger.info("消息类型(42):名片") + case 43: # 视频 + logger.info("消息类型(43):视频") + case 47: # emoji + logger.info("消息类型(47):emoji") + case 48: # 地理位置 + logger.info("消息类型(48):地理位置") + case 49: # 公众号/文件/小程序/引用/转账/红包/视频号/群聊邀请 + logger.info( + "消息类型(49):公众号/文件/小程序/引用/转账/红包/视频号/群聊邀请" + ) + case 51: # 帐号消息同步? + logger.info("消息类型(51):帐号消息同步?") + case 10000: # 被踢出群聊/更换群主/修改群名称 + logger.info("消息类型(10000):被踢出群聊/更换群主/修改群名称") + case 10002: # 撤回/拍一拍/成员邀请/被移出群聊/解散群聊/群公告/群待办 + logger.info( + "消息类型(10002):撤回/拍一拍/成员邀请/被移出群聊/解散群聊/群公告/群待办" + ) case _: logger.info(f"未实现的消息类型: {d['MsgType']}")