最近对微信聊天机器人进行接入开发,以下为初步的调研分析,对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/

wechaty-微信聊天机器人-调研分析相关推荐

  1. Python Wechaty 微信聊天机器人 padlocal协议搭建指南

    python版本推荐3.9+ 微信机器人框架:Wechaty Python-Wechaty中文手册 开发前需要准备: Linux服务器(CentOS 8.0+,Python环境,Docker) 本地P ...

  2. 微信聊天机器人-wechaty

    原文链接 工具推荐-wechaty,让你的微信更智能 背景 最近由于工作需求,需要给微信增加关键词回复.定时统计并推送到指定微信群等功能,让我有机会接触.了解了微信聊天机器人. 在开源的世界有许多好用 ...

  3. Python30行代码实现微信聊天机器人(基于WXPY+百度理解与交互技术UNIT)

    引言: 前几天看到新闻说一个程序员开发了微信聊天机器人陪女朋友聊天,感觉有兴趣,之前听说过WXPY,由于本人Python真的很菜,一直没有动手,受新闻启发开发了一个简单的基于Python微信机器人.有 ...

  4. 基于node.js实现分销类微信聊天机器人

    基于node.js实现分销类微信聊天机器人 文章目录 基于node.js实现分销类微信聊天机器人 前言 一.涉及技术栈 二.实现代码 1.登录模块 2.聊天消息接收事件 总结 git地址 前言 最近遇 ...

  5. python微信聊天机器人_python实战项目,使用itchat模块制作微信聊天机器人

    前言 对于咱们热爱折腾的青年来说,经常会有很多好玩的新奇创意想法,可是,有时候就缺少一个接口,实现交互.比如说,咱们博客的 python实战项目,有些的确比较好玩,但是似乎只能在电脑上跑跑程序,怎么运 ...

  6. python 微信聊天机器人_python操作微信自动发消息的实现(微信聊天机器人)

    前言 最近在学习python,发现一个微信自动发消息的小demo感觉很有意思,试了一下,不成功,因为demo中用的是itchat这个库来操作微信,而这个库是通过微信网页版来操作微信的,现在微信网页版已 ...

  7. 自己动手用Android和Xposed编写一个微信聊天机器人——《微信聊天精灵》实现关键词自动回复。

    出于爱好和需要,想着自己来编写一个微信聊天机器人,能实现以下功能: 能实时获取到微信聊天消息: 能进行文本自动回复: 能够设置关键词: 能够根据关键词匹配,进行内容回复: 能实现聊天消息云端备份: 已 ...

  8. 微信公众号图灵机器人开发php,使用图灵机器人api搭建微信聊天机器人php实现,图灵微信聊天机器人...

    使用图灵机器人api搭建微信聊天机器人php实现,图灵微信聊天机器人之前通过hook技术实现了微信pc端发送消息功能,如果在结合图灵机器人就能实现微信聊天机器人. 代码下载:http://blog.y ...

  9. 基于ChatGPT实现微信聊天机器人

    ChatGPT近期以强大的对话和信息整合能力风靡全网,可以写代码.改论文.讲故事,几乎无所不能,这让人不禁有个大胆的想法,能否用他的对话模型把我们的微信打造成一个智能机器人,可以在与好友对话中给出意想 ...

  10. 搭建属于自己的基于ChatGPT的微信聊天机器人(方法)

    文章目录 1. GitHub开源项目 2. 前期准备 (1) 获取openAI API key 3. 准备部署环境 (1) 配置代理 (2) 配置python环境 4. 部署 (1) 修改配置文件 ( ...

最新文章

  1. java收银台程序gui_javaSE小项目---简易收银台
  2. 计算机中的 marshal 是什么意思?(列集:将数据从某种格式存为流格式的操作)(序列化)(marshalling、unmarshalling散集)
  3. ElementUI中el-select请求springboot后台数据显示下拉项并在el-table中格式化显示
  4. Oracle 11g RAC features
  5. java resultset 映射到实例_[Java]ResultSet的用法与实例
  6. LeetCode 101. 对称二叉树 思考分析
  7. [转贴]关于项目管理的一点体会
  8. (79)FPGA复位激励(initial)
  9. 【Linux】【Shell】【Basic】函数
  10. 20200308——多项式回归预测工资
  11. 百度开源超级链技术方案!
  12. oracle 2的次方,Oracle第二次课 - osc_qyg23ccq的个人空间 - OSCHINA - 中文开源技术交流社区...
  13. 数学建模预测模型实例(二)---表白墙影响力量化模型
  14. 机器学习期末考试判断题
  15. 新手演讲:走上演讲台的第一步
  16. safari浏览网页打开速度很慢如何解决
  17. 谈VB.net里Optional关键字
  18. Java-编写一个类 Book,代表图书
  19. IDE(ATA)硬盘,SATA硬盘,SCSI硬盘和SAS硬盘的比较
  20. VVC学习之四:VTM中的数据结构——CodingUnit、PredictionUnit、TransformUnit

热门文章

  1. matlab中Folder是什么意思,matlab – @folder和文件夹
  2. 计算机定时关机教程,Win7系统电脑设置定时关机和取消定时关机的教程
  3. javaScript学习手册:JS对象
  4. 随机存储器(RAM),只读存储器(ROM),高速缓存(CACHE),内存,硬盘,CPU
  5. html放大镜,可清晰放大整个网页
  6. androidのBack返回键,home键,menu键监听使用
  7. 元宇宙与泛娱乐的邂逅:次世代第一CP养成记
  8. 在MFC程序中使用XML文件配置工具栏
  9. 买股不如买基?Python实现快速追踪基金的收益情况!谁还不是个买基高手?
  10. mac算法c语言,MAC算法原理