1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00

Merge pull request #256 from fumiama/master

fix: send message to self error
This commit is contained in:
Mrs4s 2022-04-28 23:55:02 +08:00 committed by GitHub
commit a4cf95f793
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 3 deletions

View File

@ -638,6 +638,12 @@ func (c *QQClient) GetMemberInfo(groupCode, memberUin int64) (*GroupMemberInfo,
} }
func (c *QQClient) FindFriend(uin int64) *FriendInfo { func (c *QQClient) FindFriend(uin int64) *FriendInfo {
if uin == c.Uin {
return &FriendInfo{
Uin: uin,
Nickname: c.Nickname,
}
}
for _, t := range c.FriendList { for _, t := range c.FriendList {
f := t f := t
if f.Uin == uin { if f.Uin == uin {

View File

@ -29,7 +29,7 @@ func (c *QQClient) SendPrivateMessage(target int64, m *message.SendingMessage) *
if msgLen > message.MaxMessageSize || imgCount > 50 { if msgLen > message.MaxMessageSize || imgCount > 50 {
return nil return nil
} }
if frag && (msgLen > 300 || imgCount > 2) { if frag && (msgLen > 300 || imgCount > 2) && target == c.Uin {
div := int32(rand.Uint32()) div := int32(rand.Uint32())
fragmented := m.ToFragmented() fragmented := m.ToFragmented()
for i, elems := range fragmented { for i, elems := range fragmented {
@ -42,8 +42,10 @@ func (c *QQClient) SendPrivateMessage(target int64, m *message.SendingMessage) *
} }
} else { } else {
seq = c.nextFriendSeq() seq = c.nextFriendSeq()
_, pkt := c.buildFriendSendingPacket(target, seq, mr, 1, 0, 0, t, m.Elements) if target != c.Uin {
_ = c.sendPacket(pkt) _, pkt := c.buildFriendSendingPacket(target, seq, mr, 1, 0, 0, t, m.Elements)
_ = c.sendPacket(pkt)
}
} }
c.stat.MessageSent.Add(1) c.stat.MessageSent.Add(1)
ret := &message.PrivateMessage{ ret := &message.PrivateMessage{