LagrangeDev / Lagrange.Core

An Implementation of NTQQ Protocol, with Pure C#, Derived from Konata.Core
GNU General Public License v3.0
2.06k stars 260 forks source link

[Bug?]: 回复信息始终带@字段 #266

Closed EvolvedGhost closed 6 months ago

EvolvedGhost commented 6 months ago

请确保您已阅读以上注意事项,并勾选下方的确认框。

Lagrange项目

OneBot

所使用/依赖的Lagrange项目对应的commit

62f48c224a683f4721f1c94f58df5468663ac9d1

运行环境

Linux

运行架构

x64

连接方式

正向 WebSocket

重现步骤

使用者回复一条信息 1564c20039bda4dd230ad6cc0570da9

期望的结果是什么?

第二条消息在OpenShamrock上获取到的Msg类似这样,无@信息的回复则无@字段:

Client received <-- {"time":TIME,"self_id":BOTID,"post_type":"message","message_type":"group","sub_type":"normal","message_id":1775838673,"group_id":GID,"peer_id":BOTID,"user_id":UID,"message":[{"data":{"id":368368749},"type":"reply"},{"data":{"text":"XXX"},"type":"text"}],"raw_message":"[CQ:reply,id=368368749]XXX","font":0,"sender":{"user_id":UID2,"nickname":"nick","card":"","role":"member","title":"","level":""}}

实际的结果是什么?

无论是否@对方,获取到的信息始终带有@字段:

Client received <-- {"message_type":"group","sub_type":"normal","message_id":917015273,"group_id":GID,"user_id":UID,"anonymous":null,"message":[{"type":"text","data":{"text":"test"}}],"raw_message":"test","font":0,"sender":{"user_id":UID,"nickname":"NICKNAME","card":"USERNAME","sex":"unknown","age":0,"area":"","level":"100","role":"owner","title":""},"time":TIME,"self_id":BOTID,"post_type":"message"}
Client received <-- {"message_type":"group","sub_type":"normal","message_id":917096349,"group_id":GID,"user_id":UID,"anonymous":null,"message":[{"type":"reply","data":{"id":"917015273"}},{"type":"at","data":{"qq":"UID"}},{"type":"text","data":{"text":" "}},{"type":"text","data":{"text":"111222333"}}],"raw_message":"[CQ:reply,id=917015273][CQ:at,qq=UID] 111222333","font":0,"sender":{"user_id":UID,"nickname":"NICKNAME","card":"USERNAME","sex":"unknown","age":0,"area":"","level":"100","role":"owner","title":""},"time":TIME,"self_id":BOTID,"post_type":"message"}
Client received <-- {"message_type":"group","sub_type":"normal","message_id":917160494,"group_id":GID,"user_id":UID,"anonymous":null,"message":[{"type":"reply","data":{"id":"917015273"}},{"type":"at","data":{"qq":"UID"}},{"type":"text","data":{"text":" "}},{"type":"at","data":{"qq":"UID"}},{"type":"text","data":{"text":" 111222333"}}],"raw_message":"[CQ:reply,id=917015273][CQ:at,qq=UID] [CQ:at,qq=UID] 111222333","font":0,"sender":{"user_id":UID,"nickname":"NICKNAME","card":"USERNAME","sex":"unknown","age":0,"area":"","level":"100","role":"owner","title":""},"time":TIME,"self_id":BOTID,"post_type":"message"}

日志:

info: Lagrange.Core.BotContext[0]
      [2024-04-01 13:25:03] [MessagingLogic] [VERBOSE]: [MessageChain(GID)(UID)] [Text]: test
info: Lagrange.Core.BotContext[0]
      [2024-04-01 13:25:10] [MessagingLogic] [VERBOSE]: [MessageChain(GID)(UID)] [Forward]: Sequence: 13992 | [Mention]: @username(UID) | [Text]:   | [Text]: 111222333
info: Lagrange.Core.BotContext[0]
      [2024-04-01 13:25:16] [MessagingLogic] [VERBOSE]: [MessageChain(GID)(UID)] [Forward]: Sequence: 13992 | [Mention]: @username(UID) | [Text]:   | [Mention]: @username(UID) | [Text]:  111222333

简单的复现代码/链接(可选)

No response

日志记录(可选)

No response

补充说明(可选)

No response

EvolvedGhost commented 5 months ago

最新版( 4d1fdf4 )下这个问题又出现了,而且好像是之前某个版本就有了

dogdie233 commented 5 months ago

测试了一下,发现这个at已经藏在整段消息里了,即便发送的时候删掉at也一样会有,至于为什么shamrock上报的是没有at的,还不清楚()

EvolvedGhost commented 5 months ago

测试了一下,发现这个at已经藏在整段消息里了,即便发送的时候删掉at也一样会有,至于为什么shamrock上报的是没有at的,还不清楚()

能不能简单的检测到reply+at就删掉一层at保持一致性呢()

因为目前这个原因导致部分onebot实现的指令前缀无法正常识别了💔