15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 基于 Wachaty 开发微信机器人 & 个人微信号小助手平台

基于 Wachaty 开发微信机器人 & 个人微信号小助手平台

时间:2023-05-20 09:44:01 | 来源:网站运营

时间:2023-05-20 09:44:01 来源:网站运营

基于 Wachaty 开发微信机器人 & 个人微信号小助手平台:

wxbot

微信机器人,个人微信号小助手平台, nodejs + nuxt + wechaty 技术栈

准备

微信机器人开源库调研,GitHub 找到以下 3 个开源作品:










初识 wechaty

Wechaty 是一个开源的的对话机器人 SDK,支持 个人号 微信。它是一个使用 Typescript 构建的 Node.js 应用。支持多种微信接入方案,包括网页,ipadioswindowsandroid 等。同时支持 Linux, Windows, Darwin(OSX/Mac)Docker 多个平台。

先看一下官方文档:

只需要 6 行代码,你就可以 通过个人号 搭建一个 微信机器人功能 ,用来自动管理微信消息。

import { Wechaty } from 'wechaty'Wechaty.instance().on('scan', qrcode => console.log('扫码登录:' + qrcode)).on('login', user => console.log('登录成功:' + user)).on('message', message => console.log('收到消息:' + message)).on('friendship', friendship => console.log('收到好友请求:' + friendship)).on('room-invite', invitation => console.log('收到入群邀请:' + invitation)).start()更多功能包括:

好了,文档齐全 & api 丰富,完全满足我的需求,就选这个库了。

首先跑一个示例看看 wechaty-getting-started。下载完之后先 npm install & npm start 一顿操作,然后运行就有了登录二维码,拿出手机扫码,然后 GG。

基于 Web 微信的限制

查找资料 基于nodejs + wachaty开发微信机器人平台,发现已经有大佬踩过坑了。

原来2017年之后注册的微信号都无法登录网页版微信,而2017年之前注册得微信账号也有很大几率登录不上,找朋友试了也都不行。

检验你的微信号是否支持网页微信登录:

http://wx.qq.com

点击链接链接,PC端进入然后手机扫码登录,若是可以登上,即可以使用上述示例

然后又去看了 vbot 和 itchat,但发现也都是是基于网页协议实现的

从网上查资料,大概有一下几种实现方式:

看了看,内部通道是不可能的,只有ipad协议个mac协议目前最好了

wechaty-puppet-padplus

使用 wechaty-puppet-padplus 一套基于 ipad 协议的包。不过天下没有免费的午餐,需要申请 token,见 Wechaty Token 申请及使用文档和常见问题。

聊天机器人 API

目前网络上有许多非常好的智能聊天机器人,这里找了6个目前使用很广泛的:

搭建微信机器人平台

项目初始参考 wxbot 搭建机器人后台管理。

项目介绍































技术构成

这里就直接介绍下机器人模块

|-- server/|———- /lib|------ FriendShip.js # 友谊关系,好友添加监听|------ Login.js # 机器人登录退出|------ Message.js # 消息监听处理|------ Room.js # 加群,退出群聊|------ Task # 机器人定时任务|———- index.js # 入口文件

快速开始

准备条件

安装依赖

cnpm i

启动服务

首先需要修改配置文件 local/config.js 或者根目录创建 .local.config.js 配置文件(此文件已加入 .gitignore 中可以防止 token 敏感信息上传至 git)。

npm run localnpm run dev先编译项目

npm run build再启动服务

npm start打开浏览器,访问 http://localhost:3000/

系统配置

根据实际情况修改 config.js 配置文件,修改后需要重启服务才能生效。
参数说明:

host

String 类型,主机名,配置为 0.0.0.0 表示监听任意主机。

port

Number 类型,端口号。

mongoUrl

String 类型,MongoDB 链接。

secret

String 类型,JWT 秘钥。

tianApiKey

String 类型,天行数据秘钥

线上部署

使用PM2

推荐使用 pm2 进行 Node.js 的进程管理和持久运行。

安装

cnpm i -g pm2

启动

pm2 start pm2.config.js

踩坑

1.Wechaty Token 申请及使用文档和常见问题

2.tianApiKey 申请及天行机器人配置

3.部署中执行 sudo pm2 报错 command not found 问题

4.部署中执行 sudo pm2 报错 permission denied 问题

感谢

关键词:平台,助手,信号,机器

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭