平台进阶配置
平台特性
其他机制见此处
白名单
- LR232 存在白名单
- 需要在后台配置白名单,并且添加进 lr232_dispatch 上方的 WHITE_LIST 里
字符
- 使用 QQ 进行字符测试
- 手机中文 25,英文 35
- 窄屏手机中文 24,英文 33
- 电脑中文 50,英文 80,等号一行 24
- 后续发现 QQ 有大字模式,放弃自定义样式(如添加等号,居中等等)
消息长度
- BILI 最多发送 400 字左右,超出会显示消息太长
- WECHAT 最多发送 500 字左右
消息格式变迁
LR232
- 消息体中的 message_scene 字段,以前有 callback_data,现在没了
"message_scene": {"source": "default", "callback_data": ""},- 9 月开始,消息中的表情除了以
<faceType=6,faceId="1",ext="eyJ0ZXh0IjoiIn0=">的形式被接收,还会在附件里添加一张图片。由于表情无任何 id 信息,无法区分图片混杂表情时的顺序
消息收发机制
LR232
- 消息回调
- QQ 机器人开放平台采用 HTTP 接口来接收事件,开发者通过管理端设置回调地址,并选定监听的事件类型,开放平台会将事件通过回调的方式推送给机器人
- 回调地址采用 Ed25519 签名算法进行验证,使用开发者平台提供的 Bot Secret 进行种子扩展生成 32 字节的公钥,将回调消息中的 event_ts 和 plain_token 组合成签名体 msg,根据公钥、签名体调用 Ed25519 算法进行验证
- API 调用
- QQ 机器人服务端开放接口使用 https 方式进行调用。用户需要先使用 AppID 和 AppSecret 调用 api 获取生命周期为 7200 秒的 access_token,再通过在 header 中引入 access_token 进行调用权限验证的方式调用其他 api
LR5921
- HTTP 客户端:NapCat 作为 HTTP 请求的发起方,将消息事件推送至指定的 url
- HTTP 服务端:NapCat 作为 HTTP 请求的接收方,接收对应接口调用并回复
WECHAT
- 回调验证
- 微信公众平台回调验证的方式与 QQ 机器人相同,但签名算法不同
- 开发者需要从请求中获取 signature、echostr、timestamp 和 nonce参数,并将 timestamp 和 nonce 参数与配置中的 token 参数一起进行字典序排序,拼接成一个字符串进行 sha1 加密,并于 signature 进行对比,一致则返回 echostr 的值表示验证成功
- API调用
- 与QQ机器人基本一致
BILI
- B 站平台主要通过带登录态的用户 Cookie 实现 API 调用权限控制,包括获取新消息、发送消息等功能
QQAPP
- QQ 小程序通过 QQ 官方提供的登录能力获取用户身份标识
- 前端调用 qq.login()获取临时登录凭证 code,并回传到开发者服务器
- 服务器调用 code2Session 接口,通过 code、AppID 和 AppSecret 换取用户唯一标识 OpenID 和会话密钥 session_key。

平台审核
LR232
- 之前是有测试员进行群聊和私聊的审核,存在消息记录
- 最近会在提交指令后一会瞬间完成对所有指令的测试,存在一两个与描述不符也可以成功,可能是机器审核
- 大概会在 3-4 天审核完成
- 注意:
- 不用频道的在使用范围里不要添加任何频道,在功能配置里不添加频道功能,即不会触发频道方面的审核,触发“未配置频道指令”的提醒
- 隐私协议怎么改都无法通过
LR5921
- 有时会触发掉线,手机验证后即可重新使用
WECHAT
- 社团公众号申请个人认证无法通过
BILI
- 可以去文档里查看其他的接口及鉴权方式
- 有些接口缺少某些写着非必须的参数也无法调用,可能是 B 站之后调整了
- 有些接口像直播开启,需要特定的请求头并且特定的加密
QQAPP
- 会有测试员逐一测试功能,用户名大概是:"One-8587", "Two-8587", "New Wave"
- 出错时会上传错误视频