project-mirai / mirai-api-http

Mirai HTTP API (console) plugin
GNU Affero General Public License v3.0
1.66k stars 343 forks source link

收到的消息取不到发消息人的qq号 #619

Closed pinro3 closed 2 years ago

pinro3 commented 2 years ago

需要的功能: 我在使用基于mirai-api-http的python插件alicebot的时候, 发现mcl控制台里有qq群号显示以及qq群消息发送者qq显示, alicebot的消息就没有. 消息都是这个文档里https://docs.mirai.mamoe.net/mirai-api-http/api/MessageType.html 的source类型. 我需要获取到消息发送者的qq号.

实际用途: 根据对方qq发起对话.

ryoii commented 2 years ago

你都找到文档了,文档里的 sender.idsender.group.id 不就是你要的东西么

pinro3 commented 2 years ago

你都找到文档了,文档里的 sender.idsender.group.id 不就是你要的东西么

不是我要的东西,我要的是qq号,但是sender.id和sender.group.id 都不是qq号,是识别号. 我收到的好友消息:Event: "{"type": "Source", "id": 42822, "time": 1661825208}嗯" 我收到的群消息:Event: "{"type": "Source", "id": 13, "time": 1661825135}好吧" 虽然我是用第三方插件还没仔细看实现,但是接口的数据类型也能看出端倪. source消息类型的sender.id是int类型的, quote消息类型用来存放qq号和qq群号的数据类型都是long类型的.

ryoii commented 2 years ago

你把问题提到 SDK 吧,你收到的 Source 是文档中 messageChain 的内容,你需要的内容在 sender 里。发送者的所有信息都是有提供的,没有找到就是 SDK 二次封装给丢弃了

pinro3 commented 2 years ago

你把问题提到 SDK 吧,你收到的 Source 是文档中 messageChain 的内容,你需要的内容在 sender 里。发送者的所有信息都是有提供的,没有找到就是 SDK 二次封装给丢弃了

谢谢,换了个SDK,问题解决了.