声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造成损失,和本博客无关
- 首先你的微信号能够登录网页版微信,才能打造你的专属个人微信号机器人,点击跳转网页版微信登录页面
- 类似的文章网上也都有,其实我也是受到别的文章的一些启发,因为不是每个人都想实现同样的功能的,直接套用别人的代码不严谨而且bug太多,于是就想自己动手从零开始实现一个属于自己的微信机器人,不过呢,也大同小异吧。
- 算下来前前后后加上写这篇博客花了大概一周的时间,因为都是用零零散散的时间进行开发以及测试然后修改bug再加功能再开发,这么一个循环,从一开始的只能回复消息、到现在能够:回复特定群聊消息、特殊群聊特殊处理、回复表情包、查看所有别人撤回的消息以及操控微信机器人等等等等。
好的,废话不多说,接下来就开始吧。
一、准备
- (重中之重,后面会解释)
- (直接用命令安装即可)
- (随意,用你最喜欢的编译器即可,不过最后还是要把代码放在一个py文件里)
- 实现一个聊天机器人(限于本人没学过自然语言处理,并且空闲时间也不多,其实就是因为太难了。。那就只能先调用别人的接口啦)
二、开始
ps:详情请看代码注释,若不想分函数来看也可以直接看完整代码
- 定义获取好友的昵称和好友的备注函数
- 定义群聊信息的函数
ps:这个获取群聊信息的函数只能读取到你保存到通讯录中的群聊,那些没有保存到通讯录中的是显示不出来的,不过不影响获取群聊信息,它只是没有显示而已,后面添加特定群聊就算是没有保存通讯录的都是可以添加的,一样可以回复特定群聊。
- 定义获取聊天机器人返回信息的函数点击跳转在线聊天机器人
- 定义获取聊天机器人词穷时要回复消息的函数
- 定义注册消息函数(重头戏)
- 定义监控撤回消息的函数(别人撤回的消息都会发到文件传输助手中)
- 到这里已经定义好了全部所需要的函数了,接下来就是文件的创建和表情包的收集,目前表情包是手动发表情让程序自动保存下来,其实可以定义一个添加表情的函数的,这个我后面会做出来,所以先这样吧,收集自定义表情包的函数如下:
ps:这个函数要另外单独运行(亲测商城里的表情包是保存不了的)
三、完整代码
四、思维导图(逻辑结构)
五、部署到云服务器
前面我有说过就是一定要版本的原因就在这里(也不是非要3.7版本,不过我敢肯定的是3.4版本是一定不行。)因为我本机上的就是3.7,可是服务器上的系统自带的是,然后如果你直接用3.4版本来运行,是可以运行的,只是返回来的是乱序的,每一次登录它都不一样,这样为什么不行呢,因为代码里面用了正则匹配,每次返回来的信息顺序都不一样的话,是没办法确定正则表达式的。这个坑坑了我一天好像,因为当时我就差这一步就完成了!想到会不会是、版本的原因啊,然后这些又都是标准库,那么会不会是版本原因造成的呢,于是乎,结果真的是这么回事!!说到云服务器,我之前的文章就有介绍过了,我用的是三丰云服务器,土豪请无视。
- 一样首先要在系统下先将自定义的表情包给上传了,这里推荐一个命令: ,若还没有安装的,可以在终端运行如下代码,成功之后,进去想要上传的文件夹路径输入命令,会弹出选择文件的框,这时就可以把表情包全部上传了。
更新如下:
-
2020-1-7
到目前为止,我的个人微信号机器人已经在云服务器上运行了一周的时间,从未掉过线。网上很多说手机端要保持在线,我不这么认为,我晚上睡觉前手机都是开飞行模式的,早上起来也没有掉线。结论:没有心跳机制,所以放心挂在服务器上就行。 -
2020-1-31
到目前为止,已经正常连续运行了一个月整,总结:没有心跳机制
六、运行展示
参考链接
https://www.php.cn/xiaochengxu-364486.html
https://itchat.readthedocs.io/zh/latest/
https://blog.csdn.net/enweitech/article/details/79585043