mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 11:07:40 +08:00
client: minor update
This commit is contained in:
parent
0578942d86
commit
bd6f8947ef
@ -14,7 +14,6 @@ import (
|
||||
"go.uber.org/atomic"
|
||||
|
||||
"github.com/Mrs4s/MiraiGo/binary"
|
||||
"github.com/Mrs4s/MiraiGo/binary/jce"
|
||||
"github.com/Mrs4s/MiraiGo/client/internal/auth"
|
||||
"github.com/Mrs4s/MiraiGo/client/internal/highway"
|
||||
"github.com/Mrs4s/MiraiGo/client/internal/network"
|
||||
@ -74,8 +73,8 @@ type QQClient struct {
|
||||
// timeDiff int64
|
||||
|
||||
// address
|
||||
otherSrvAddrs []string
|
||||
fileStorageInfo *jce.FileStoragePushFSSvcList
|
||||
// otherSrvAddrs []string
|
||||
// fileStorageInfo *jce.FileStoragePushFSSvcList
|
||||
|
||||
// message state
|
||||
msgSvcCache *utils.Cache
|
||||
|
@ -3,7 +3,6 @@ package client
|
||||
import (
|
||||
"crypto/md5"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"net"
|
||||
"strconv"
|
||||
"strings"
|
||||
@ -343,7 +342,7 @@ func decodePushReqPacket(c *QQClient, _ *network.IncomingPacketInfo, payload []b
|
||||
list := &jce.FileStoragePushFSSvcList{}
|
||||
list.ReadFrom(fmtPkt)
|
||||
c.Debug("got file storage svc push.")
|
||||
c.fileStorageInfo = list
|
||||
// c.fileStorageInfo = list
|
||||
rsp := cmd0x6ff.C501RspBody{}
|
||||
if err := proto.Unmarshal(list.BigDataChannel.PbBuf, &rsp); err == nil && rsp.RspBody != nil {
|
||||
c.highwaySession.SigSession = rsp.RspBody.SigSession
|
||||
@ -354,11 +353,14 @@ func decodePushReqPacket(c *QQClient, _ *network.IncomingPacketInfo, payload []b
|
||||
c.highwaySession.AppendAddr(addr.GetIp(), addr.GetPort())
|
||||
}
|
||||
}
|
||||
if srv.GetServiceType() == 21 {
|
||||
for _, addr := range srv.Addrs {
|
||||
c.otherSrvAddrs = append(c.otherSrvAddrs, fmt.Sprintf("%v:%v", binary.UInt32ToIPV4Address(addr.GetIp()), addr.GetPort()))
|
||||
/*
|
||||
if srv.GetServiceType() == 21 {
|
||||
for _, addr := range srv.Addrs {
|
||||
c.otherSrvAddrs = append(c.otherSrvAddrs, fmt.Sprintf("%v:%v", binary.UInt32ToIPV4Address(addr.GetIp()), addr.GetPort()))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ func (t *Transport) ReadResponse(head []byte) (*Response, error) {
|
||||
func (t *Transport) readSSOFrame(resp *Response, payload []byte) error {
|
||||
reader := binary.NewReader(payload)
|
||||
headLen := reader.ReadInt32()
|
||||
if headLen-4 > int32(reader.Len()) {
|
||||
if headLen < 4 || headLen-4 > int32(reader.Len()) {
|
||||
return errors.WithStack(ErrPacketDropped)
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"math"
|
||||
"time"
|
||||
@ -190,23 +191,18 @@ func (c *QQClient) DownloadForwardMessage(resId string) *message.ForwardElement
|
||||
if multiMsg.PbItemList == nil {
|
||||
return nil
|
||||
}
|
||||
var pv string
|
||||
var pv bytes.Buffer
|
||||
for i := 0; i < int(math.Min(4, float64(len(multiMsg.Msg)))); i++ {
|
||||
m := multiMsg.Msg[i]
|
||||
pv += fmt.Sprintf(`<title size="26" color="#777777">%s: %s</title>`,
|
||||
func() string {
|
||||
if m.Head.GetMsgType() == 82 && m.Head.GroupInfo != nil {
|
||||
return m.Head.GroupInfo.GetGroupCard()
|
||||
}
|
||||
return m.Head.GetFromNick()
|
||||
}(),
|
||||
message.ToReadableString(
|
||||
message.ParseMessageElems(multiMsg.Msg[i].Body.RichText.Elems),
|
||||
),
|
||||
)
|
||||
sender := m.Head.GetFromNick()
|
||||
if m.Head.GetMsgType() == 82 && m.Head.GroupInfo != nil {
|
||||
sender = m.Head.GroupInfo.GetGroupCard()
|
||||
}
|
||||
brief := message.ToReadableString(message.ParseMessageElems(multiMsg.Msg[i].Body.RichText.Elems))
|
||||
fmt.Fprintf(&pv, `<title size="26" color="#777777">%s: %s</title>`, sender, brief)
|
||||
}
|
||||
return genForwardTemplate(
|
||||
resId, pv, "群聊的聊天记录", "[聊天记录]", "聊天记录",
|
||||
resId, pv.String(), "群聊的聊天记录", "[聊天记录]", "聊天记录",
|
||||
fmt.Sprintf("查看 %d 条转发消息", len(multiMsg.Msg)),
|
||||
time.Now().UnixNano(),
|
||||
multiMsg.PbItemList,
|
||||
|
Loading…
x
Reference in New Issue
Block a user