如何用Python实现微信消息防撤回

微信(WeChat)是腾讯公司于2011年1月21日推出的一款社交软件,今天将带大家了解一下用Python实现微信防撤回,感兴趣的朋友可以了解一下。

一、背景介绍

产品的更新迭代必然会伴随着功能的推出和下线,今天我们要讲的便是微信在2014年推出的一个小小的新功能:撤回消息,使用此功能者提神醒脑、神清气爽,但被施用者却可能会抓耳挠腮、咬牙切齿的想知道你到底撤回了啥,这就是所谓的好奇害死猫(curiosity kills the cat),今天我们就来用python实现防微信消息撤回,满足一下大家的好奇心!相关教程:python视频教程

在这里插入图片描述

二、功能设计

我们希望当有好友或者群中有人撤回消息的时候,第一时间能把原消息、发送者信息转发到文件助手中(当然你也可以把消息发回给他,哈哈),这样方便我们查看。

给大家来演示一下实现的功能。
在这里插入图片描述

三、功能实现

1.微信撤回消息实现原理

我们先来了解一下微信撤回消息的原理:

立即学习“Python免费学习笔记(深入)”;

其实微信撤回消息原理就是操作者在点击撤回的时候,客户端会自动发一条系统消息:“xxx撤回了一条消息”,然后对方app端收到消息后解析,替换原消息,改个显示的样式即可

猪哥给大家演示一下正常消息和撤回消息的内容到底有什么区别:
正常消息:Content=’你好骚啊’,大家留意一下MsgId=’8784390488772995470′
在这里插入图片描述
撤回消息:Content是一串xml格式的内容
在这里插入图片描述
我们在下面把它格式化看看

      xxx    1090336364    8784390488772995470      

登录后复制

分析上面撤回的Content字段我们发现8784390488772995470的id与我们之前发送消息的id是一致的,而这个标签也验证了我的猜想,确实是用新消息替换原消息。

2.找到被撤回消息

根据抓取正常消息和撤回消息的内容我们发现规则:撤回消息中会包含之前被撤回的那条消息的msgid,那我们只要找到之前那条消息就可以了,而wxpy模块默认为我们缓存了最近的200条消息,所以我们只要遍历这些历史消息然后比较msgid就可以找到被撤回的那条消息啦!
在这里插入图片描述
如果你微信消息太过频繁,2分钟之内消息数量超过200,则可以将max_history设置大些。

3.转发被撤回消息

原理也搞懂了,被撤回的消息也找到了,就差最后一步转发消息了,如果你之前玩过wxpy肯定会了吧,只要一行代码就可以将消息转发:

msg.forward(bot.file_helper)

登录后复制

4.代码

原理和过程讲完了,代码贴出来给大家看看,注释还是比较详细,有不懂得话可以在学习群中问我。
在这里插入图片描述

四、功能验证

在这里插入图片描述

五、总结

微信消息防撤回功能实现简单,但实用性很好,目前项目的唯一缺点就是易用性差,简单说就是我们还没有将项目部署服务器,每次使用都得打开电脑然后运行还得一直开着,猪哥考虑后面将项目部署在云服务器上或者打包成apk,这样就使用起来就非常方便了,而且还可以把apk发给朋友,让朋友也体验此功能!

学会这招,再也不用好奇对方到底撤回了啥消息,快下载项目试试吧!下载项目后可直接运行不需要修改代码!

以上就是如何用Python实现微信消息防撤回的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2533055.html

(0)
上一篇 2025年3月5日 21:08:13
下一篇 2025年2月18日 03:15:33

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python的解释器是什么?

    python解释器是解释python脚本执行的程序,当开发者在编写python代码保存后,就会得到一个以“.py”为扩展名的文本文件,若要运行此文件,就需要python解释器去执行“.py”文件。 python解释器是解释python脚本执…

    2025年3月5日
    200
  • python是什么语言写的?

    python是C语言编写的。python是一种面向对象的动态类型语言,它的底层是用C语言写的,很多标准库和第三方库也都是用C语言写的;Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。…

    2025年3月5日
    200
  • python能做什么工作

    学习python能做的工作有:1、软件开发;2、数据挖掘;3、游戏开发;4、大数据分析;5、Python Web网站工程师;6、系统运维;7、Python自动化测试等等。 推荐:《python教程》 python是一门很好的编程语言,很多人…

    2025年3月5日
    200
  • Python开发环境是什么

    软件开发环境在欧洲又叫集成式项目支援环境(integrated project support environment,ipse)。 软件开发环境的主要组成成分是软件工具。人机界面是软件开发环境与用户之间的一个统一的交互式对话系统,它是软件…

    2025年3月5日 编程技术
    200
  • Python为什么这么火?

    python 诞生之初就被誉为最容易上手的编程语言。进入火热的 ai 人工智能时代后,它也逐渐取代 java,成为编程界的头牌语言。 另外Python 已经进入山东省小学教材,从小学生学起! 在编程语言中, Python 长期稳居前五,不仅…

    2025年3月5日
    200
  • python脚本是什么

    在学习python时,经常会听人提起python脚本。那么python脚本到底是什么?下面本篇文章就来带大家了解一下,希望对你们有所帮助。 Python是一种计算机程序设计语言,一种面向对象的动态类型语言,一种脚本语言。最初被设计用于编写自…

    2025年3月5日
    200
  • python可以用来干什么?

    python可以用来做Web开发、自动化运维、数据分析、游戏开发、自动化测试、机器学习、爬虫、嵌入式和桌面应用的开发等等。 python是一种计算机程序设计语言,又被称为胶水语言,可以用混合编译的方式使用c/c++/java等语言的库。现今…

    2025年3月5日
    200
  • python后端开发学习什么

    python后端开发学习的内容有:1、python语言基础;2、python语言高级;3、python全栈工程师前端;4、python全栈工程师后端;5、linux运维及自动化开发;6、python数据分析;7、python大数据;8、py…

    2025年3月5日
    200
  • python是什么

    python是一门计算机程序设计语言,它是一种面向对象的动态类型语言。python语言有着上手简单、易于学习、速度快、开源等优点,它的应用领域非常广,如web应用开发、自动化运维、网络爬虫、人工智能等。 随着互联网的高速发展,各种编程语言也…

    2025年3月5日
    200
  • django如何避免sql注入

    Django中避免sql注入的方法:1、对用户的输入进行校验;2、不要使用动态拼装sql;3、不要把机密信息直接存放;4、应用的异常信息应该给出尽可能少的提示;5、利用Dajngo的ORM来有效避免sql注入。 什么是SQL注入? 所谓SQ…

    2025年3月5日
    200

发表回复

登录后才能评论