微信机器人简易入门

微信机器人三种实现方式

  1. RPA - 就是进阶版的按键精灵(略)
  2. web版本协议 - 缺点是没有固定的用户id,没法做复杂的业务逻辑。
  3. 逆向版 - 需要挂一个电脑版客户端, 通过逆向技术拦截微信的收发行为。

本文主要讨论第三种方案。

技术选型

github上有很多机器人项目, 但是真正开源的不好找,更多的是空壳项目。

这里选用 wechaty puppet-xp github.com/wechaty/pup...

这是一个真正的开源实现,运行简单,文档友好。

限制和不足

  1. 微信用户和公众号小程序的openid无法打通,生态无法融合。
  2. puppet-xp对小程序的支持不好,想发送小程序只能用文字或者图片。
  3. puppet-xp无法踢人,无法做深度的群管理功能
  4. 加好友,群邀请,删除好友等功能均不支持

开发功能前先到github确认协议的功能支持。

支持的事件

用途

开源协议的完成度不能要求太高,好处是遇到问题可以在issues里查,尽管支持有限,但还是可以做很多的功能。

  1. 智能客服
  2. 文生图(类似mj,用户发文字, 机器人返回生成图片)
  3. 群发言统计
  4. 群邀请统计
  5. 群积分
  6. 定时发送
  7. 入群欢迎语

从零开始

发送 ping 到机器人, 自动回复 pong

  1. node.js 的开发环境
css 复制代码
npm i wehcaty
npm i wechaty-puppet-xp

安装固定版本的微信 WeChatSetup-3.9.2.23

  1. index.js 编写
vbnet 复制代码
const Wechaty = require("wechaty");
const { PuppetXp } = require("wechaty-puppet-xp")
const { WechatyBuilder } = Wechaty;

const bot = WechatyBuilder.build({
  puppet: puppet,
  name: "bot",
})

bot.on("message", async (msg) => {
  let text = msg.text();
  if (text == "ping") {
    await msg.say("pong");
  }
})

bot.start()

3 node index.js 运行即可

探索更多

更详细的代码例子

实际产品 Pug

相关推荐
WindHunter6159 小时前
越是非标项目,越要先签“需求确认书”
经验分享·微信·制造·微信公众平台
羊群智妍2 天前
跨境、合规、垂类全覆盖 2026 GEO五强服务商适配指南
百度·微信·微信公众平台·新浪微博·segmentfault
sheji34162 天前
【开题答辩全过程】以 微信小程网上书店为例,包含答辩的问题和答案
微信
kyh10033811202 天前
第二个微信小游戏《汉字碰碰消》上线啦!
微信·微信小程序·微信小游戏·去水印微信小程序·养了个羊
kyh10033811203 天前
汉字消除微信小游戏实现教程
微信·微信小游戏·小游戏源码·消除小游戏
陈思杰系统思考Jason3 天前
系统思考:飞轮效应与系统结构
百度·微信·微信公众平台·新浪微博·微信开放平台
YJlio3 天前
WinObj 学习笔记(15.7):看懂内核对象管理器与命名空间的“地图”
linux·服务器·网络·windows·笔记·学习·微信
陈思杰系统思考Jason4 天前
系统思考:复盘第一性原理
百度·微信·微信公众平台·新浪微博·微信开放平台
孙严Pay5 天前
快捷支付:高效安全的在线支付新选择
笔记·科技·计算机网络·其他·微信
开开心心_Every5 天前
免费进销存管理软件:云端本地双部署
java·游戏·微信·eclipse·pdf·excel·语音识别