微信公众号
微信公众号消息源允许PPAgent与公众号后台进行对接,接收和发送公众号消息。
提示
公众号还支持通过微信对话开放平台来对接。
步骤
- 创建公众号
- 登录后台,在设置与开发-开发接口管理 中,查看账号开发信息,注意不要启用开发者密码
- 同样的菜单下,启用服务器配置,填写服务器地址:http(s)://你的域名/api/{instanceName}/receive(实例名称为配置中的instanceName),消息加密方式选择明文模式
- 建议在账号设置的功能设置中,将您域名加入到业务域名中
- 确保账号设置的授权管理中,当前公众号的消息没有授权到第三方平台接管(如微信对话开放平台),否则是收不到消息的。
支持的消息类型
- 文本消息
- 图片消息
- 语音消息
- 视频消息
- 链接消息
- 位置消息
- 关注/取消关注事件
使用代码配置
微信公众号消息源需要以下配置项:
typescript
const ppagent = new PPAgent({
sources: [
{
name: "wcoa",
options: {
instanceName: "wechat-oa", // 实例名称,必须在全局唯一
appId: "你的微信公众号AppID", // 开发者ID,必填
appSecret: "你的微信公众号AppSecret", // 开发者密码,可以使用__变量形式(如__wechat_oa_secret)
token: "你配置的Token", // 在公众号后台服务器配置中设置的Token,必填
apiBase: "https://api.weixin.qq.com", // API地址,可选,默认为https://api.weixin.qq.com
}
}
],
bots: [...],
agents: [...]
})
服务器运行请参考 install_code.md 文件。
流式回复支持
微信公众号不支持流式回复,但支持使用typing状态提示用户正在输入。当用户发送消息后,微信公众号消息源会自动设置输入状态,让用户知道机器人正在处理消息。
配置注意事项
必须在微信公众平台的"设置与开发 -> 开发接口管理 -> 服务器配置"中设置服务器地址,URL应为
http(s)://你的域名/api/{instanceName}/receive
(实例名称为配置中的instanceName)当前仅支持明文模式,需要在微信公众平台后台设置消息加解密方式为"明文模式"。
必须配置appId、appSecret和token才能正常使用微信公众号消息源。
如果需要保护appSecret,可以使用
__变量
形式(如__wechat_oa_secret
),然后在服务端的.secret.json中配置对应的变量。微信公众号一次回复允许的条数有限,可以在Agent的配置中对拆分的条数进行限制。