微信好友发了消息又撤回了,我要不要问一下?

由于在抖音上刷到微信机器人自动陪聊,心血来潮,自己利用itchat和图灵机器人实现了微信自动回复,监听消息,消息防撤回等。周末心情不好搞了一个微信陪聊机器人陪我聊天。

1、图灵机器人更新,对于新注册的号未认证每个号仅有2次请求,请注册后尽快完成身份认证。

2、用到了python的部分知识(不会也无关紧要),会安装即可。

3、有很多人想用自己的微信小号进行玩耍,但不幸的是,微信官方已经禁止这种行为,其实自动回复机器人本质是基于微信网页版原理实现的,也就是说很多微信小号,连微信网页版都被限制了不能登录,那么这个机器人是不会成功的。所以,首先确保微信能登上网页版。

4、关于安全问题,由于itchat是别人开发的开源库,有没有安全风险暂时不得而知。在开始测试前请确保你已知悉相应的风险。

itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单

使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人。

三、Python下载与安装

下载地址:(官网地址)下载最新版本/openapi/api'

先是监控信息,信息又分为好友聊天和群聊,我们编写代码来监控下收到的数据是怎么样的?

给机器人发送一条信息,还有往群聊里发送一条信息,查看打印的信息内容,先是好友信息

分析下要采集的数据,MsgId(微信信息的标识,用来作为键),NickName(发送者的用户名),Content(信息内容),CreateTime(创建时间), Type(信息类型)。接着是群聊信息:

同样分析下要采集的数据,MsgId(微信信息的标识),ActualNickName(发送者群名称),Content(信息内容),CreateTime(创建时间), Type(信息类型)。改下我们的程序,把这些都提取打印出来。

十、验证不同信息类型和对应处理方式

嗯,信息提取成功,接下来要验证的是不同的信息类型和对应的处理方式,文字,图片(表情),音频,视频,文件五种,后面四种都需要下载到本地,itchat中提供了一个下载文件的方法msg,调用这个方法即可完成文件下载,修改后的代码如下:

十一、监控撤回信息和数据提取

接着到撤回信息的监控,撤回的信息类型是NOTE,我们监听下看看,看看撤回的信息具体内容。

首先是判断系统信息是默认撤回了一条信息,内容是:

显示判断是否是撤回的信息,从上面可以看到这样的串字符串:<![CDATA["CoderPig" 撤回了一条消息]]>,我们只需要写个正则判断是否有这样的内容,有说明是撤回的信息提醒,接着找撤回的信息MsgId,在上面这串信息的前面就是了:4625499,同样用正则提取。接着要做的就是拿着MsgId去查存消息的字典,根据信息类型拼接文字或文字加文件,然后发送给文件传输助手。具体代码如下:!

另外,我们的信息都是用一个字典存着的,时间长了的话,数据会很多,而且图片文件这些会越攒越多,我们可以添加一个定时任务,比如每隔五分钟清理一下创建时长超过2分钟的信息和对应的文件。相关代码如下:


 
 

十三、部署到云服务器实现24小时在线陪聊

以上都是在本地进行测试,电脑不可能24小时开着,浪费电浪费钱。故讲本脚本上云。即上云服务器。
我购买的是百度云服务器,采用新注册的账号,有折扣活动,三个月五十几,配置1核1G,已经完全够用,系统是CentOs7,里面自带的python版本是2.7(如非特殊需要,可以暂时不用下载最新版的python,我就是因为想下载最新版本的python,结果搞来搞去,把服务器搞坏了,打电话给了百度云客服,工程师很快给我解决了,我重新安装了下系统后决定用系统自带的python版本,几步轻松搞定)。

2、服务器默认是没有安装pip的,所以先要安装pip

接下来就可以随便pip安装东西了
按照上面的步骤安装itchat,登录的时候,可以添加enableCmdQR=True参数,让二维码显示到命令行上,另外部分系统可能字符宽度有出入,可以通过把enableCmdQR赋值为特定的倍数进行调整(我设置的是2)。

3、讲脚本保存为.py文件
下载资源:评论留“我要资源” ,即可,我会发给你
PS:资源理论上是可以直接运行的,如果有不能运行的情况欢迎咨询我。


# 本文章已同步至我的GitHub仓库:,期待您的加入?

# 本文章已同步至,可以直接在博客上留言哦?

我要回帖

更多关于 微信 的文章

 

随机推荐