Python神级操作,还原已撤回的微信消息

Python神级操作,还原已撤回的微信消息项目环境语言:Python3编辑器:Pycharm导包效果展示以下截图显示的撤回消息类型依次是文字消息、微信自带表情、图片、语音、定位地图、名片、公众号文章、音乐、视频。有群里撤回的,也有个人号撤回的。图文来源:http://kks.me/aULmF图文来源:http://kks.me/aULmF程序思路主要由两部分组成:handler_receiv…

大家好,又见面了,我是你们的朋友全栈君。

项目环境

语言:Python3

编辑器:Pycharm

导包效果展示

以下截图显示的撤回消息类型依次是文字消息、微信自带表情、图片、语音、定位地图、名片、公众号文章、音乐、视频。有群里撤回的,也有个人号撤回的。

Python神级操作,还原已撤回的微信消息

图文来源:http://kks.me/aULmF

Python神级操作,还原已撤回的微信消息

图文来源:http://kks.me/aULmF

程序思路

Python神级操作,还原已撤回的微信消息

主要由两部分组成:

handler_receive_msg():处理接收到的消息,将消息临时放在字典中。

send_msg_helper():将撤回的消息自动发给文件传输助手。

程序分析

首先,我们定义一个字典来储存消息,定义消息储存的临时路径。

接收信息处理

先将我们需要处理的消息用 msg_register 装饰器进行注册,格式化本地时间,定义消息 ID 和消息时间。如果是群成员而且是自己微信好友撤回消息,则显示撤回消息的名称是你备注的名字,如果没有备注名字,则显示名称为微信昵称。

Python神级操作,还原已撤回的微信消息

获取你的所有群的消息,判断出撤回的消息来自哪个群,显示出群名称。

个人消息处理

如果为个人聊天信息,也是优先显示备注名称,没有备注名就显示昵称。

各类型消息处理

用判断语句对各种类型的消息进行处理,包括文字消息、微信自带的表情和收藏的表情、图片、语音、位置、名片、分享、附件、视频。多条件时这里用了 in 的用法,还记得之前讲Python 优雅的写法文章里把用 or 连接条件改成用 in,代码更简洁,这样我们通过项目不断的巩固之前学到的知识点,这样才能不断进步。

Python神级操作,还原已撤回的微信消息

更新信息字典

Python神级操作,还原已撤回的微信消息

处理撤回消息

先判断是否是撤回消息,将撤回消息发送到你的文件传输助手里,把上面函数储存的消息的发送人、发送类型、发送时间、撤回的内容发出来。以下是部分代码。

Python神级操作,还原已撤回的微信消息

主函数

如果你电脑中有安装 Python 环境,在编辑器中直接运行源码或者在 cmd 中运行 py 文件即可。源码获取方式在文末给出。有需要的话以后可以做成界面化工具,挂在服务器上,支持做成界面化工具的点个赞看看,我看看需求量,哈哈。

写在最后

今天的分享就到这里了,需要优化的地方:撤回的视频只支持查看微信自带拍的视频,非微信自带拍的视频打开无法查看。长时间运行时会报 ConnectionError 提示的错误,但是不影响发送撤回消息的功能,后期加个异常捕捉机制优化下。

赶紧动手试试吧,把你朋友撤回的消息发给 TA 看看,看看他是什么反应,有趣的撤回消息发到朋友圈去提高逼格,奈斯!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148521.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件项目管理案例教程 第4版 课后习题答案

    软件项目管理案例教程 第4版 课后习题答案软件项目管理案例教程第4版课后习题答案第一章一、填空题1.敏捷模型包括(4)个核心价值,对应(12)个敏捷原则。2.项目管理包括(启动过程组)、(计划过程组)、(执行过程组)、(控制过程组)、(收尾过程组)5个过程组。二、判断题1、搬家属于项目。(√)2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。(×)3、过程管理就是对过程进行管理,目的是要让过…

    2022年6月5日
    41
  • 电商网站测试总结_跨境电商课程总结心得

    电商网站测试总结_跨境电商课程总结心得此文章转载来自http://www.51testing.com/html/21/n-863621.html,感谢分享!!总体按照两种模式进行划分总结:1.按照测试类型  2.按照电子商务网站的系统架构  1.按照测试类型来划分  1.兼容性  1.1主要是在浏览器兼容(360浏览器IE6IE8浏览器)  12.操作系统,主要体现在操作系统兼容(xpwin2003win2007)  2.U…

    2022年10月1日
    1
  • ERROR [com.alibaba.druid.pool.DruidDataSource] – init datasource error url: jdbc:mysql://xxx 解决方法

    ERROR [com.alibaba.druid.pool.DruidDataSource] – init datasource error url: jdbc:mysql://xxx 解决方法拿了一个旧项目,运行一下。控制台报错,具体错误信息如下:2018-04-0316:39:23,391ERROR[com.alibaba.druid.pool.DruidDataSource]-initdatasourceerror,url:jdbc:mysql://192.168.1.143:3306/public_platform?useUnicode=true&amp…

    2022年7月23日
    5
  • MMC卡的详细介绍

    MMC卡的详细介绍1.了解MMC卡MMC卡是有由美国SANDISK公司和德国西门子公司在1997年共同开发研制的一种多功能存储卡。MMC卡采用7针的接口,主要应用于数码相机、手机和一些PDA产品上,价格相对较贵。MMC卡在一定程度上改善了CF卡读写速度较慢的缺点,并且体积轻巧,尺寸为32mm×24mm×1.4mm,重量不足2克。其抗冲击性强,可反复读写30万次。MMC卡4.0标准提供了更宽的数据

    2022年6月6日
    179
  • java贪吃蛇小游戏(详解)[通俗易懂]

    java贪吃蛇小游戏(详解)[通俗易懂]目录1.实现效果:​​2.游戏玩法3.需求分析4.代码实现1.实现效果:2.游戏玩法该游戏用上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴,等到了一定的分数,就能过关,然后继续玩下一关。这次我们以一关的实现为例,关卡控制交给读者自行添加。3.需求分析…

    2022年6月29日
    24
  • Java 二维数组反转「建议收藏」

    Java 二维数组反转「建议收藏」通过交换下标实现反转操作:publicclassTestFile{ publicstaticvoidmain(String[]args){ int[][]arr={{1,2,3},{4,5,6},{7,8,9}}; int[][]toarr=newint[3][3]; System.out.println("反转前"); intk=…

    2022年6月11日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号