From 7f557c197c9bad67df9d0226b832dd8a26ef19a8 Mon Sep 17 00:00:00 2001 From: wdvxdr Date: Fri, 10 Feb 2023 23:39:12 +0800 Subject: [PATCH] client: remove (*QQClient).UseHighwayMessage --- client/client.go | 1 - client/group_msg.go | 49 --------------------------------------------- 2 files changed, 50 deletions(-) diff --git a/client/client.go b/client/client.go index bd66a82a..42be0f47 100644 --- a/client/client.go +++ b/client/client.go @@ -36,7 +36,6 @@ type QQClient struct { // option AllowSlider bool - UseHighwayMessage bool UseFragmentMessage bool // account info diff --git a/client/group_msg.go b/client/group_msg.go index 5a8bce9f..0f316fe3 100644 --- a/client/group_msg.go +++ b/client/group_msg.go @@ -2,7 +2,6 @@ package client import ( "bytes" - "crypto/md5" "encoding/base64" "encoding/json" "math" @@ -13,7 +12,6 @@ import ( "github.com/pkg/errors" - "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" @@ -36,36 +34,17 @@ func init() { // SendGroupMessage 发送群消息 func (c *QQClient) SendGroupMessage(groupCode int64, m *message.SendingMessage) *message.GroupMessage { - useHighwayMessage := false imgCount := 0 for _, e := range m.Elements { switch e.Type() { case message.Image: imgCount++ - case message.Reply: - useHighwayMessage = true } } msgLen := message.EstimateLength(m.Elements) if msgLen > message.MaxMessageSize || imgCount > 50 { return nil } - useHighwayMessage = useHighwayMessage || msgLen > 100 || imgCount > 2 - if useHighwayMessage && c.UseHighwayMessage { - lmsg, err := c.uploadGroupLongMessage(groupCode, - message.NewForwardMessage().AddNode(&message.ForwardNode{ - SenderId: c.Uin, - SenderName: c.Nickname, - Time: int32(time.Now().Unix()), - Message: m.Elements, - })) - if err == nil { - ret := c.sendGroupMessage(groupCode, false, &message.SendingMessage{Elements: []message.IMessageElement{lmsg}}) - ret.Elements = m.Elements - return ret - } - c.error("%v", err) - } return c.sendGroupMessage(groupCode, false, m) } @@ -159,34 +138,6 @@ func (c *QQClient) sendGroupMessage(groupCode int64, forward bool, m *message.Se } } -func (c *QQClient) uploadGroupLongMessage(groupCode int64, m *message.ForwardMessage) (*message.ServiceElement, error) { - ts := time.Now().UnixNano() - seq := c.nextGroupSeq() - data, hash := m.CalculateValidationData(seq, rand.Int31(), groupCode) - rsp, body, err := c.multiMsgApplyUp(groupCode, data, hash, 1) - if err != nil { - return nil, errors.Errorf("upload long message error: %v", err) - } - for i, ip := range rsp.Uint32UpIp { - addr := highway.Addr{IP: uint32(ip), Port: int(rsp.Uint32UpPort[i])} - hash := md5.Sum(body) - input := highway.Transaction{ - CommandID: 27, - Ticket: rsp.MsgSig, - Body: bytes.NewReader(body), - Size: int64(len(body)), - Sum: hash[:], - } - err := c.highwaySession.Upload(addr, input) - if err != nil { - c.error("highway upload long message error: %v", err) - continue - } - return genLongTemplate(rsp.MsgResid, m.Brief(), ts), nil - } - return nil, errors.New("upload long message error: highway server list is empty or not available server.") -} - func (c *QQClient) multiMsgApplyUp(groupCode int64, data []byte, hash []byte, buType int32) (*multimsg.MultiMsgApplyUpRsp, []byte, error) { i, err := c.sendAndWait(c.buildMultiApplyUpPacket(data, hash, buType, utils.ToGroupUin(groupCode))) if err != nil {