Skip to content

Commit 599dd5e

Browse files
committed
Fix chatroom member contact no deletion bug [qq: 123]
1 parent 99a1293 commit 599dd5e

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

itchat/components/contact.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,15 @@ def update_local_chatrooms(core, l):
137137
else:
138138
oldChatroom = chatroom
139139
core.chatroomList.append(chatroom)
140+
# delete useless members
141+
if len(chatroom['MemberList']) != len(oldChatroom['MemberList']) and \
142+
chatroom['MemberList']:
143+
existsUserNames = [member['UserName'] for member in chatroom['MemberList']]
144+
delList = []
145+
for i, member in enumerate(oldChatroom['MemberList']):
146+
if member['UserName'] not in existsUserNames: delList.append(i)
147+
delList.sort(reverse=True)
148+
for i in delList: del oldChatroom['MemberList'][i]
140149
# - update OwnerUin
141150
if oldChatroom.get('ChatRoomOwner') and oldChatroom.get('MemberList'):
142151
oldChatroom['OwnerUin'] = utils.search_dict_list(oldChatroom['MemberList'],
@@ -328,7 +337,7 @@ def get_head_img(self, userName=None, chatroomUserName=None, picDir=None):
328337
* if you want to get chatroom member header: set both
329338
'''
330339
params = {
331-
'userName': userName or chatroomUserName,
340+
'userName': userName or chatroomUserName or self.storageClass.userName,
332341
'skey': self.loginInfo['skey'], }
333342
url = '%s/webwxgeticon' % self.loginInfo['url']
334343
if chatroomUserName is None:

itchat/config.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import os, platform
22

3-
VERSION = '1.2.15'
3+
VERSION = '1.2.16'
44
BASE_URL = 'https://login.weixin.qq.com'
55
OS = platform.system() #Windows, Linux, Darwin
66
DIR = os.getcwd()

0 commit comments

Comments
 (0)