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

fix group gif

This commit is contained in:
wdvxdr 2020-11-14 22:58:23 +08:00
parent a455b21bad
commit bd530da3df
3 changed files with 31 additions and 23 deletions

View File

@ -644,7 +644,11 @@ func (c *QQClient) UploadGroupImage(groupCode int64, img []byte) (*message.Group
} }
return nil, errors.New("upload failed") return nil, errors.New("upload failed")
ok: ok:
return message.NewGroupImage(binary.CalculateImageResourceId(h[:]), h[:], rsp.FileId, int32(len(img)), rsp.Width, rsp.Height), nil var imageType int32 = 1000
if bytes.HasPrefix(img, []byte{0x47, 0x49, 0x46, 0x38}) {
imageType = 2000
}
return message.NewGroupImage(binary.CalculateImageResourceId(h[:]), h[:], rsp.FileId, int32(len(img)), rsp.Width, rsp.Height, imageType), nil
} }
func (c *QQClient) UploadPrivateImage(target int64, img []byte) (*message.FriendImageElement, error) { func (c *QQClient) UploadPrivateImage(target int64, img []byte) (*message.FriendImageElement, error) {
@ -699,7 +703,7 @@ func (c *QQClient) QueryGroupImage(groupCode int64, hash []byte, size int32) (*m
return nil, errors.New(rsp.Message) return nil, errors.New(rsp.Message)
} }
if rsp.IsExists { if rsp.IsExists {
return message.NewGroupImage(binary.CalculateImageResourceId(hash), hash, rsp.FileId, size, rsp.Width, rsp.Height), nil return message.NewGroupImage(binary.CalculateImageResourceId(hash), hash, rsp.FileId, size, rsp.Width, rsp.Height, 1000), nil
} }
return nil, errors.New("image not exists") return nil, errors.New("image not exists")
} }

View File

@ -25,6 +25,7 @@ type ImageElement struct {
type GroupImageElement struct { type GroupImageElement struct {
ImageId string ImageId string
FileId int64 FileId int64
ImageType int32
Size int32 Size int32
Width int32 Width int32
Height int32 Height int32
@ -143,12 +144,13 @@ func NewImage(data []byte) *ImageElement {
} }
} }
func NewGroupImage(id string, md5 []byte, fid int64, size, width, height int32) *GroupImageElement { func NewGroupImage(id string, md5 []byte, fid int64, size, width, height, imageType int32) *GroupImageElement {
return &GroupImageElement{ return &GroupImageElement{
ImageId: id, ImageId: id,
FileId: fid, FileId: fid,
Md5: md5, Md5: md5,
Size: size, Size: size,
ImageType: imageType,
Width: width, Width: width,
Height: height, Height: height,
Url: "http://gchat.qpic.cn/gchatpic_new/1/0-0-" + strings.ReplaceAll(binary.CalculateImageResourceId(md5)[1:37], "-", "") + "/0?term=2", Url: "http://gchat.qpic.cn/gchatpic_new/1/0-0-" + strings.ReplaceAll(binary.CalculateImageResourceId(md5)[1:37], "-", "") + "/0?term=2",

View File

@ -75,9 +75,11 @@ func (e *GroupImageElement) Pack() (r []*msg.Elem) {
CustomFace: &msg.CustomFace{ CustomFace: &msg.CustomFace{
FileType: 66, FileType: 66,
Useful: 1, Useful: 1,
Origin: 1, //Origin: 1,
BizType: 5,
FileId: int32(e.FileId), FileId: int32(e.FileId),
FilePath: e.ImageId, FilePath: e.ImageId,
ImageType: e.ImageType,
Size: e.Size, Size: e.Size,
Md5: e.Md5[:], Md5: e.Md5[:],
Flag: make([]byte, 4), Flag: make([]byte, 4),