diff --git a/bridge/context.py b/bridge/context.py index 4f2df1f..1e5958c 100644 --- a/bridge/context.py +++ b/bridge/context.py @@ -12,6 +12,7 @@ class ContextType(Enum): SHARING = 6 # 分享信息 IMAGE_CREATE = 10 # 创建图片命令 + ACCEPT_FRIEND = 19 # 同意好友请求 JOIN_GROUP = 20 # 加入群聊 PATPAT = 21 # 拍了拍 FUNCTION = 22 # 函数调用 diff --git a/channel/wechat/wechat_channel.py b/channel/wechat/wechat_channel.py index be7fbe2..504c368 100644 --- a/channel/wechat/wechat_channel.py +++ b/channel/wechat/wechat_channel.py @@ -167,7 +167,7 @@ class WechatChannel(ChatChannel): logger.debug("[WX]receive voice for group msg: {}".format(cmsg.content)) elif cmsg.ctype == ContextType.IMAGE: logger.debug("[WX]receive image for group msg: {}".format(cmsg.content)) - elif cmsg.ctype in [ContextType.JOIN_GROUP, ContextType.PATPAT]: + elif cmsg.ctype in [ContextType.JOIN_GROUP, ContextType.PATPAT, ContextType.ACCEPT_FRIEND]: logger.debug("[WX]receive note msg: {}".format(cmsg.content)) elif cmsg.ctype == ContextType.TEXT: # logger.debug("[WX]receive group msg: {}, cmsg={}".format(json.dumps(cmsg._rawmsg, ensure_ascii=False), cmsg)) diff --git a/channel/wechat/wechat_message.py b/channel/wechat/wechat_message.py index 86c7355..e102018 100644 --- a/channel/wechat/wechat_message.py +++ b/channel/wechat/wechat_message.py @@ -34,6 +34,9 @@ class WechatMessage(ChatMessage): self.actual_user_nickname = re.findall(r"\"(.*?)\"", itchat_msg["Content"])[-1] elif "加入群聊" in itchat_msg["Content"]: self.actual_user_nickname = re.findall(r"\"(.*?)\"", itchat_msg["Content"])[0] + elif "你已添加了" in itchat_msg["Content"]: #通过好友请求 + self.ctype = ContextType.ACCEPT_FRIEND + self.content = itchat_msg["Content"] elif "拍了拍我" in itchat_msg["Content"]: self.ctype = ContextType.PATPAT self.content = itchat_msg["Content"]