机器人|准备事项
微信机器人这个功能,目前在市面上运用的还是不是很多,每个人实现机器人的目的也不一样,有的为了自动加好友;有的为了自动拉群:也有的为了机器人对话聊天等等一系列。想必大家对微信机器人感兴趣的伙伴,也在aithub 上面搜索了很多吧,但是大多数走到一半遇到各种bug就没有继续坚持走下去,原因很多这里就没必要详细说了,我想提到的是,你通过此篇最大化可以实现机器人,如果遇到问题,也会有专业的前端群帮助你一起讨论问题的点,小白不用害怕,没有任何人鄙视&讽刺你,互相交流嘛。
那么其他话就不说,毕竟我的宗旨:实战、实用、没有那么多花里胡哨
第一步:进入E云管家的文档去了解一下,官方文档(文档是英文版,可翻译査看)。这里提醒的是-定要认真仔细看看文档,你对后面操作才会有一个大致了解。
本文档主要讲述个微API服务相关,以下简称API,它能处理用户微信中的各种事件,提供了开发者与个微对接的能力,技术上来讲是一款基于微信提供的个人开放性API,使用简单,操作快捷,支持多种微信方式接入。
你可以 通过API 实现 个性化微信功能 (例:营销系统、云发单助手、社群小助手、客服系统、机器人等),用来自动管理微信消息。
可开发的功能包括但不限于:
好友管理:添加好友、删除好友、修改备注、创建标签、获取好友列表、搜索好友信息
消息管理:发文本消息、图片消息、名片消息、动图表情、小程序、发文件、发送视频、发送URL链接
群管理:自动创群、修改群名称、邀请新成员、踢群成员、获取群列表、发送邀请链接、获取群聊。
朋友圈:发送朋友圈、朋友圈点赞、获取朋友圈列表、转发朋友圈、同步朋友圈,批量发送朋友圈
为何大部分客户会选择
Web网页端:2017年后不再支持新号登录,仅支持老号,并且掉线严重,功能缺失严重。
Xposed技术:在2019年6月份,微信官方在行业重点打击Xposed,自此行业内一片哀嚎遍野,陆续向iPad/MAC协议转型。
PC Hook:代码注入型破解,封号情况偏多,使用容易出现追封,公司大规模封号等情况,且目前在营销行业使用率较少,比较偏小团队使用
模拟机:延迟高、消息实时到达率低、模拟人为操作效率慢、功能偏少,承担不了商业化功能
E云所用技术:安全性较好,功能满足,行业占有率高,须具备较高层次技术水平,稀有商业化稳定方案
简要概述:
设置消息接收地址
- 开发者需提供接收微信消息的公网接口URL,并将此url在此接口 配置(PS:简单理解就是腾讯服务器会将消息请求到你们编写的接口服务)
- 公网接口需流畅,微信消息是Http Post Json请求,默认最高6秒内建立连接并发送数据,通讯时长超过6秒,不发送回调消息
- 若开发者提供的回调接口关闭/无法连接,新消息将间隔10min后尝试发送。(PS:若开发者回调接口恢复正常,可以再次调用本接口连接,无需等待10min)
- 配置成功后,会接收一条包含文字“验证回调地址是否可用”的JSON回调。
- 开发者若未配置此接口,消息默认推送至后台系统-在线测试-消息接收模块-控制台。
- 注意:机器人微信自己通过接口发送的消息不会有回调,因为回调是接收消息,发送不属于接收,但是手机微信发送的消息也会有,因为这属于消息同步(同步其他客户端的消息至本客户端,IM原理)。
简要描述:
- 设置http回调地址
请求URL:
http://域名地址/setHttpCallbackUrl
- POST
请求头Headers:(别忘了传)
- Content-Type:application/json
- Authorization:login接口返回
参数:
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
httpUrl | 是 | string | 开发者接口回调地址 |
type | 是 | int | 2:优化版【PS:建议使用优化版】 |
返回数据:
参数名 | 类型 | 说明 |
---|---|---|
code | string | 1000成功,1001失败 |
msg | string | 反馈信息 |
请求参数示例
<span style="color:#333333"><span style="background-color:#ffffff"><span style="background-color:#f7f8f9"><span style="color:black"><code>
<span style="color:#999999">{</span>
<span style="color:#990055">"httpUrl"</span><span style="background-color:rgba(255, 255, 255, 0.5)"><span style="color:#9a6e3a">:</span></span> <span style="color:#669900">"http://182.168.40.14:18081/userInfo/webHttpTest"</span><span style="color:#999999">,</span>
<span style="color:#990055">"type"</span><span style="background-color:rgba(255, 255, 255, 0.5)"><span style="color:#9a6e3a">:</span></span> <span style="color:#990055">2</span>
<span style="color:#999999">}</span></code></span></span></span></span>
成功返回示例
<span style="color:#333333"><span style="background-color:#ffffff"><span style="background-color:#f7f8f9"><span style="color:black"><code><span style="color:#999999">{</span>
<span style="color:#990055">"message"</span><span style="background-color:rgba(255, 255, 255, 0.5)"><span style="color:#9a6e3a">:</span></span> <span style="color:#669900">"成功"</span><span style="color:#999999">,</span>
<span style="color:#990055">"code"</span><span style="background-color:rgba(255, 255, 255, 0.5)"><span style="color:#9a6e3a">:</span></span> <span style="color:#669900">"1000"</span><span style="color:#999999">,</span>
<span style="color:#990055">"data"</span><span style="background-color:rgba(255, 255, 255, 0.5)"><span style="color:#9a6e3a">:</span></span> <span style="color:#0077aa">null</span>
<span style="color:#999999">}</span></code></span></span></span></span>
错误返回示例
<span style="color:#333333"><span style="background-color:#ffffff"><span style="background-color:#f7f8f9"><span style="color:black"><code><span style="color:#999999">{</span>
<span style="color:#990055">"message"</span><span style="background-color:rgba(255, 255, 255, 0.5)"><span style="color:#9a6e3a">:</span></span> <span style="color:#669900">"失败"</span><span style="color:#999999">,</span>
<span style="color:#990055">"code"</span><span style="background-color:rgba(255, 255, 255, 0.5)"><span style="color:#9a6e3a">:</span></span> <span style="color:#669900">"1001"</span><span style="color:#999999">,</span>
<span style="color:#990055">"data"</span><span style="background-color:rgba(255, 255, 255, 0.5)"><span style="color:#9a6e3a">:</span></span> <span style="color:#0077aa">null</span>
<span style="color:#999999">}</span></code></span></span></span></span>
- 配置成功后,即可生效