专栏名称: i小声读书
「电子书支援计划」是一个以电子书为核心的自我学习计划, 以 Telagram 社群为主要载体,致力于促进中文互联网圈内 的知识交流和资源共享,帮助诸位获得更好的阅读资源和阅 读体验,同时鼓励社群内成员输出优质内容。
目录
相关文章推荐
天都新闻  ·  日本2024年出生人口再创新低 ·  7 小时前  
51好读  ›  专栏  ›  i小声读书

如何用6行代码写出微信聊天机器人

i小声读书  · 公众号  ·  · 2018-06-21 00:00

正文


电子书支援计划

以数字资源为核心的自我学习社群



群成员需要一个微信机器人🤖️

自己动手,丰衣足食,于是便有了这篇文章。



微信机器人,这个需求我也是有的,之前玩过,这个项目可以使用6行代码写出微信聊天机器人。


需求分析


当微信群超过100人以后,就必须要靠群主来手工拉人了,如果一下子来了几十个人加你,然后拉群。那你大概手指都要点酸了,这种重复且机械的流水作业,怎么可以难到一个程序员呢?

梳理一下需求:

  1. 自动通过好友请求。

  2. 当我的粉丝和我微信聊天的时候,能通过关键词进行自动回复。毕竟问题80%都是一样的。

  3. 自动的把他们拉进群里。

我在 GitHub 上找到了 Wechaty,发现只要几十行代码,就可以满足我的需求。最主要的是,机械化的流水操作,机器人做的比人工要好很多。


项目地址:

https://github.com/Chatie/wechaty

该项目的收到的一些评价


框架介绍


GitHub 上与微信机器人相关的开源项目有很多,通过 JavaScript、Electron、Go、Perl、Python 等等都可以实现。


Wechaty 是使用 Typescript 进行编写的 Node 项目,是一个专门为个人微信号搭建的bot框架,使用Wechaty的API,只需要6行 Javascript 代码就可以搭建一个最简单的微信机器人,支持 Linux, Windows, Darwin(OSX/Mac) 和 Docker。



它最大的优点就是 不用关心任何实现逻辑,仅仅用JS写业务逻辑层面的事情,就可以了。

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

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

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

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

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

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

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

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

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

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

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



安装 Wechaty







请到「今天看啥」查看全文