diff --git a/utils/wechat/member_monitor.py b/utils/wechat/member_monitor.py index 2c083cb..c6764c0 100644 --- a/utils/wechat/member_monitor.py +++ b/utils/wechat/member_monitor.py @@ -52,16 +52,17 @@ class ChatroomMemberMonitor: removed_wxids = [m['wxid'] for m in changes['removed']] self._remove_members_from_db(group_id, removed_wxids) - # 5.2 保存新增的成员 + # 5.2 保存新增的成员(使用原始API数据以正确映射字段) if changes['added']: - self.db.save_chatroom_member_simple(group_id, changes['added']) + added_raw = [m.get('raw_data', m) for m in changes['added']] + self.db.save_chatroom_member_simple(group_id, added_raw) self.logger.info(f"群 {group_id} 新增 {len(changes['added'])} 名成员缓存") - # 5.3 更新修改的成员 + # 5.3 更新修改的成员(同样使用原始API数据) if changes['modified']: - modified_members = [m['member'] for m in changes['modified']] - self.db.save_chatroom_member_simple(group_id, modified_members) - self.logger.info(f"群 {group_id} 更新 {len(modified_members)} 名成员缓存") + modified_raw = [m['member'].get('raw_data', m['member']) for m in changes['modified']] + self.db.save_chatroom_member_simple(group_id, modified_raw) + self.logger.info(f"群 {group_id} 更新 {len(modified_raw)} 名成员缓存") else: self.logger.info(f"群 {group_id} 成员无变化")