python实现文件助手中查看微信撤回消息

  

利用python实现防撤回,对方撤回的消息可在自己的微信文件传输助手中查看。

  

如果想变成可执行文件放在电脑中运行,可用pyinstaller将此程序打包成exe文件。

        pyinstaller文件名。py - f      

执行程序后,消息防撤回就启动了。

  

程序完整代码

        # - *编码:utf - 8 - *   进口操作系统   进口再保险   进口shutil   导入的时间   进口itchat   从itchat。内容导入*      #说明:可以撤回的有文本文字,语音、视频,图片,位置,名片,分享,附件      # {msg_id:(msg_from、msg_to msg_time, msg_time_rec, msg_type, msg_content, msg_share_url)}   msg_dict={}      #文件存储临时目录   rev_tmp_dir=r“G: \ python代码\微信\撤回到文件助手”   如果不是os.path.exists (rev_tmp_dir): os.mkdir (rev_tmp_dir)      #表情有一个问题|接受信息和接受注意的msg_id不一致巧合解决方案   face_bug=没有      #将接收到的消息存放在字典中,当接收到新消息时对字典中超时的消息进行清理|不接受不具有撤回功能的信息   #(文本、图片、地图、卡片、分享、记录、附件,视频,朋友们,请注意)   @itchat。msg_register([文本、图片、地图、卡片、分享、记录、附件、视频))   def handler_receive_msg(味精):   全球face_bug   #获取的是本地时间戳并格式化本地时间戳e: 2017-04-21 21:30:08   msg_time_rec= strftime (“% - % - % d % H: % m: % S”, time.localtime ())   #消息ID   msg_id=味精(“是否”)   #消息时间   msg_time=味精(“CreateTime”)   #消息发送人昵称|这里也可以使用RemarkName备注但是自己或者没有备注的人为没有   msg_from=(itchat.search_friends(用户名=味精[' FromUserName ']))(“昵称”)   #消息内容   msg_content=没有   #分享的链接   msg_share_url=没有   如果味精('类型']==\“文本”   或味精['类型']=='朋友的:   msg_content=味精(“文本”)   elif味精('类型']==\“记录”   或味精['类型']==\“附件”   或味精['类型']==\“视频”   或味精['类型']==罢掌?   msg_content=r " +味精(“文件名”)   #保存文件   味精(“文本”)(rev_tmp_dir +味精(“文件名”))   elif味精('类型']==翱ā?   msg_content=味精(“RecommendInfo”)(“昵称”)+ r“的名片”   elif味精('类型']==暗赝肌?   x, y,位置=re.search (   “& lt;位置x=\”(* & # 63;) \ " y=\”(* & # 63;) \”。*标签=\”(* & # 63;)\”。*”,味精[' OriContent '])。组(1、2、3)   如果位置没有:   msg_content=r“纬度→”+ x.__str__() +“经度→”+ y.__str__ ()   其他:   msg_content=r " +位置   elif味精('类型']==胺窒怼?   msg_content=味精(“文本”)   msg_share_url=味精(“Url”)   face_bug=msg_content   #更新字典   msg_dict.update (   {   msg_id: {   “msg_from”: msg_from,“msg_time”: msg_time,“msg_time_rec”: msg_time_rec,   “msg_type”:味精(“类型”),   “msg_content”:“msg_share_url”: msg_share_url msg_content   }   }   )      #收到注意通知类消息,判断是不是撤回并进行相应操作   @itchat.msg_register([注])   def send_msg_helper(味精):   全球face_bug   如果re.search (r \ & lt; \ ! \ [CDATA \[。*撤回了一条消息\]\]\祝辞”,味精(“内容”))不是没有:   #获取消息的id   old_msg_id=re.search (“\ & lt;是否\祝辞(* & # 63;)\ & lt; \/是否\祝辞”,味精(“内容”)).group (1)   old_msg=msg_dict。get (old_msg_id, {})   如果len (old_msg_id) & lt;11:   itchat。send_file (rev_tmp_dir + face_bug toUserName=癴ilehelper”)   操作系统。删除(rev_tmp_dir + face_bug)   其他:   msg_body="告诉你一个秘密~”+ \“\ n”   + old_msg.get (msg_from) +“撤回了“+ old_msg.get (“msg_type”) +“消息”+ \“\ n”   + old_msg.get (msg_time_rec) + \“\ n”   + "撤回了什么& # 8675;”+ \“\ n”   " + r + old_msg.get (“msg_content”)   #如果是分享存在链接   如果old_msg msg_type”==肮蚕怼?msg_body +=" \ n就是这个链接& # 10147;“+ old_msg.get (“msg_share_url”)      #将撤回消息发送到文件助手   itchat。发送(msg_body toUserName=癴ilehelper”)   #有文件的话也要将文件发送回去   如果old_msg“msg_type”==\“照片”   (“msg_type”)或old_msg==\“记录”   (“msg_type”)或old_msg==\“视频”   (“msg_type”)或old_msg==案郊?   文件=' @fil@ % s ' % (rev_tmp_dir + old_msg [' msg_content '])   itchat。发送(味精=文件,toUserName=癴ilehelper”)   操作系统。删除(rev_tmp_dir + old_msg [' msg_content '])   #删除字典旧消息   msg_dict.pop (old_msg_id)      if __name__==癬_main__”:   itchat.auto_login ()   itchat.get_QR   itchat.run ()

python实现文件助手中查看微信撤回消息