Python练手项目之微信机器人、恢复被撤回的微信消息

Python练手项目之微信机器人、恢复被撤回的微信消息一个python练习项目。基于图灵机器人的微信自动回复工具,对接itchat恢复被撤回的消息。【程序功能】1、实现微信单聊/群聊自动回复。2、恢复被撤回的微信消息(通过手机助手发送到手机微信)【GitHub项目地址】]https://github.com/Liiking/WechatTool(含:源代码及打包好的Mac和Windows桌面应用程序)【下载体验地址】哆啦猫Mac版,…

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

一个python练习项目。基于图灵机器人微信自动回复工具,对接itchat恢复被撤回的消息。

【程序功能 】
1、实现微信单聊/群聊自动回复。
2、恢复被撤回的微信消息(通过手机助手发送到手机微信)

!!说明!!此程序模拟网页版微信登录,若 wx.qq.com 不能登录则无法使用。另:运行此程序会踢出网页版微信和电脑端微信。

【GitHub项目地址】]
GitHub – Liiking/Dolacat: 哆啦猫是一个python练习项目(PC Windows/Mac)。基于图灵机器人的微信自动回复工具,对接itchat恢复被撤回的消息。 (含:源代码及打包好的Mac和Windows桌面应用程序)

【下载体验地址】
哆啦猫Mac版哆啦猫Windows版。 (资源需要积分,也可以直接去GitHub上免费下载哦~)
如有任何问题或意见建议,欢迎与我联系。QQ:1695173542  (请备注:哆啦猫)

来几张效果图:

 Python练手项目之微信机器人、恢复被撤回的微信消息           Python练手项目之微信机器人、恢复被撤回的微信消息

【程序说明如下】
最近更新:2018-11-22

操作步骤:
双击运行,用手机微信扫描弹出的二维码,扫码成功你将拥有自己的哆啦猫。
运行后会打开两个窗口,扫码成功后可关闭二维码图片,另一个窗口需保留。

功能说明:
1.[哆啦猫] 是一个智能回复机器人。
2.[群聊关键字] 群聊中带有群聊关键字的消息自动回复。(默认关键字:哆啦猫,可通过[私聊自己]修改。详见操作指令)
3.[私聊自己] 即和自己对话。步骤:打开任意聊天页面 – 点击自己头像 – 发消息 即可[私聊自己]
4.私聊中自动回复的消息会带有【自动回复】字样。(默认关闭,可通过[私聊自己]开启或关闭。详见操作指令)
5.群聊中会艾特发出[群聊关键字]的用户自动回复。(默认开启,未提供关闭)
6.恢复私聊群聊的撤回消息(默认开启,撤回的消息通过手机助手发送到手机微信上。详见操作指令)

操作指令:
根据和自己私聊可以设置单聊的自动回复。具体指令如下:
1.  喵出来            –   开启私聊的自动回复
2.  喵退下            –   关闭私聊的自动回复
3.  查看              –   查看当前[群聊关键字]和屏蔽的私聊好友列表(不自动回复的好友昵称列表)
4.  屏蔽昵称           –   替换昵称为指定好友昵称(不是好友备注),将该好友加入屏蔽列表,不再自动回复
5.  回复昵称           –   替换昵称为指定好友昵称(不是好友备注),将该好友从屏蔽列表移除,自动回复
6.  开启下载           –   开启非文本消息自动下载(默认开启)
7.  关闭下载           –   关闭非文本消息自动下载(默认开启),关闭后将无法恢复撤回的非文本消息
8.  群聊关键字关键字      –   将修改群聊关键字为指定关键字,如:群聊关键字喵  将群聊关键字改成 “喵”
9.  帮助              –   查看已有指令

备注:
会在当前用户目录下生成 DolaCat(哆啦猫)目录。存放各种群聊私聊的非文本内容,可通过操作指令关闭自动下载。

对代码及程序实现原理不感兴趣的请忽略以下部分,直接去?GitHub?下载体验吧。

———————————(分割线)—————————————

【写在前面】 
1、假设你已经安装好了Python3环境(网上安装教程一大把) 
2、本项目基于微信的 itchat 模块,使python可以方便的调用微信 
3、自动回复内容基于 图灵机器人 对收到的消息进行语义分析给出回复,当然你也可以对接其他智能机器人 
4、本项目仅供技术交流! 
5、本项目仅供技术交流! 
6、本项目仅供技术交流!

—————————–下面开始技术交流———————————–

【起源】 
某天,博主一个技术群里有人吐槽微信撤回功能,一不留神一堆的撤回简直能让人气到跺脚。博主正好最近在看Python,难道还有Python解决不了的事情吗,不存在的!(虽然Python很强大,但是今天就不说Python是世界上最好的语言了,毕竟Java才是世界上最好的语言✌️)于是博主被揽下了这个活。

【过程】 
1、自动回复很简单,直接对接图灵机器人,用itchat提供的发送微信消息的接口分分钟搞定。 
2、恢复撤回消息比较麻烦一点,思路是:注册监听收到的消息,存入本地数据库(本项目用的SQLite),非文本消息直接下载文件到指定目录,数据库中保存对应文件名,当收到撤回消息(消息类型是NOTE,MsgType是10002),从消息中解析出被撤回的原始消息的id(用到BeautifulSoup和lxml),从数据库中查找出原始消息,如果是非文本消息,根据文件名找到对应文件,通过文件助手发送到手机端微信。

【GitHub项目地址】
GitHub – Liiking/Dolacat: 哆啦猫是一个python练习项目(PC Windows/Mac)。基于图灵机器人的微信自动回复工具,对接itchat恢复被撤回的消息。 (含:源代码及打包好的Mac和Windows桌面应用程序) 
如有任何问题或意见建议,欢迎与我联系。QQ:1695173542  (请备注:哆啦猫)

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

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

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


相关推荐

  • 前端异步(async)解决方案(所有方案)[通俗易懂]

    前端异步(async)解决方案(所有方案)[通俗易懂]javascript是一门单线程语言,即一次只能完成一个任务,若有多个任务要执行,则必须排队按照队列来执行(前一个任务完成,再执行下一个任务)。这种模式执行简单,但随着日后的需求,事务,请求增多,这种单线程模式执行效率必定低下。只要有一个任务执行消耗了很长时间,在这个时间里后面的任务无法执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导…

    2022年7月27日
    7
  • C++ byte数组/char数组 截取部分字节

    C++ byte数组/char数组 截取部分字节VS-C++系列:所有相关C++文章链接.VS-C#系列:所有相关C#文章链接.bat系列:所有相关bat文章链接.Keil系列:所有相关文章链接所有内容均以最小系统调试成功;逐步提供低分源码工程下载!保证每行代码都经过验证!如有疑惑,欢迎留言,看见即回;祝好__byDxg_LC序言:1、以上链接为方便整理查看资料用;伴随博文发布更新,如果有不正确处,感谢指正2、因本人能力有限若有不正确之处或者相关超链接失效,请于相关文章内提醒@博主;灰常感谢3、友情提醒1,勿要《一支烟

    2022年5月22日
    124
  • python流程控制

    流程控制概念什么是流程控制?关于声明式编程语言和函数式编程语言详解以上是官方的解释,我们列举一个现实中的实例来具体说明一下Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性。

    2022年3月29日
    53
  • Android Studio入门教程(新手必看)[通俗易懂]

    Android Studio入门教程(新手必看)[通俗易懂]上篇文章已经说过了AndroidStudio的安装配置,从这里开始我们就来完成第一个Android项目吧!如何安装配置还不太熟悉的可以参考这篇文章:AndroidStudio安装配置详细步骤(超详细) 让我们开始第一个Android项目吧1.建立项目选一个EmptyActivity,然后Next默认即可,点击FinishName:文件名Savelocation:文件的保存位置Language:默认Java,会用Kotlin的也可以更改APIlevel:默认即可,级别低运行

    2022年5月1日
    149
  • 基于单片机的电子时钟设计(keil+protues仿真,含代码及原理图)

    基于单片机的电子时钟设计(keil+protues仿真,含代码及原理图)  本学期单片机课程要求做课程设计,我选取的课题如下:基于单片机的电子时钟设计,要求:(1)实时显示当前时间;(2)能够对时间进行设置;(3)包括年月日,小时,分钟,秒.(4)整点提醒功能.经过一周的时间已实现上述功能,故在此分享一下;所选用器材单片机最小系统(这就不用细说了吧,这里我选用AT89C51),排阻,四个按钮开关,8位共阴数码管,蜂鸣器;prot……

    2022年6月28日
    30
  • SQL中NVL函数

    SQL中NVL函数空值判断函数1、NVL(表达式A,表达式B)如果表达式A为空值,NVL返回值为表达式B的值,否则返回表达式A的值。该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、

    2022年7月4日
    27

发表回复

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

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