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