From a9b245404290ee795b082d3a1fbca319c75f3bc6 Mon Sep 17 00:00:00 2001 From: Mrs4s <1844812067@qq.com> Date: Tue, 28 Jul 2020 02:46:12 +0800 Subject: [PATCH] fix issue of forward message sending. --- client/client.go | 1 - client/decoders.go | 2 +- message/message.go | 8 +++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/client/client.go b/client/client.go index efa72684..2b05c7ed 100644 --- a/client/client.go +++ b/client/client.go @@ -282,7 +282,6 @@ func (c *QQClient) GetForwardMessage(resId string) *message.ForwardMessage { return ret } -// 目前手机端无法解析,可能是加密的问题,等待修复 func (c *QQClient) SendForwardMessage(groupCode int64, m *message.ForwardMessage) *message.GroupMessage { if len(m.Nodes) >= 200 { return nil diff --git a/client/decoders.go b/client/decoders.go index d11fc31d..3730af50 100644 --- a/client/decoders.go +++ b/client/decoders.go @@ -717,7 +717,7 @@ func decodeMultiApplyDownResponse(c *QQClient, _ uint16, payload []byte) (interf i1 := r.ReadInt32() i2 := r.ReadInt32() if i1 > 0 { - r.ReadBytes(int(i1)) // highway head + r.ReadBytes(int(i1)) // im msg head } data := tea.Decrypt(r.ReadBytes(int(i2))) lb := longmsg.LongRspBody{} diff --git a/message/message.go b/message/message.go index 36a489ca..44af7d32 100644 --- a/message/message.go +++ b/message/message.go @@ -378,7 +378,13 @@ func (forMsg *ForwardMessage) CalculateValidationData(seq, random int32, groupCo }, }) } - trans := &msg.PbMultiMsgTransmit{Msg: msgs} + buf, _ := proto.Marshal(&msg.PbMultiMsgNew{Msg: msgs}) + trans := &msg.PbMultiMsgTransmit{Msg: msgs, PbItemList: []*msg.PbMultiMsgItem{ + { + FileName: "MultiMsg", + Buffer: buf, + }, + }} b, _ := proto.Marshal(trans) data := binary.GZipCompress(b) hash := md5.Sum(data)