mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-05 03:23:50 +08:00
Merge branch 'master' of github.com:/Mrs4s/MiraiGo
This commit is contained in:
commit
baf792f68a
@ -52,18 +52,18 @@ func (c *QQClient) SendGroupMessage(groupCode int64, m *message.SendingMessage,
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if !useFram && (msgLen > 100 || imgCount > 2) {
|
if !useFram && (msgLen > 100 || imgCount > 2) {
|
||||||
ret := c.sendGroupMessage(groupCode, false,
|
lmsg, err := c.uploadGroupLongMessage(groupCode,
|
||||||
&message.SendingMessage{Elements: []message.IMessageElement{
|
|
||||||
c.uploadGroupLongMessage(groupCode,
|
|
||||||
message.NewForwardMessage().AddNode(&message.ForwardNode{
|
message.NewForwardMessage().AddNode(&message.ForwardNode{
|
||||||
SenderId: c.Uin,
|
SenderId: c.Uin,
|
||||||
SenderName: c.Nickname,
|
SenderName: c.Nickname,
|
||||||
Time: int32(time.Now().Unix()),
|
Time: int32(time.Now().Unix()),
|
||||||
Message: m.Elements,
|
Message: m.Elements,
|
||||||
}),
|
}))
|
||||||
),
|
if err != nil {
|
||||||
}},
|
c.Error("%v", err)
|
||||||
)
|
return nil
|
||||||
|
}
|
||||||
|
ret := c.sendGroupMessage(groupCode, false, &message.SendingMessage{Elements: []message.IMessageElement{lmsg}})
|
||||||
ret.Elements = m.Elements
|
ret.Elements = m.Elements
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
@ -160,17 +160,13 @@ func (c *QQClient) sendGroupMessage(groupCode int64, forward bool, m *message.Se
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *QQClient) uploadGroupLongMessage(groupCode int64, m *message.ForwardMessage) *message.ServiceElement {
|
func (c *QQClient) uploadGroupLongMessage(groupCode int64, m *message.ForwardMessage) (*message.ServiceElement, error) {
|
||||||
if m.Length() >= 200 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
ts := time.Now().UnixNano()
|
ts := time.Now().UnixNano()
|
||||||
seq := c.nextGroupSeq()
|
seq := c.nextGroupSeq()
|
||||||
data, hash := m.CalculateValidationData(seq, rand.Int31(), groupCode)
|
data, hash := m.CalculateValidationData(seq, rand.Int31(), groupCode)
|
||||||
rsp, body, err := c.multiMsgApplyUp(groupCode, data, hash, 1)
|
rsp, body, err := c.multiMsgApplyUp(groupCode, data, hash, 1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Error("upload long message error: %v", err)
|
return nil, errors.Errorf("upload long message error: %v", err)
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
for i, ip := range rsp.Uint32UpIp {
|
for i, ip := range rsp.Uint32UpIp {
|
||||||
err := c.highwayUpload(uint32(ip), int(rsp.Uint32UpPort[i]), rsp.MsgSig, body, 27)
|
err := c.highwayUpload(uint32(ip), int(rsp.Uint32UpPort[i]), rsp.MsgSig, body, 27)
|
||||||
@ -178,10 +174,9 @@ func (c *QQClient) uploadGroupLongMessage(groupCode int64, m *message.ForwardMes
|
|||||||
c.Error("highway upload long message error: %v", err)
|
c.Error("highway upload long message error: %v", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
return genLongTemplate(rsp.MsgResid, m.Brief(), ts)
|
return genLongTemplate(rsp.MsgResid, m.Brief(), ts), nil
|
||||||
}
|
}
|
||||||
c.Error("upload long message error: highway server list is empty or not available server.")
|
return nil, errors.New("upload long message error: highway server list is empty or not available server.")
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *QQClient) UploadGroupForwardMessage(groupCode int64, m *message.ForwardMessage) *message.ForwardElement {
|
func (c *QQClient) UploadGroupForwardMessage(groupCode int64, m *message.ForwardMessage) *message.ForwardElement {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user