求助,Kbot 的Bilibili功能异常

发送链接时无反应,在日志里显示解析成功,但接着就报错。已经启用 puppeteer 插件。

2024-05-14 05:23:26 [S] KBot KBot 内置插件加载完毕
2024-05-14 05:23:54 [S] KBot-bilibili-url 成功解析 avid: 「-244101460」
2024-05-14 05:23:54 [W] session https://www.bilibili.com/video/BV17m411U77c?spm_id_from=333.1007.tianma.3-3-9.click
                        TypeError: Cannot read properties of undefined (reading 'owner')
                            at render (/koishi/node_modules/koishi-plugin-kbot/lib/plugins/bilibili/url.js:60:72)
                            at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                            at async /koishi/node_modules/koishi-plugin-kbot/lib/plugins/bilibili/url.js:18:37
                            at async next (/koishi/node_modules/@koishijs/core/lib/index.cjs:860:16)
                            at async next (/koishi/node_modules/@koishijs/core/lib/index.cjs:860:16)
                            at async /koishi/node_modules/koishi-plugin-kbot/lib/plugins/bilibili/url.js:33:20
                            at async next (/koishi/node_modules/@koishijs/core/lib/index.cjs:860:16)
                            at async next (/koishi/node_modules/@koishijs/core/lib/index.cjs:860:16)
                            at async next (/koishi/node_modules/@koishijs/core/lib/index.cjs:860:16)
                            at async next (/koishi/node_modules/@koishijs/core/lib/index.cjs:860:16)
1 个赞

建议不使用kbot

2 个赞

谢谢,我再试试其他插件

1 个赞

换了 bilibili-notify 插件后,是没有报错了,看日志也有图片 Data URI 数据了,但是又有被腾讯拒绝发送消息的错误提示,错误代码是 11255 。请问各位有没有遇到相同错误代码的?

在日志里看到 POST 请求部分 {group_openid} 是undefined,是不是插件没有取到值?

参考信息

在QQ官方文档的 平台接口错误码 章节没找到完全对应的错误码。最相近的错误代码是与权限相关的,但我的机器人应该是有权限的,因为我用 post请求 还是可以发送成功的。奇怪为何在插件里就有这个错误代码。请问各位有没有遇到相同错误代码的情况?错误码 11255

使用Postman成功发送到频道的消息截图:
image

Postman请求:

1 个赞

虽然没出现相同问题,但是看到QQ,图片,报错;还是想推下这个

腾讯官方群聊机器人发图问题

不知道是不是这个的原因 :thinking:

应该不是,我是在公网部署的,有ip,公网可访问,端口已开,auth已配,server-temp 已启用。另外,我用 post 方式手动发的图都能成功。上贴中的截图是发送到频道,之前发的群聊也是成功的。

1 个赞

截图下面怎么不截完()

考虑你是不是带有URL链接触发腾讯的风控(是这样叫么)

日志就这么多,最后一行的 原因: 冒号后没有数据了。我是用它订阅的B站动态,有新动态自动触发。

POST 方法在 Postman 里模拟的就是是发缩略图和提示文字,成功送达。

腾讯的文档 ,这样发图片是可以直接发外部图片文件的url的。

发送到文字子频道

HTTP URL /channels/{channel_id}/messages
HTTP Method POST

消息主体

{
  "content": "【中英字幕】油管百万好评的《编程思维》...",
  "image": "https://i1.hdslb.com/bfs/archive/d59108e132e1a0c36395094ded24de602b6da6c2.png"
}

我验证也成功了,见上面的 频道截图


发送到群

HTTP URL /v2/groups/{group_openid}/messages
HTTP Method POST

这个请求在 Postman 里也能跑通,但我的限额用完了,会返回成功的 audit_idaudit_tips ,但不会返回错误代码。

  {
    "id": "msg_tid_e9f65a3f3a2bd226f4c8b9d0030e0e4c",
    "timestamp": "2024-05-15T15:26:53+08:00",
    "audit_id": "msg_tid_e9f65a3f3a2bd226f4c8b9d0030e0e4c",
    "audit_tips": "group push message is waiting for audit now"
  }

跟进

不同的是, 插件里用的是 /v2/groups/{group_openid}/files ,我在 Postman 中用的是 /v2/groups/{group_openid}/messages 。根据腾讯惜字如金的 官方文档,如果使用 files 方式获取的文件,需设置 srv_send_msg ,我用 POST 请求模拟了一下 files 请求,发现只要加了 srv_send_msg 参数就会返回 400 错误提示 Bad request - please check your parameters ,不加可以成功返回 file_info ,还在看是什么原因导致的。不知道插件里的问题是不是也和这个有关。

1 个赞