调整群成员逻辑

This commit is contained in:
liuwei
2025-05-07 16:39:35 +08:00
parent 22bc914df3
commit 0539e774d7

View File

@@ -360,21 +360,20 @@ class Robot(Job):
if chatroom_info:
# 保存群信息到数据库
self.contacts_db.save_chatroom_info(chatroom_info)
# 保存群成员信息
if "NewChatroomData" in chatroom_info and "ChatRoomMember" in chatroom_info["NewChatroomData"]:
member_list = chatroom_info["NewChatroomData"]["ChatRoomMember"]
members = await self.ipad_bot.get_chatroom_member_list(group_id)
# 保存群成员信息
if members:
# 兼容逻辑已放到save_chatroom_member_simple内部
self.contacts_db.save_chatroom_member_simple(group_id, member_list)
self.LOG.info(f"member_list: {member_list}")
self.contacts_db.save_chatroom_member_simple(group_id, members)
self.LOG.info(f"member_list: {members}")
# 更新联系人缓存
for member in member_list:
for member in members:
wxid = member.get("UserName", "")
if isinstance(wxid, dict):
wxid = wxid.get("string", "")
nick_name = member.get("NickName", "")
if isinstance(nick_name, dict):
nick_name = nick_name.get("string", "")
displayName = member.get("DisplayName", "")
#如果displayName不为空使用displayName
if displayName:
nick_name = displayName
if wxid:
self.allContacts[wxid] = nick_name
@@ -541,26 +540,20 @@ class Robot(Job):
if chatroom_info.get("UserName", ""):
# 保存群信息到数据库
self.contacts_db.save_chatroom_info(chatroom_info)
# 保存群成员信息
if "NewChatroomData" in chatroom_info and "ChatRoomMember" in chatroom_info["NewChatroomData"]:
member_list = chatroom_info["NewChatroomData"]["ChatRoomMember"]
self.contacts_db.save_chatroom_member_simple(group_id, member_list)
members = await self.ipad_bot.get_chatroom_member_list(group_id)
# 保存群成员信息
if members:
# 兼容逻辑已放到save_chatroom_member_simple内部
self.contacts_db.save_chatroom_member_simple(group_id, members)
self.LOG.info(f"member_list: {members}")
# 更新联系人缓存
for member in member_list:
wxid = ""
if isinstance(member.get("UserName"), dict):
wxid = member["UserName"].get("string", "")
else:
wxid = member.get("UserName", "")
nick_name = ""
if isinstance(member.get("NickName"), dict):
nick_name = member["NickName"].get("string", "")
else:
nick_name = member.get("NickName", "")
for member in members:
wxid = member.get("UserName", "")
nick_name = member.get("NickName", "")
displayName = member.get("DisplayName", "")
#如果displayName不为空使用displayName
if displayName:
nick_name = displayName
if wxid:
self.allContacts[wxid] = nick_name