node环境基于wechaty搭建个人微信机器人

昨天晚上没事干突然想开发一个属于自己的微信机器人,但我这个菜鸡对这种技术根本一窍不通,但很快我就在搜索引擎里找到了wechaty这个开源框架。

介绍

Wechaty是一款适用于Chatbot Makers的现代会话 RPA SDK,可以用几行代码创建一个bot。
Wechaty提供了开箱即用的支持,可以将您的IM帐户转变为聊天机器人,从而为您提供期望的通用功能,开发人员可以轻松地对其进行自定义和扩展,以创建满足其确切需求的聊天机器人。

本篇文章运行环境node版本为16.9.0

6行代码搭建一个机器人

据说这个框架使用6行代码就可以搭建出一个微信聊天机器人,说实话我有点不信,就开始翻文档(google)

首先创建一个node项目

npm init

在创建出来的package.json文件里添加配置文件

  "dependencies": {
    "wechaty": "^1.10.4",
    "wechaty-puppet-wechat": "^1.10.5"
  }

添加依赖:

npm install

创建index.js并添加6行代码:

import { WechatyBuilder } from 'wechaty'

WechatyBuilder.instance() // Singleton
.on('scan', (url, code) => console.log(`Scan QR Code to login: ${code}\n${url}`))
.on('login',       user => console.log(`User ${user} logined`))
.on('message',  message => console.log(`Message: ${message}`))
.start()

运行index.js

node index.js

打开控制台的二维码,拿出手机扫码登录桌面端微信即可。

在终端打印二维码

安装依赖

npm install qrcode-terminal --save

修改onScan代码:

function onScan (qrcode, status) {
  if (status === ScanStatus.Waiting || status === ScanStatus.Timeout) {
    console.log(
      `Scan QR Code to login: ${status}\nhttps://api.qrserver.com/v1/create-qr-code/?data=${encodeURIComponent(
        qrcode
      )}`
    );
    qrcodeTerminal.generate(qrcode);
  }
}

保存并且运行。

收发消息和业务实现

在onMessage方法里,获得收到的消息,在这里处理业务代码。

可以开发的功能包括:

  • 消息处理:关键词回复
  • 群管理:自动入群,拉人,踢人
  • 自动处理好友请求
  • 智能对话:通过简单配置,即可加入智能对话系统,完成指定任务
  • … 请自行开脑洞

总结

wechaty还是比较强大的框架,api也比较简洁易懂,基本上需要的功能都有办法能够实现,玩了一天感觉自己不是很需要,就没有再开发下去。项目上传到了码云:项目地址

你可能感兴趣的:(前端,微信,前端,javascript,node.js)