From 000b6c741ea959b048c522b141898b7a04a5bca6 Mon Sep 17 00:00:00 2001 From: liuwei Date: Fri, 13 Jun 2025 18:12:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=80=9A=E8=AE=AF=E5=BD=95?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E6=B8=85=E9=99=A4=E6=89=80=E6=9C=89=E7=9A=84?= =?UTF-8?q?=E7=BE=A4=E6=88=90=E5=91=98=E4=BF=A1=E6=81=AF=EF=BC=8C=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/contacts_db.py | 11 +++++++++++ robot.py | 2 ++ 2 files changed, 13 insertions(+) diff --git a/db/contacts_db.py b/db/contacts_db.py index 50b3447..216cdc6 100644 --- a/db/contacts_db.py +++ b/db/contacts_db.py @@ -574,6 +574,17 @@ class ContactsDBOperator(BaseDBOperator): self.LOG.error(f"删除群聊{chatroom_id}信息失败: {e}") return False + def delete_chatroom_members_info(self, chatroom_id: str) -> bool: + """删除群成员信息""" + try: + sql = "DELETE FROM t_chatroom_member WHERE chatroom_id = %s" + self.execute_update(sql, (chatroom_id,)) + self.LOG.info(f"成功删除群聊 {chatroom_id} 的成员信息") + return True + except Exception as e: + self.LOG.error(f"删除群聊{chatroom_id}的成员信息失败: {e}") + return False + # 新增获取群列表接口 def get_chatroom_list(self) -> List[dict]: """获取群列表""" diff --git a/robot.py b/robot.py index 312fdac..71bdda5 100644 --- a/robot.py +++ b/robot.py @@ -587,6 +587,8 @@ class Robot: members = await self.ipad_bot.get_chatroom_member_list(group_id) # 保存群成员信息 if members: + # 清除所有的成员信息, 重新写入。 + self.contacts_db.delete_chatroom_members_info(group_id) # 兼容逻辑已放到save_chatroom_member_simple内部 self.contacts_db.save_chatroom_member_simple(group_id, members) self.LOG.info(f"member_list: {members}")