wechaty-微信聊天机器人-调研分析

最近对微信聊天机器人进行接入开发,以下为初步的调研分析,对wechaty有一个初步的了解并总结了各方文档

第一部分:了解Wechaty

一、基本介绍

1、背景知识点

1、Wechaty是什么?

wechaty是一款开源的微信SDK,它基于微信公开的API,对接口进行了一系列的封装,提供一系列简单的接口,然后开发者可以在其之上进行微信机器人的开发,微信机器人框架。

Github官方说明:Wechaty是一个用于个人帐户的Wechat Bot SDK,它允许您创建软件以扩展Wechat的功能,使用TypeScript在Node.js中编写,支持所有平台,包括Linux,OSX,Win32和Docker。  作为开发人员,您可以使用Wechaty轻松地在Wechat个人帐户上构建您的机器人,有效地管理消息发送/接收,房间创建/邀请,联系友谊,以及令人愉快的用户和您的机器人之间的人为挑战。

2、Wetool是什么?

微信社群管理工具。可以提供客服消息手法、检测僵尸粉、自动回复机器人、群统计、挂机百宝箱(自动接受好友、欢迎进群新人、自动踢人等)。有两个版本,企业版比免费版功能要更强大。

3、SDK

SDK即“软体开发工具包”Software Development Kit,一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。通俗点是指由第三方服务商提供的实现软件产品某项功能的工具包。

4、SDK和API的区别

简单来说,SDK相当于开发集成工具环境,API就是数据接口。在SDK环境下调用API数据。具体见https://www.jianshu.com/p/dd2eff92e8fc

5、Docker

简单来说,Docker 是一个便携的应用容器,思想来自于集装箱,Docker 提供了一组应用打包、传输和部署的方法,以便你能更好地在容器内运行任何应用。具体见https://blog.csdn.net/qq_37788081/article/details/79044119 https://blog.csdn.net/qsbbl/article/details/86715741

2、技术基础

Node.js 10以上

二、研究目标

做一个像Wetool一样对微信聊天进行管理的工具,用于微信群管理。

三、相关技术学习网站

1、Wetool的下载及使用说明官网

https://www.wxb.com/wetool

2、Wechaty入门及用例的Github地址

https://github.com/wechaty/wechaty-getting-started/tree/master/examples

3、Wechaty 的Github地址

https://github.com/Chatie/wechaty

第二部分:使用Wechaty

一、安装使用

从github上拉取wechaty代码,按照步骤进行环境配置和安装后,运行,出现一个二维码和地址,网页访问地址展现完整二维码,微信扫码登陆,然后在控制台会打印微信的交流信息。

运行:wechaty-getting-started里有很多示例,在cmd中对对应的js文件运行 node xx.js即可

二、实现原理和使用

Wechaty基本的实现原理,是通过Chrome实时监听微信网页版的各类信息,然后将抓取的信息封装成接口,供开发者使用。 她有9个基本的事件,基本上涵盖了Web微信上的所有事件,分别是:

scan事件会在需要扫码登陆微信的被触发

login事件会在机器人成功登陆后被触发

logout事件会在机器人掉线以后被触发

message事件会在有新消息的时候被触发

error事件会在程序出现error的时候被触发

friend事件会在有好友请求的时候被触发

room-join事件会在有人加入群时被触发

room-leave事件会在群主移好友出群时被触发

room-topic事件会在群名称被修改时被触发

另外,Wechaty将机器人、联系人、微信群、好友请求封装成类,分别是Wechaty、Contact、Message、和FriendRequest,这样我只要import这些包,就可以直接使用这些类里面的函数模拟微信的各种操作了。比如给指定的人发送消息,我只要用contact.say(‘hello’) 就可以了。Wechaty里面的函数名称起的非常人性化,使用JS进行业务逻辑编写的时候,读代码像和读英文文档一样流畅舒服。

详见https://www.jianshu.com/p/974c44fef0d2

三、使用文档

详见https://docs.chatie.io/v/zh/

 

 

你可能感兴趣的:(新功能-调研分析)