0
点赞
收藏
分享

微信扫一扫

微信机器人的曲线实现

蒸熟的土豆 2021-09-28 阅读 157
Blog

原文地址:https://alphahinex.github.io/2021/02/21/wechat-mp-services/


description: "基于未认证订阅号的功能受限版本"
date: 2021.02.21 10:36
categories:
- Others
tags: [Others]
keywords: 微信, 微信公众号, 自动回复, 订阅号, 机器人, hubot


在知道了 Hubot 之后,就一直想在微信里也有一个类似的机器人。虽然也有不少微信的 hubot adapter,但基本都是基于网页版微信实现的,而微信对网页版微信的态度,让人深刻的感受到,作为国内的超级 App 所承担的责任。

之后在 Slack 中用了一段 Hubot,还是挺不错的,但是在国内使用 Slack,无论是桌面端还是移动端,还都是有些难度和不稳定的。

微信公众平台,给出了一个微信官方支持的,微信机器人的实现方式,公众平台提供的接口比较有限,尤其是对未认证的订阅号,提供的接口更少,但基本的被动回复消息的功能还是有的,这就给出了一定的空间来让我们在微信中,实现一个问答方式的机器人。

实例

先看看实例,可以关注 AlphaHinex 进行体验。

查询汉字笔顺

向公众号发送单个汉字,回复该汉字的笔顺。如:

发送

得到:

生成二维码

发送 qr <content>,会得到 <content> 内容对应的二维码图片。如:

发送 qr https://alphahinex.github.io

得到:

Google 搜索

发送 g <content>,得到使用 Google 搜索的前 10 条记录。如:

实时十大 Hacker News

发送 hn,得到类似如下内容:

base64/unicode 编解码

使用 base64 及 unicode 关键字,加 encode 和 decode,进行对应的编解码:

抽奖

发送带 四字消息,得到抽奖结果演示文字:

回声

发送其他无特定含义的消息内容,会将内容原封不动的返回,并增加 , you said. 后缀,如:

源码

源码 仿照 Hubot 的目录结构,将每类回复的脚本作为一个单独的文件,放在了 scripts 路径下。入口文件为 wechat-mp-server.js

受限于订阅号的 被动回复用户消息 机制,只能被动响应用户发送过来的消息,并且只能回复一次;回复消息的类型、内容及长度,也都是有一定的限制的;回复图片等内容时,还需要先上传到公众号的素材库……

不过这种 请求 - 响应 的模式,也是能够实现一些好玩的功能的,比如 ChatOps 等。您有什么有趣的想法吗?或者,直接提个 PR 也是欢迎的!

举报

相关推荐

0 条评论