微信群机器人是怎么实现的?
微信机器人的实现思路有好几种,github上也有相当多的开源微信机器人代码。我先讲一下思路,然后介绍几个开源的微信机器人,再讲几个目前可以免费使用的微信机器人。机器人。
很多实现的思路其实就是自动化测试方面的UI自动化(话说我每次做自动化测试内训的时候,都要痛心疾首的跟学员讲:自动化测试技术最让人痛心的地方就是将它用在正道上了):
1、网页自动化技术基本是通过网页版微信(https://wx.qq.com)的自动化来实现的。原理是,每次有新消息时,微信都会显示一个小红点或一个圆框,并附有消息文本。这实际上是一个HTML 元素。你可以通过不断的遍历来监控这个元素的出现,因为左边的群聊或者聊天窗口也是一个HTML元素。你可以在这个聊天窗口上模拟鼠标点击,然后通过UI自动遍历(HTML
DOM)文本。要回复消息,您还可以模拟键盘输入文本。
一般是通过围绕Chrome 或Webkit 的自动化技术来实现的,比如使用PhantomJS、Electron 等基于WebKit 的无头浏览器的JS 库。也可以直接使用Selenium来实现。我还看到过基于Mozilla 的XPCOM 的实现。
要登录网页浏览器,每个拥有微信帐号的人都需要扫描二维码才能登录。这个二维码实际上是一张图片。一般需要支持多账户机器人。就是将图片链接转发到网页供负责人登录,扫描二维码即可登录。
2. 基于Windows自动化技术,其实就是自动化Windows桌面版的微信,因为是客户端,效率要比网页端的快。
3. 直接发送模拟HTTP消息包,这个实际上就是模拟浏览器给微信服务器发送HTTP消息包,监听接收回复的HTTP消息包来实现。一般不会模拟桌面客户端,因为正常实现下,桌面客户端应该是跟微信加密通信的。
4. 目前还没有看到的,就是直接改浏览器源码,这样效率应该更高一些。
一般来说,大多数聊天机器人都会接收群聊消息,然后连接图灵机器人或公共机器人聊天界面来回复消息。它们基本上是聊天类型的,有些是通过检索关键字匹配来半自动化的。客户服务机器人。
开源实现:
1. 在github上用“wxbot”这个关键字检索,可以搜索出各种编程语言的微信机器人。
2. 我之前也对一个开源的机器人做了一点小改动,就是让它能够在纯命令行环境下执行,这样方便我在阿里云的LINUX虚机上跑,shiyimin/wxbot。
3. 目前我们在开发直接处理HTTP消息包的机器人,现在还在早期,成熟后也会开源出来。
可以立即免费使用的机器人,这个就用“微信机器人”作为关键字检索就可以找出很多,基本上都可以实现下面这些功能:
1. 新人进群自动欢迎
2. 自动踢人
3. 自动加群里的陌生人做好友
4. 闲聊
5. 根据预算关键字回复消息
以上就是微信群机器人的介绍。在繁忙的日程中抽出一点时间,找一个可以帮助您管理微信群的机器人。让我们赶快行动吧。