From 5fca4cecf16c7db27ba28ab2246d17c515619dd8 Mon Sep 17 00:00:00 2001 From: super1207 <1875159423@qq.com> Date: Fri, 9 Dec 2022 15:56:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D=E7=BE=A4?= =?UTF-8?q?=E8=81=8A=E8=AF=AD=E9=9F=B3=E6=8E=A5=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/group_msg.go | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/client/group_msg.go b/client/group_msg.go index b111bbe2..5a8bce9f 100644 --- a/client/group_msg.go +++ b/client/group_msg.go @@ -15,6 +15,7 @@ import ( "github.com/Mrs4s/MiraiGo/client/internal/highway" "github.com/Mrs4s/MiraiGo/client/internal/network" + "github.com/Mrs4s/MiraiGo/client/pb/cmd0x388" "github.com/Mrs4s/MiraiGo/client/pb/longmsg" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/client/pb/multimsg" @@ -512,12 +513,44 @@ func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage { } } if m.Body.RichText.Ptt != nil { + var url string + if len(m.Body.RichText.Ptt.DownPara) == 0 { + req := &cmd0x388.D388ReqBody{ + NetType: proto.Uint32(3), + Subcmd: proto.Uint32(4), + GetpttUrlReq: []*cmd0x388.GetPttUrlReq{ + { + GroupCode: proto.Uint64(uint64(m.Head.GroupInfo.GroupCode.Unwrap())), + DstUin: proto.Uint64(uint64(m.Head.ToUin.Unwrap())), + Fileid: proto.Uint64(uint64(m.Body.RichText.Ptt.FileId.Unwrap())), + FileMd5: m.Body.RichText.Ptt.FileMd5, + ReqTerm: proto.Uint32(5), + ReqPlatformType: proto.Uint32(9), + InnerIp: proto.Uint32(0), + BuType: proto.Uint32(3), + FileId: proto.Uint64(0), + FileKey: m.Body.RichText.Ptt.FileKey, + ReqTransferType: proto.Uint32(2), + IsAuto: proto.Uint32(1), + }, + }, + } + payload, _ := proto.Marshal(req) + rsp_raw, _ := c.sendAndWaitDynamic(c.uniPacket("PttStore.GroupPttDown", payload)) + rsp := new(cmd0x388.D388RspBody) + proto.Unmarshal(rsp_raw, rsp) + resp := rsp.GetpttUrlRsp[0] + url = "http://" + string(resp.DownDomain) + string(resp.DownPara) + } else { + url = "http://grouptalk.c2c.qq.com" + string(m.Body.RichText.Ptt.DownPara) + } + g.Elements = []message.IMessageElement{ &message.VoiceElement{ Name: m.Body.RichText.Ptt.FileName.Unwrap(), Md5: m.Body.RichText.Ptt.FileMd5, Size: m.Body.RichText.Ptt.FileSize.Unwrap(), - Url: "http://grouptalk.c2c.qq.com" + string(m.Body.RichText.Ptt.DownPara), + Url: url, }, } }