@itchat.msg_register(NOTE) # 监听系统提示
def note_info(msg):
监听到好友撤回了一条消息
if ‘撤回了一条消息’ in msg[‘Text’]:
获取系统消息中的Content结点值
content = msg[‘Content’]
Content值为xml,解析xml
doc = xml.dom.minidom.parseString(content)
取出msgid标签的值
result = doc.getElementsByTagName(“msgid”)
该msgId就是撤回的消息标识,通过它可以在字典中找到撤回的消息信息
msgId = result[0].childNodes[0].nodeValue
从字典中取出对应消息标识的消息类型
msg_type = dict[msgId][‘info_type’]
if msg_type == ‘Recording’: # 撤回的消息为语音
recording_info = dict[msgId][‘info’] # 取出消息标识对应的消息内容
info_name = dict[msgId][‘name’] # 取出消息文件名
fromUser = dict[msgId][‘fromUser’] # 取出发送者
dt = dict[msgId][‘dt’] # 取出发送时间
recording_info(temp + ‘/’ + info_name) #