用java做一个能赚钱的微信群聊机器人(PC协议)

前言

微信群机器人,主要用来管理群聊,提供类似天气查询、点歌、机器人聊天等用途。由于微信将web端的协议封杀后,很多基于http协议的群聊机器人都失效了,所以这里使用基于PC端协议的插件来实现。

声明以下过程只用于交流学习,并不用于任何商业用途,这里记录一下整体的开发流程。

效果展示

接入过程

准备材料

下文中的服务器可以只需要一台,或者使用你本地电脑,我介绍一下我的环境。

  • 可爱猫微信机器人插件V4.4.0。

  • 一台windows服务器。

  • 一台linux服务器。

  • nginx安装(在window服务上,反向代理)。

安装可爱猫

由于是exe安装包,所以我们使用一台window服务器来直接安装。

安装后,界面如下图所示。

安装完毕,扫码登录微信。

配置功能插件

由于插件是基于微信pc端的协议开发,如果要自己定制插件需要使用易语言,或者下载官方的一些sdk开发包来接入。

如果不熟悉语言的话,比较麻烦,所以有网友已经开发好现成的插件给我们使用了,插件会把接收到的消息上报,后端只需要负责消息处理,所以使用什么语言都可以。

这里,我们使用熟悉的java来进行接入。

http插件安装完成后,需要配置地址。主要是消息回调地址,这是插件接收到群聊消息后会上报到此地址。如果在本地验证的话,就填写本地的一个http server的地址即可。

http插件已有功能列举

http插件内置了许多api接口,我们可以直接调用,无需另外开发。

配置nginx实现主动操作机器人给群发送消息

由于我使用的是两台服务器,调用本地插件的地址无法配置成外网,所以我使用nginx做了反向代理。配置文件如下:

可以看到对外暴露出8888端口。

我的linux服务器java服务,只需要调用这个ip的8888端口,就能把消息发送到本地的8073端口上。

消息回调后端的实现

由上图可知,后端只需要写一个接口接收数据就好。

接入腾讯AI开放平台实现机器人聊天

首先,登录腾讯ai平台,新建一个应用。

按照接口鉴权文档,生成签名。

如果使用php或者python做后端,那它还提供sdk下载,我们是java那就直接按照文档,调用http地址即可。

后端调用日志截图

腾讯ai平台还可以提供语音识别接入、语言情感分析、OCR等,十分不错。

收到消息--->调用腾讯ai平台--->返回应答。

至此,通过这一流程,我们就实现机器的人自动回复,当然机器人也不是每句话都能有应答,如上图,71次调用,失败了17次。不过不收费,也挺不错的了。


群聊管理,实现踢人

相信大家在群聊过程中一定遇到过很多打广告的。我们可以通过群自己人实现自动踢人、主动@它踢人。

踢人都是通过调用api来实现的,特别注意的是,机器人必须是群主才行。

自动踢人

这里我简单的通过设置一系列的关键词,来实现是否是广告,从而踢出用户。

这里为了避免错踢,需要触发两次违规后才会将用户踢出群聊。

主动踢人

基于没有触发关键词的广告,我们可以通过@机器人,来调用接口实现踢人的目的。

其他应用

基于微信群机器人,可以实现很多有意思的功能,比如点歌、聊天, 具体可以来侠梦的开发笔记公众号一起交流交流。或是做一些商品的导购推广,定时给自己推送新闻等等。。。

通过机器人,可以实现24小时无人值守,全天候在线问答,插件同样提供完整的多语言API对接方案,方便二次开发,响应速度迅捷,可以快速的运行自己的业务

网页版微信 API 被封了, itchat 等等基于 web API 的 bot 方案都失效了。

web 微信 封的是群发,涉及群的任何操作 都有可能被封,目前看到的协议有:

iPad 协议,不公开,代表作 阿里猫,虽然是淘客软件但是能自己用 C#开发插件实现自己的逻辑

PC 微信的 hook , 比较多 但是只能实现群发。

.手机端的 hook,刚出来的 理论上能实现各种功能 但是都不公开的。


希望大家开阔自己的思路。

好看的人才能点

本文分享自微信公众号 - 侠梦的开发笔记(xmdevnote)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章