(上部)你要的 wechaty 微信机器人教程
“ wechaty | 微信社群管理 - 机器人”
Hello,大家好。我是公众号“八点半技术站”的小编-Bruce.D。
今天是周三(2020-04-22),分享一句谚语 “积累知识、胜过积蓄金银” 。分享给大家的是 「工具 模块」- wechaty 微信机器人。
首先在这里感谢一位好友 - 李建超 web 端大佬。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技术群)
恭喜你,又看完了一篇文章。
在这里,也希望你看完的每篇文章都能对自己有所提升(哪怕是帮助你再次巩固记忆)。
欢迎在wechat技术群一起交流成长(xzzs730)。
(上部)你要的 wechaty 微信机器人教程相关推荐
- pushplus推送到企业微信机器人教程
pushplus推送到企业微信机器人教程 pushplus官网:http://www.pushplus.plus 引言 pushplus目前已经实现了将消息推送到企业微信.钉钉.飞书机器人等渠道. ...
- python 微信机器人教程_Python创建微信机器人(附赠Python视频教程)
微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地.今天我们要讲的便是如何用Python来做一个微信聊天机器人,突然想起鲁迅先生曾经说过的一句话: 因为是微信机器人 ...
- python 微信机器人教程_Python实现微信机器人的方法
最近在学python的过程中无意间发现一个python库:wxpy,其可以实现让微信自动接收.处理消息并进行回复的一系列功能.感觉挺有意思的,便自行摸索学习,并成功地实现了其功能. 当我们打开微信,就 ...
- (下部) wechaty 微信机器人源码教程
" wechaty | 微信社群管理 - 机器人" Hello,大家好.我是公众号"八点半技术站"的小编-Bruce.D. 今天是周三(2020-04-27), ...
- 你想每天定时向你的女朋友发一句早安吗 ?教你实现一个微信机器人
❝ 你想每天定时向你的女朋友发一句早安吗? ❞ wechaty 是一个使用 typescript 开发的机器人,我已经使用 wechaty[1] 做了很多关于有趣的自动化的工作. 你可以通过 wech ...
- 微信机器人开发SDK使用教程--养号任务停止
微信机器人开发SDK使用教程--养号任务停止 case "PostStopWeChatMaintenanceTask": {// 养号任务停止 log.debug("we ...
- 微信机器人开发SDK使用教程--删除朋友圈
微信机器人开发SDK使用教程--删除朋友圈 case "DeleteSNSNewsTask": {// 删除朋友圈 log.debug("websocket:msgtyp ...
- 微信机器人开发SDK使用教程--群发消息任务
微信机器人开发SDK使用教程--群发消息任务 case "WeChatGroupSendTask": {// 群发消息任务 log.debug("websocket:ms ...
- 非网页版微信机器人-Wechaty
微信机器人有很多,比如之前的 itchat 是基于网页版实现的,然而现在微信网页版被封的厉害,许多账号都用不了了.找来找去发现 Wechaty 有基于 ipad 协议的实现,下面对其进行简单介绍. 本 ...
最新文章
- smartsql和mysql_SmartSql 常见问题
- python培训班哪些比较好-学习Python去哪好?哪家Python培训机构比较靠谱
- 4.4 机器学习系统设计--垃圾邮件分类-机器学习笔记-斯坦福吴恩达教授
- 【小白学习C++ 教程】八、在C++指针传递引用和Const关键字
- 《Programming WPF》翻译 第8章 2.Timeline
- script标签属性用type还是language?
- 你真的会发朋友圈吗?
- JS数据结构第五篇 --- 二叉树和二叉查找树
- 0-1背包问题(需要输出具体背包序号)
- java 代码段 执行超时 抛异常_深入理解Java线程状态
- 大数据: 城市转型发展新的驱动力
- 必须收藏!Jboss下载(全版本秒下载!)
- php服务器搬迁失败原因
- nginx自动切割访问日志
- 用C++实现渊子赛马程序
- Java——Shape类
- java通过jstack命令查询日志深入理解
- html 下拉框高度,如何自定义设置select下拉框高度的优化方法
- ACM国际大学生程序设计竞赛及练习题库
- B. Sheldon and Ice Pieces