前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(上部)你要的 wechaty 微信机器人教程

(上部)你要的 wechaty 微信机器人教程

作者头像
八点半的Bruce、D
发布2020-06-09 12:29:07
7.7K0
发布2020-06-09 12:29:07
举报
文章被收录于专栏:八点半技术站八点半技术站

在这里,我会详细拆分实现微信机器人的步骤,希望大家看了此篇文章就可以上手,实现自己的微信机器人。本篇内容细节很重要很重要,如果你想实现机器人,请务必仔细阅读。

01

机器人 | 准备事项

微信机器人这个功能,目前在市面上运用的还是不是很多,每个人实现机器人的目的也不一样,有的为了自动加好友;有的为了自动拉群;也有的为了机器人对话聊天等等一系列。

想必大家对微信机器人感兴趣的伙伴,也在github 上面搜索了很多吧,但是大多数走到一半遇到各种bug,就没有继续坚持走下去,原因很多这里就没必要详细说了,我想提到的是,你通过此篇最大化可以实现机器人,如果遇到问题,也会有专业的前端群帮助你一起讨论问题的点,小白不用害怕,没有任何人鄙视&讽刺你,互相交流嘛。

那么其他话就不说,毕竟我的公众号宗旨:实战、实用没有那么多花里胡哨

第一步:

进入wechaty 的github 去了解一下,官方文档(文档是英文版,可翻译查看)。这里提醒的是,一定要认真仔细看看文档,你对后面操作才会有一个大致了解。

代码语言:javascript
复制
链接:https://github.com/wechaty/wechaty

第二步:

加入上述链接中的一个机器人二维码,这是他们官方自己成立的微信社群。作用自己后续了解,这里我也不过多说,反正会有用。

第三步:

我们需要去申请一款ipad的协议的token,为什么要申请呢?申请有什么作用呢?这些问题,请详细看如下链接文档,会介绍的十分详细。

代码语言:javascript
复制
链接:https://github.com/juzibot/Welcome/wiki/Everything-about-Wechaty

然后我们也需要成为开发者,这也是官方JuziBOT Inc 人员将你的申请的免费token,会以微信方式发送于你。

代码语言:javascript
复制
链接:https://github.com/juzibot/Welcome/wiki/Support-Developers

任何我写出来的文档链接,大家务必仔细阅读,很多问题,文档中有讲解。例如:免费token期限是15天吗?到后怎么办一系列。

如果你申请后,1天内没有答复你,切记直接在官方群聊问自己的token申请进度(这就是作用

),一般2天内绝对会给你一个token的。

02

机器人 | 源码教程

既然 iPad 协议的 token 我们拿到了,那我们不会的伙伴就抓紧时间研究,毕竟免费的只有15天,如果你想长期,需要想官方审核,也就是提交一个MVP小型案例,并且写一篇 blog 阐述你的功能 - 即可。

目前实现的方式比较多、有基于web协议、ipad协议、安卓协议 等等一系列

我这边知道实现的源码有 python、node.js 、PHP、go&java(官方在开发)

在这里,我会讲解 两种协议(web协议 / ipad协议),步骤会很详细,大家仔细阅读。(等我研究完PHP的安卓协议,我在给大家出一版本)

1. web协议 初期为什么用js,因为官方 wechaty 提示的案例都是采用 js(不太懂js伙伴别害怕,基础能看懂,不懂运行原理可以研究,有简单几套源码给大家参考)

(1)开始下载官方给的示例项目 (https://github.com/wechaty/wechaty-getting-started)

(2)下载完之后就是安装依赖运行,首次运行或许比较慢,慢慢等待吧

(3)运行成功,扫码登录,如下图

但是当我们扫码,又会出现一个问题,如下:

登录相当于失败的,这个不管你尝试多少次,失败就是失败。

下面我说说这个原因:因为相当于我们基于 web 端的 API 接口,微信官方对网页版微信进行了安全策略调整。2017年后注册的微信是无法登录网页版的,2017年前注册的也是四六开的(非常不建议收号哈)。

检测微信号是否支持网页版地址:https://wx.qq.com/ (PC端进入,手机扫码,查看是否可行)

其实大家到这里有个问题会问,web端条件这么苛刻,并且失败率根据微信号而定,那意义不大,为什么小编还要写出来呢?

答:目的只有俩种,第一种:熟悉实现机器人 js 源码。第二种:大致了解机器人的一个实现原理逻辑。这样子会对接下来另外一种方式更容易上手。

2. iPad 协议

根据 wechaty-puppet-padplus ,都是 wechaty 团队研发。不同之处是为了解决web 协议无法登陆,因此采用另外一种协议方式实现。

问题来了,使用这个是需要上面说的的token的。那么我们就需要去联系JuziBOT Inc的工作人员,添加他好友,他给教你如何申请。

在这里顺便给大家提个醒,如果你想要你的token长期,那就参加所谓的开源激励计划,就是在15天后,需要提交一个MVP(最小可行化产品)的Github仓库,Wechaty会将其fork到社区中的同时,会提供一个长期免费Token。

目前阶段,我实现的机器人的功能有如下:

  • 自动通过好友验证
    • 当有人添加机器人时,判断验证消息关键字后通过或直接通过
    • 通过验证后自动回复并介绍机器人功能
  • 私聊关键字回复
    • 例如回复 加群 推送群聊邀请
    • 例如回复 作者微信 推送作者微信名片
  • 自动聊天
    • 群聊中通过 @[机器人]xxx 可以和机器人聊天
    • 私聊发送消息即可聊天
  • 加入群聊自动欢迎
    • 当新的小伙伴加入群聊后自动 @[新的小伙伴] 发一个文字欢迎

上部分 wechaty机器人版 在这里也就给大家讲解完了,下部分会将基于 iPad协议的源码详细拆分讲解给大家。(详细到每一行代码都会有注释)相当于手把手教你,我们最多安装环境简单配置一下,就可以运行。

在这里,各位或许还有一个问题,特别纳闷我为什么不一次性写完呢?还要拆分为上下部 ?

答:

(1)因为每一篇公众号的编写,都需要精心花费大量时间去准备的(小编也在创业,因此时间不会那么太多)。

(2)或许大家也忘记了我的公众号与技术群的宗旨是什么?

那么我就在告诉大家,我目的很简单:实战、实用、没有那么多花里胡哨。

因此,如果你有最基本的态度 与 耐心,可以等待一下。我会在4天内,将下一篇编写完毕,公告推送大家(公众号、wechat技术群)

————————end————————


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 八点半技术站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档