微信机器人简易入门

微信机器人三种实现方式

  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

相关推荐
开开心心_Every7 小时前
文件数量统计工具:支持多层文件夹数量统计
游戏·微信·pdf·excel·语音识别·swift·lisp
说私域1 天前
基于AI客服链动2+1模式商城小程序的社群运营策略研究——以千人社群活跃度提升为例
人工智能·微信·小程序·私域运营
说私域1 天前
基于AI智能名片链动2+1模式S2B2C商城小程序的流量运营策略研究
人工智能·微信·小程序·产品运营·流量运营
开开心心_Every2 天前
图片批量压缩工具:支持有损无损两种模式
python·游戏·微信·django·pdf·excel·语音识别
说私域3 天前
社交驱动下的商业模式进化:AI智能名片链动2+1模式S2B2C商城小程序的融合创新
人工智能·微信·小程序·开源
复园电子4 天前
在不重构LIMS的前提下,实现合规电子签名:一种可落地的架构与实现思路
服务器·网络·微信
陈思杰系统思考Jason5 天前
系统思考:信任自然生长
百度·微信·微信公众平台·新浪微博·微信开放平台
开开心心_Every6 天前
强制打字练习工具:打够百字才可退出
java·游戏·微信·eclipse·pdf·excel·语音识别
开开心心_Every6 天前
多端免费远程控制工具:4K流畅同账号直连
游戏·macos·微信·pdf·excel·语音识别·phpstorm
WindHunter6157 天前
越是非标项目,越要先签“需求确认书”
经验分享·微信·制造·微信公众平台