专栏首页八点半技术站(上部)你要的 wechaty 微信机器人教程

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

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

01

机器人 | 准备事项

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

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

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

第一步:

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

链接:https://github.com/wechaty/wechaty

第二步:

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

第三步:

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

链接:https://github.com/juzibot/Welcome/wiki/Everything-about-Wechaty

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

链接: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————————


本文分享自微信公众号 - 八点半技术站(gtcarry),作者:八点半技术站

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 「数据库」sql刷题(No.5)

    Hello 各位 ,我是公号「八点半技术站」的创作者 - Bruce.D (姓氏:豆)。

    八点半的Bruce、D
  • 一图了解,网络7层协议之间的关系

    今天是周四(2020-06-04),分享一句谚语 “读书有三到,心到口到眼到” 。分享给大家的是 「网络服务 模块」- 网络7层协议。

    八点半的Bruce、D
  • 「数据库」sql刷题(No.2)

    A市开了一家新的花店,吸引了很多的人过来看观看。该店长特别注意用户体验,专门有个 LED显示板做购花推荐,上面公布着花评和相关花的描述。

    八点半的Bruce、D
  • 使用Spring Session实现Spring Boot水平扩展

    Spring Boot应用通常会部署在多个Web服务器上同时提供服务,这样做有很多好处:

    博文视点Broadview
  • hive | 解决character '​' not supported here

    今天在处理数据入库时出现了character '​' not supported here的bug

    week
  • Airtest Project:一款免费的自动化测试工具

    Airtest Project是网易出品的一款自动化解决方案,它适用于任意游戏引擎和应用的自动化测试,并且支持Android和Windows。 Airtest ...

    Altumn
  • 如何过一个与众不同的五四青年节?

    五月份除了令人期待的五一小长假,还有就是让永远18岁的乐乐最开心的五四青年节~因为可以多放半天假,想想就开心~那么关于五四青年节,可以在乐享上做些什么不一样的...

    腾讯乐享
  • __main__.MyClass instance at XXX的含义

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    于小勇
  • Python | Python学习之多进程详解

    我们经常迷惑于多进程和多线程,长的好像一样,但是他们有本质上的区别,很多大佬也对进程和线程的概念做了很多通俗易懂的解释,这里我们引用阮一峰老师的博文,大家可以先...

    咸鱼学Python
  • 14-使用glusterfs做持久化存储

    程序员同行者

扫码关注云+社区

领取腾讯云代金券