diff --git a/.gitignore b/.gitignore index 485dee64..f2ecd3c0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .idea +vendor/ diff --git a/message/elements.go b/message/elements.go index 2666c1af..28449583 100644 --- a/message/elements.go +++ b/message/elements.go @@ -2,10 +2,11 @@ package message import ( "fmt" - "github.com/Mrs4s/MiraiGo/binary" - "github.com/Mrs4s/MiraiGo/client/pb/msg" "strconv" "strings" + + "github.com/Mrs4s/MiraiGo/binary" + "github.com/Mrs4s/MiraiGo/client/pb/msg" ) type TextElement struct { @@ -112,6 +113,12 @@ type RedBagElement struct { Title string } +// TODO: 总之就是非常傻逼 + +type GroupFlashImgElement struct { + ImageElement +} + type GroupFlashPicElement struct { GroupImageElement } @@ -121,6 +128,10 @@ type GroupShowPicElement struct { EffectId int32 } +type FriendFlashImgElement struct { + ImageElement +} + type FriendFlashPicElement struct { FriendImageElement } diff --git a/message/message.go b/message/message.go index 7d71b1d2..d7b9df9a 100644 --- a/message/message.go +++ b/message/message.go @@ -2,16 +2,17 @@ package message import ( "crypto/md5" - "github.com/Mrs4s/MiraiGo/binary" - "github.com/Mrs4s/MiraiGo/client/pb/msg" - "github.com/Mrs4s/MiraiGo/utils" - "github.com/golang/protobuf/proto" - "github.com/tidwall/gjson" "math" "reflect" "regexp" "strconv" "strings" + + "github.com/Mrs4s/MiraiGo/binary" + "github.com/Mrs4s/MiraiGo/client/pb/msg" + "github.com/Mrs4s/MiraiGo/utils" + "github.com/golang/protobuf/proto" + "github.com/tidwall/gjson" ) type ( @@ -480,19 +481,23 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement { flash := &msg.MsgElemInfoServtype3{} _ = proto.Unmarshal(elem.CommonElem.PbElem, flash) if flash.FlashTroopPic != nil { - res = append(res, &ImageElement{ - Filename: flash.FlashTroopPic.FilePath, - Size: flash.FlashTroopPic.Size, - Width: flash.FlashTroopPic.Width, - Height: flash.FlashTroopPic.Height, - Md5: flash.FlashTroopPic.Md5, + res = append(res, &GroupFlashImgElement{ + ImageElement{ + Filename: flash.FlashTroopPic.FilePath, + Size: flash.FlashTroopPic.Size, + Width: flash.FlashTroopPic.Width, + Height: flash.FlashTroopPic.Height, + Md5: flash.FlashTroopPic.Md5, + }, }) } if flash.FlashC2CPic != nil { - res = append(res, &ImageElement{ - Filename: flash.FlashC2CPic.FilePath, - Size: flash.FlashC2CPic.FileLen, - Md5: flash.FlashC2CPic.PicMd5, + res = append(res, &GroupFlashImgElement{ + ImageElement{ + Filename: flash.FlashC2CPic.FilePath, + Size: flash.FlashC2CPic.FileLen, + Md5: flash.FlashC2CPic.PicMd5, + }, }) } }