微信机器人简易入门

微信机器人三种实现方式

  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

相关推荐
随性而行3601 天前
企业微信 Webhook 接收不到消息?网络连通性、URL 签名验签与 API 返回错误码排查指南
java·网络·人工智能·后端·微信·企业微信
未秃头的程序猿2 天前
同一个商户号,V2 免密代扣和 V3 分账的证书怎么共存?
java·后端·微信
木易 士心2 天前
Spring Boot 微信公众号后端服务开发实战指南
spring boot·后端·微信
linda`li4 天前
如何使用TRAE+Figma自动生成前端代码
微信·figma·自动写代码
随性而行3605 天前
企业微信 API 如何实现业务消息自动通知?接口应用场景解析
java·人工智能·后端·微信·机器人·企业微信
极客互动API5 天前
企业微信二次开发 API:如何与 SCRM 打通外部联系人的消息发送
微信·企业微信·企微scrm·企业微信api·企微外部联系人
随性而行36010 天前
企业微信API调用案例:如何通过接口实现多账号统一管理与业务接入?
运维·微信·机器人·自动化·企业微信
随性而行36010 天前
企业微信API接口开发实战:如何实现消息回调接收与业务事件处理?
java·前端·python·微信·机器人·企业微信
Eddyp10 天前
涡街 电磁流量计、压力变送器,手操器组态实操要点
微信·微信公众平台·facebook·新浪微博·微信开放平台