分享好友 最新动态首页 最新动态分类 切换频道
itchat实现微信聊天机器人,定时发送微信消息,消息防撤回,消息监控,自定义回复消息
2024-12-26 04:24

一、前言

itchat实现微信聊天机器人,定时发送微信消息,消息防撤回,消息监控,自定义回复消息

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

注意

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

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

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

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

itchat的仓库地址:https://github.com/littlecodersh/ItChat

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

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

。。。。。

下载地址:https://www.python.org/downloads/windows/(官网地址)下载最新版本3.7.3

点击download windows x86-64 executable installer下载windows64位exe可执行性文件

详细 下载安装步骤参考:https://blog.csdn.net/mingzhuo_126/article/details/81239156

下载完后,键盘按下win,输入python,可以看到Python3.7和IDLE Python

打开cmd或者Python3.7

 

查看下载成功与否

 

如果没有报错信息说明你已经将实验环境安装完成。

通过一个简单的例子来让读者体会下通过itchat编写一个微信机器人有多简单,代码功能
扫码登录后给文件助手发送一条信息,监听接收到的文件信息,打印出来,具体代码如下。

注意:接下来的代码均在Python3.7客户端运行

 

代码执行结果

先会弹出一个二维码图片,扫描后会登陆网页端微信,间隔一会儿后文件助手收到相关的信息

文件助手你好哦

然后用另一个账号发送一条信息给这个账号,控制台会把接收到的信息打印出来

 

通过上面8行有效代码就实现了一个简单的技巧人,酷不酷,带着这样的思路,我们可以进行扩展,比如添加一个自动回复的功能,比如在忙的时候,别人给你发信息,自动回复:”在忙,晚点给你回复信息”等。

在微信网页端改版后,创建群聊、拉人进群和删除群聊这几个接口都用不了,现在利用itchat能做的有:查找群聊,往群聊发送信息,以及监控群聊信息,使用代码示例如下

 

代码执行结果如下

 

另外,群聊除了通过群名搜索外还可以通过username来查找,或者两者搭配使用
在msg里有一个isAt字段,可用于判断是否被人@了

使用方式和群聊的非常类似,搜索公众号方法search_mps,监听公众号信息添加isMpChat=True元素,使用代码示例如下

 

代码执行结果如下

 
 

定时发送信息这个操作在日常生活中非常实用,比如给别人发生日或者节日祝福,晚上12点准时发,如果有早睡习惯的要熬到12点就很难受了,我们可以利用itchat编写一个简单的定时发送信息脚本。这里我们用到一个apscheduler定时调度任务模块,在命令行键入pip install apscheduler即可完成安装。这里并不会详细讲解,有兴趣的可移步到官方文档自行查阅:http://apscheduler.readthedocs.io/en/latest/userguide.html

 

这个可以用来撩妹最不错了,每天定时的早安晚安,绝对一秒都不会落

图灵机器人官网:http://www.tuling123.com/member/robot/index.jhtml

注册一个账号后,点击创建机器人,由于最近刚刚整改,必须经过实名认证才可以调用

在调用前可以在postman里面测试一下图灵机器人的魔力。测试可以参考官方文档

https://www.kancloud.cn/turing/www-tuling123-com/718227

注册一个账号后,点击创建机器人,会弹出如图所示的面板,按需配置下即可。

这里记下apikey调用接口用的秘钥。

具体代码实现如下

 
 

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

 

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

 

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

 

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

 

代码执行结果如下

 
 

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

 
 

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

 

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

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

 
 

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

 

感谢

https://blog.csdn.net/fxbin123/article/details/80428216

https://www.kancloud.cn/turing/www-tuling123-com/718227

https://www.cnblogs.com/sunshine-long/p/8522175.html

https://www.shiyanlou.com/courses/684/labs/2237/document/#%E4%B8%80%E3%80%81%E8%AF%BE%E7%A8%8B%E4%BB%8B%E7%BB%8D

https://github.com/littlecodersh/ItChat

https://blog.csdn.net/coder_pig/article/details/81357810#commentsedit

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

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

 

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

------

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

# 本文章已同步至苍何的个人博客,可以直接在博客上留言哦😊

最新文章
30分钟一部动画短片!从MMD入门3D世界,边玩边学的3D教程!(一)“MMD快速入门教程CSDN”
这篇教程,玩的成分一定会大于学的成分,但是学到的知识却会远远大于玩你所想象! 从MMD入门3D世界吧! ★适用年龄:10years以上(肯定能看得懂啦) ★电脑要求:普通电脑即可,软
EDM营销平台如何通过邮箱追踪提升效果?
EDM邮件营销平台如ZohoCampaigns,通过邮件设计、受众细分、自动化工作流及跟踪统计等功能,显著提升营销效果。案例显示,使用ZohoCampaigns后邮件打开率与点击率大幅提升,销售额稳步增长。一、EDM邮件营销的重要性1.1 直达目标客户电子邮
2022原神雷系角色强度排行最新 雷元素角色排名
  原神中当前可以操控的角色共有六种元素,其中雷元素虽然反应伤害一直让人诟病,但是也有一些很强的雷元素角色,那么雷元素角色有哪些比较强呢?下面我就给大家带来原神的雷元素角色强度排行。  原神雷属性角色强度排名  4、北斗  
AI影像技术:建设方案、医保纳入、医院收费与建设模块详解
在当今科技飞速发展的时代,人工智能()技术已经深入到医疗领域的各个角落,其是影像技术在医疗诊断中的应用,为医生提供了更加精准、高效的诊断手。怎样合理建设影像技术、将其纳入医保体系、制定医院收费标准以及构建完善的建设模块成为
1、DARPA与美大学、公司合作:投15亿美元重塑芯片业
“未来思维”是企业持续发展的基本条件  先有产品还是先有新闻稿?  在绝大多数人看来,这个问题的标准答案是再明显不过的:当然是先有产品!在通常情况下, 新闻稿作为产品的官方诠释和宣传材料,必然是在产品开发完成、交付上市之后才
AI时代,如何选择一台超强生产力的移动工作站?
2023年chatGPT风靡全球,流畅的自然语言对话让AI对每个人来说都触手可及。而2024年开年至今不到两个月,OpenAI的sora所生成的视频全网刷屏,再次引爆了人们对于人工智能的想象。身处AI时代,毫无疑问下一个十年都将围绕着人工智能展开,人
DeepMNE:用于lncRNA疾病关联预测的深度多网络嵌入
长非编码RNA(lncRNA)参与多种生物学过程,因此其突变和疾病在多种人类疾病的发病机制中起着重要作用。识别与疾病相关的lncRNAs对于疾病的诊断、预防和治疗至关重要。尽管已经开发了大量计算方法,但有效整合多组
2024最好用的浏览器排行榜
2024最好用的浏览器排行榜在数字时代,网络浏览器是我们通往广阔的互联网世界的门户。它们是我们用来获取信息、与他人联系、购物、工作和娱乐的工具。但并非所有浏览器都是一样的。有些速度快、功能强大、功能齐全,而另一些则优先考虑隐私
DNF手游一键连招设置教程 打造最强战斗技能 畅享无双战斗
t2627_2_2627_1:3.0t1-t0:32.0t2-t1:5.0t3-t2:0.0t4-t3:2.0t5-t4:12.0t6-t5:12.0t7-t6:2.0t8-t7:0.0t9-t8:9.0t10-t9:0.0t11-t10:61.0t12-t11:0.0t13-t12:0.0t14-t13:0.0t15-t14:0.0t16-t15:0.0t17-t16:0.0t18-t17:30.0t19-t18:3.0t20-t19:0
ai怎么生成jpg、条形码及PPT,一网打尽多格式生成技巧
在人工智能技术飞速发展的今天已经可以帮助咱们生成多种格式的文件包含JPG图片、条形码以及PPT演示文稿。本文将详细介绍怎样利用生成这些文件以及相关的格式转换技巧。JPG(Joint Photographic Experts Group)是一种广泛采用的图像文件格
相关文章
推荐文章
发表评论
0评