/wechat_mp_puppy

通过浏览器自动化实现微信订阅号消息自动中转。帮助订阅号管理者随时和粉丝互动!

Primary LanguageJavaScriptMIT LicenseMIT

概述

微信订阅号现在虽然也可以开启开发者设置了,但是未认证的订阅号能调用的API非常有限,比如:可以接收粉丝消息但无法主动回复。
认证是不可能认证的,一年300不说,还必须是企业,广大个人订阅号纷纷抱怨“我太难了”……
本项目另辟蹊径,采用浏览器自动化方案来实现自动回复客服消息。其实就是模拟普通用户操作浏览器,刷出来粉丝消息就立刻回复。可以做到准实时应答。

安装和运行

  • 首先您需要安装node.js
  • 克隆或者下载本项目到一个本地目录
  • 打开命令行窗口,切换当前目录到上述目录,运行npm install
    注意:本项目依赖的puppeteer会自动下载Chromium浏览器,这个在墙外,因此你需要要么使用cnpm,要么用npm config set proxy=...来设置过墙代理
  • 安装好之后,执行npm start即可启动

说明

  • 本项目启动浏览器后,会自动导航到微信公众平台,首次启动需要用户手动登录,就是先输入账户密码登录,然后用管理员微信扫码。
  • 脚本会在后台不断刷新消息页,发现有新粉丝消息,就转发给管理员,发现管理员消息,就转发给粉丝。这样管理员就能随时和粉丝聊天互动了。
  • 管理员可以同时和多个粉丝互动,见后面消息格式一节详细说明。
  • 启动脚本时需要指定订阅号运营者的openId,例如:
    node index.js oZh_Sw22f2zG27J_wx4aBz57DZw0
  • 如何获取运营者的openId:
    1. 在公众号后台点击用户管理;
    2. 在用户列表中找到运营者,点击名字打开聊天窗口;
    3. 从新窗口地址栏中把页面地址中的tofakeid参数值复制出来,这就是运营者的openId,下面是地址范例:
      https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=message/send&action=index&tofakeid=oZh_Sw22f2zG27J_wx4aBz57DZw0&token=768357127&lang=zh_CN

消息格式

  • 因为多个粉丝都可以和订阅号互动,因此运营者收到的消息格式为:
    [<会话ID>] <粉丝昵称> 说:<消息内容>
    比如: [2] 小马哥 说:在不?
  • 运营者回复时如果前面在消息前加会话ID,就是给指定的粉丝回复消息,否则给收到的最后一条消息的粉丝回复。
    比如:2 亲有什么事?

注意

  • 目前只支持转发文本消息
  • 客服消息只能发给48小时内和公众号有互动的粉丝,因此运营者需要记得定时打卡
  • 因为需要运营者登录,必须使用有界面的Chromium浏览器,所以只能在图形环境下运行
  • 本项目演示了订阅号可编程控制的可能性,其实这种模式还有很大的空间可以发掘,甚至个人订阅号可以拥有不下于服务号的用户体验!
    这绝对会是个重大利好,因为订阅号本来就有成本低廉、可每天群发一次等优势。