mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 19:17:38 +08:00
fix private image upload error.
This commit is contained in:
parent
1b08a69f87
commit
a54d978fa9
@ -641,18 +641,20 @@ func (c *QQClient) UploadPrivateImage(target int64, img []byte) (*message.Friend
|
||||
func (c *QQClient) uploadPrivateImage(target int64, img []byte, count int) (*message.FriendImageElement, error) {
|
||||
count++
|
||||
h := md5.Sum(img)
|
||||
e, err := c.QueryFriendImage(target, h[:], int32(len(img)))
|
||||
if err != nil {
|
||||
e, err := c.QueryFriendImage(target, h[:], img, int32(len(img)))
|
||||
if err == ErrNotExists {
|
||||
// use group highway upload and query again for image id.
|
||||
if _, err = c.UploadGroupImage(target, img); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// safe
|
||||
if count >= 5 {
|
||||
return nil, errors.New("upload failed")
|
||||
return e, nil
|
||||
}
|
||||
return c.uploadPrivateImage(target, img, count)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return e, nil
|
||||
}
|
||||
|
||||
@ -689,7 +691,7 @@ func (c *QQClient) QueryGroupImage(groupCode int64, hash []byte, size int32) (*m
|
||||
return nil, errors.New("image not exists")
|
||||
}
|
||||
|
||||
func (c *QQClient) QueryFriendImage(target int64, hash []byte, size int32) (*message.FriendImageElement, error) {
|
||||
func (c *QQClient) QueryFriendImage(target int64, hash, img []byte, size int32) (*message.FriendImageElement, error) {
|
||||
i, err := c.sendAndWait(c.buildOffPicUpPacket(target, hash, size))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -699,7 +701,10 @@ func (c *QQClient) QueryFriendImage(target int64, hash []byte, size int32) (*mes
|
||||
return nil, errors.New(rsp.Message)
|
||||
}
|
||||
if !rsp.IsExists {
|
||||
return nil, errors.New("image not exists")
|
||||
return &message.FriendImageElement{
|
||||
ImageId: rsp.ResourceId,
|
||||
Md5: hash,
|
||||
}, ErrNotExists
|
||||
}
|
||||
return &message.FriendImageElement{
|
||||
ImageId: rsp.ResourceId,
|
||||
|
@ -11,6 +11,7 @@ import (
|
||||
var (
|
||||
ErrAlreadyOnline = errors.New("already online")
|
||||
ErrMemberNotFound = errors.New("member not found")
|
||||
ErrNotExists = errors.New("not exists")
|
||||
)
|
||||
|
||||
type (
|
||||
|
Loading…
x
Reference in New Issue
Block a user