有时候,女神发来一条消息,说约你看电影,她考虑了一下,又撤回了,不约你了...而你又想知道她究竟发了什么,该怎么办?微信防撤回了解一下。

环境要求

Python3

安装itchat

pip install itchat

使用代码

新建chehui.py,拷贝以下代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-__author__ = 'jiangwenwen'import itchat
from itchat.content import *
import time
import re
import osprint("该程序由里客云资源站开发,网址:likeyunba.com")
print("作者:TANKING")
print("打开程序会弹出一个二维码,微信扫码")
print("如果二维码弹不出,那就在你这个程序的同一个目录下找到QR.png双击打开扫码")
print("扫码后,出现Start auto replying就可以实时监控消息了...")msg_information = {}
# 针对表情包的内容
face_bug = None@itchat.msg_register([TEXT, PICTURE, FRIENDS, CARD, MAP, SHARING, RECORDING, ATTACHMENT, VIDEO], isFriendChat=True, isMpChat=True)
def handle_receive_msg(msg):global face_bug# 接收消息的时间msg_time_rec = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())# 在好友列表列表中查询发送信息的好友昵称msg_from = itchat.search_friends(userName=msg['FromUserName'])['NickName']# 信息发送的时间msg_time = msg['CreateTime']# 每条信息的IDmsg_id = msg['MsgId']# 储存信息的内容msg_content = None# 储存分享的连接,比如分享的文章和音乐msg_share_url = None# 如果发送的消息是文本或者好友推荐if msg['Type'] == 'Text' or msg['Type'] == 'Friends':msg_content = msg['Text']print(msg_content)# 如果发送的消息是附件,视频,图片,语音elif msg['Type'] == 'Attachment' or msg['Type'] == 'Video' \or msg['Type'] == 'Picture'\or msg['Type'] == 'Recording':# 内容为下载文件名msg_content = msg['FileName']msg['Text'](str(msg_content))# 如果消息是推荐的名片elif msg['Type'] == 'Card':# 内容是推荐人的昵称和性别msg_content = msg['RecommendInfo']['NickName'] + '的名片'if msg['RecommendInfo']['Sex'] == 1:msg_content += '性别为男'else:msg_content += '性别为女'print(msg_content)# 如果消息为分享的位置信息elif msg['Type'] == 'Map':x, y, location = re.search("<location x=\"(.*?)\" y=\"(.*?)\".*label=\"(.*?)\".*", msg['OriContent']).group(1, 2, 3)if location is None:# 内容为详细地址msg_content = r'纬度->' + x.__str__() + "经度->" + y.__str__()else:msg_content = r"" + location# 如果消息是分享的音乐或者文章,详细的内容为文章的标题或者分享的名字elif msg['Type'] == 'Sharing':msg_content = msg['Text']msg_share_url = msg['Url']print(msg_share_url)face_bug = msg_content# 将信息存储在字典中,每一个msg_id对应一条消息msg_information.update({msg_id: {"msg_from": msg_from, "msg_time": msg_time, "msg_time_rec": msg_time_rec,"msg_type": msg['Type'],"msg_content": msg_content, "msg_share_url": msg_share_url}}
)#这个是用于监听是否有friend消息撤回
@itchat.msg_register(NOTE, isFriendChat=True, isGroupChat=True, isMpChat=True)
def information(msg):# 这里如果这里的msg['Content']中包含消息撤回和id,就执行下面的语句if '撤回了一条消息' in msg['Content']:old_msg_id = re.search("\<msgid\>(.*?)\<\/msgid\>", msg['Content']).group(1)# 得到消息old_msg = msg_information.get(old_msg_id)print(old_msg)# 如果发送的是表情if len(old_msg_id)<11:itchat.send_file(face_bug, toUserName='filehelper')# 发送撤回的提示给文件助手else:msg_body = "【"\+ old_msg.get('msg_from') + "撤回了】\n"\+ old_msg.get("msg_type") + "消息:" + "\n"\+ old_msg.get("msg_time_rec") + "\n"\+ r"" + old_msg.get("msg_content")# 如果分享的文件被撤回了,那么就将分享的url加在msg_body中发送给文件助手if old_msg['msg_type'] == "Sharing":msg_body += "\n就是这个链接>" + old_msg.get('msg_share_url')# 将撤回消息发送到文件助手itchat.send_msg(msg_body, toUserName="filehelper")# 有文件的话也要将文件发送回去if old_msg["msg_type"] == "Picture"\or old_msg["msg_type"] == "Recording"\or old_msg["msg_type"] == "Video"\or old_msg["msg_type"] == "Attachment":file = "@fil@%s" % (old_msg['msg_content'])itchat.send(msg=file, toUserName='filehelper')os.remove(old_msg['msg_content'])# 删除字典旧信息msg_information.pop(old_msg_id)itchat.auto_login(hotReload=True)
itchat.run()

CMD运行即可。

考虑到有一些人没有Python环境,我已经打包成可执行文件了,直接双击exe就可以在电脑运行。

Python微信防撤回,基于itchat模块相关推荐

  1. Python清理微信僵尸粉,基于itchat模块

    原理 通过Pyhton调用itchat模块登录网页版微信,给你所有好友发送特殊符号,对方收不到这个特殊符号,只要有人删了你,你的微信就会显示被删的人. 所需环境 Python3 itchat模块 安装 ...

  2. python微信登录模块_Python清理微信僵尸粉,基于itchat模块

    原理 通过Pyhton调用itchat模块登录网页版微信,给你所有好友发送特殊符号,对方收不到这个特殊符号,只要有人删了你,你的微信就会显示被删的人. 所需环境 Python3 itchat模块 安装 ...

  3. python 基于itchat详解微信防撤回程序

    itchat学习笔记请见另一文章 文章目录 0. 选题背景 1. 发现问题 2. 提炼问题 3. 解决方案 4. 分析设计 4.0 准备 问题4.1 : 如何用程序登录自己的微信账号? 问题4.2 : ...

  4. python清理微信好友_Python实现清理微信僵尸粉功能示例【基于itchat模块】

    本文实例讲述了Python实现清理微信僵尸粉功能.分享给大家供大家参考,具体如下: 原理 通过Pyhton调用itchat模块登录网页版微信,给你所有好友发送特殊符号,对方收不到这个特殊符号,只要有人 ...

  5. 微信防撤回python代码_python实现微信防撤回神器

    本文实例为大家分享了python实现微信防撤回神器的具体代码,供大家参考,具体内容如下 手写辛苦,希望给赞 #!/usr/local/bin/python3 # coding=utf-8 import ...

  6. 关于微信防撤回(文本、图片、语音、视频、名片等...)的Python学习教程

    大家在使用微信过程中,有时候消息还没看到,就被撤回了.毕竟好奇心大家都有,明知到消息被撤回了,就更想去看一下是什么内容. 心里想着万一是女神给我表白了呢- 今天的Python学习教程就教大家用Pyth ...

  7. 用Python写微信防撤回脚本,锁定那些被撤回的消息,就是撤回了也可以看到

    如果好友短时间发送多条消息然后撤回会难以判断究竟撤回的是哪条信息,只能靠猜.后来我觉得"猜"这个事情特别不Pythonic,研究一段时间后找到了解决方案,不得不惊叹ItChat真的 ...

  8. 信息时代——微信防撤回(Python实现)

    目录 1 前言 2 有微信联想起的哲思 2.1 哲学思维开始冒头 2.2 哲学期 2.3 科学时代 2.4 后科学时代 3 微信防撤回完整代码奉上 1 前言 她总是微信撤回,我得想一个法子治治她,哈哈 ...

  9. python接收微信消息_【Python写微信防撤回脚本】02 接收记录聊天信息

    上一期我们安装好了ItChat,并且学会用它登录微信.想知道它还能做什么?往下滑吧~ 接收好友信息 利用ItChat登录微信之后,我们就可以自动记录好友发来的信息. 话不多说,直接上代码: impor ...

  10. python微信库wxpy_python wxpy微信防撤回功能

    python使用wxpy轻松实现微信防撤回的方法 最近比较闲就随便瞎看,看到了微信防撤回就顺便跟着学着实现一下 使用的是wxpy,安装方法pip install wxpy(我使用的是python2.7 ...

最新文章

  1. 性能评估指标(Precision, Recall, Accuracy, F1-measure)
  2. Java 客户端界面功能:停止当前操作
  3. bs4 CSS选择器
  4. inline内联的用法与作用
  5. java数组图片_在JAVA中定义图片数组
  6. spark on yarn 完全分布式_「大数据」(七十一)Spark之架构介绍
  7. php学校成员,php访问成员变量和成员方法
  8. 谷歌发布自然问答数据集 Natural Questions
  9. NLP情感分析笔记(一):Baseline
  10. 如何建立大数据营销体系
  11. Mac 升级到 10.15 cocoapods使用不了
  12. c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2 .
  13. [改善Java代码]不要在构造函数中抛出异常
  14. html录音并调用讯飞语音接口,微信小程序前台调用讯飞语音识别接口
  15. iOS微信支付--解析失败
  16. CentOS无人值守安装
  17. 软件项目管理文档模板目录
  18. win 10 下matlab 7 运行不了,弹出警告,完美解决方案
  19. 随机森林实战(分类任务+特征重要性+回归任务)(含Python代码详解)
  20. 【微博运营】企业微博营销实战流程

热门文章

  1. Cisco2960交换机配置(二)
  2. SpringCloud(若依微服务版为例)集成WebSocket实现前后端的消息推送
  3. Python--小游戏二十四点
  4. DSPE-PEG10-Mal可以提供不同分子量的PEG衍生物
  5. python根据时间序列画折线图_时间序列模型的python实现
  6. Will you pity a beggar ? What do you think of them ?
  7. (二十九)树莓派3B+ 获取BH1750FVI光强度传感器数据
  8. 移动端开发兼容性处理整理
  9. 【NFC】手机手环模拟门禁卡
  10. 手机怎么模拟125k卡_NFC手机能模拟门禁卡吗?