Closed ghost closed 8 months ago
基于go-cqhttp连接方式的自定义命令功能不能正确处理消息段数组
向qqtools发送以下符合onebot-11标准的群消息(敏感字段已用星号代替)
qqtools
onebot-11
{ "message_type": "group", "sub_type": "normal", "message_id": **********, "group_id": **********, "user_id": **********, "anonymous": null, "message": [ { "type": "text", "data": { "text": "test" } } ], "raw_message": "", "font": 0, "sender": { "user_id": **********, "nickname": "**********", "card": null, "sex": "unknown", "age": 0, "area": "", "level": "2", "role": "member", "title": "" }, "time": 1704251194, "self_id": **********, "post_type": "message" }
并设置qqtools自定义命令:
然后qqtools未回复消息
(若将raw_message字段填充上文本消息内容,则qqtools可以正确响应)
raw_message
自定义命令功能正确处理符合onebot-11的消息段数组
5.4.0
问题应该是出在这几行代码: https://github.com/duan602728596/qqtools/blob/95b8c8c64d40a4221e7f059f85834aa18b90c7dd/packages/qqtools/src/QQ/QQBotModals/GoCQHttp.ts#L43-L51
我不太看得懂ts的语法,但感觉大概是if判断写得有问题,导致没有优先按照消息段数组来解析命令,而是从raw_message中来解析命令了
噢我发现使用最新commit在本地build后,没有这个问题了 看来我上面贴出来的代码是对的,只不过还没有release最新版而已
错误报告
基于go-cqhttp连接方式的自定义命令功能不能正确处理消息段数组
复现步骤
向
qqtools
发送以下符合onebot-11
标准的群消息(敏感字段已用星号代替)并设置![image](https://github.com/duan602728596/qqtools/assets/46233705/6d9c431e-a185-42fc-b63b-920c003e6ded)
qqtools
自定义命令:然后
qqtools
未回复消息(若将
raw_message
字段填充上文本消息内容,则qqtools
可以正确响应)预期行为
自定义命令功能正确处理符合
onebot-11
的消息段数组使用环境
5.4.0