From 8764be74616bde87bbbf6c32901cd9f43264d1e0 Mon Sep 17 00:00:00 2001 From: Ivanik Date: Fri, 29 Jan 2021 04:25:14 +0500 Subject: Add vk bridge (#1372) * Add vk bridge * Vk bridge attachments * Vk bridge forwarded messages * Vk bridge sample config and code cleanup * Vk bridge add vendor * Vk bridge message edit * Vk bridge: fix fetching names of other bots * Vk bridge: code cleanup * Vk bridge: fix shadows declaration * Vk bridge: remove UseFileURL --- .../SevereCloud/vksdk/v2/object/photos.go | 339 +++++++++++++++++++++ 1 file changed, 339 insertions(+) create mode 100644 vendor/github.com/SevereCloud/vksdk/v2/object/photos.go (limited to 'vendor/github.com/SevereCloud/vksdk/v2/object/photos.go') diff --git a/vendor/github.com/SevereCloud/vksdk/v2/object/photos.go b/vendor/github.com/SevereCloud/vksdk/v2/object/photos.go new file mode 100644 index 00000000..5adfcae8 --- /dev/null +++ b/vendor/github.com/SevereCloud/vksdk/v2/object/photos.go @@ -0,0 +1,339 @@ +package object // import "github.com/SevereCloud/vksdk/v2/object" + +import ( + "fmt" +) + +// PhotosPhoto struct. +type PhotosPhoto struct { + AccessKey string `json:"access_key"` // Access key for the photo + AlbumID int `json:"album_id"` // Album ID + Date int `json:"date"` // Date when uploaded + Height int `json:"height"` // Original photo height + ID int `json:"id"` // Photo ID + Images []PhotosImage `json:"images"` + Lat float64 `json:"lat"` // Latitude + Long float64 `json:"long"` // Longitude + OwnerID int `json:"owner_id"` // Photo owner's ID + PostID int `json:"post_id"` // Post ID + Text string `json:"text"` // Photo caption + UserID int `json:"user_id"` // ID of the user who have uploaded the photo + Width int `json:"width"` // Original photo width + CanUpload BaseBoolInt `json:"can_upload"` + CommentsDisabled BaseBoolInt `json:"comments_disabled"` + ThumbIsLast BaseBoolInt `json:"thumb_is_last"` + UploadByAdminsOnly BaseBoolInt `json:"upload_by_admins_only"` + HasTags BaseBoolInt `json:"has_tags"` + Created int `json:"created"` + Description string `json:"description"` + PrivacyComment []string `json:"privacy_comment"` + PrivacyView []string `json:"privacy_view"` + Size int `json:"size"` + Sizes []PhotosPhotoSizes `json:"sizes"` + ThumbID int `json:"thumb_id"` + ThumbSrc string `json:"thumb_src"` + Title string `json:"title"` + Updated int `json:"updated"` + Color string `json:"color"` +} + +// ToAttachment return attachment format. +func (photo PhotosPhoto) ToAttachment() string { + return fmt.Sprintf("photo%d_%d", photo.OwnerID, photo.ID) +} + +// MaxSize return the largest PhotosPhotoSizes. +func (photo PhotosPhoto) MaxSize() (maxPhotoSize PhotosPhotoSizes) { + var max float64 + + for _, photoSize := range photo.Sizes { + size := photoSize.Height * photoSize.Width + if size > max { + max = size + maxPhotoSize = photoSize + } + } + + return +} + +// MinSize return the smallest PhotosPhotoSizes. +func (photo PhotosPhoto) MinSize() (minPhotoSize PhotosPhotoSizes) { + var min float64 + + for _, photoSize := range photo.Sizes { + size := photoSize.Height * photoSize.Width + if size < min || min == 0 { + min = size + minPhotoSize = photoSize + } + } + + return +} + +// PhotosCommentXtrPid struct. +type PhotosCommentXtrPid struct { + Attachments []WallCommentAttachment `json:"attachments"` + Date int `json:"date"` // Date when the comment has been added in Unixtime + FromID int `json:"from_id"` // Author ID + ID int `json:"id"` // Comment ID + Likes BaseLikesInfo `json:"likes"` + ParentsStack []int `json:"parents_stack"` + Pid int `json:"pid"` // Photo ID + ReplyToComment int `json:"reply_to_comment"` // Replied comment ID + ReplyToUser int `json:"reply_to_user"` // Replied user ID + Text string `json:"text"` // Comment text + Thread WallWallCommentThread `json:"thread"` +} + +// PhotosImage struct. +type PhotosImage struct { + BaseImage + Type string `json:"type"` +} + +// PhotosChatUploadResponse struct. +type PhotosChatUploadResponse struct { + Response string `json:"response"` // Uploaded photo data +} + +// PhotosMarketAlbumUploadResponse struct. +type PhotosMarketAlbumUploadResponse struct { + GID int `json:"gid"` // Community ID + Hash string `json:"hash"` // Uploading hash + Photo string `json:"photo"` // Uploaded photo data + Server int `json:"server"` // Upload server number +} + +// PhotosMarketUploadResponse struct. +type PhotosMarketUploadResponse struct { + CropData string `json:"crop_data"` // Crop data + CropHash string `json:"crop_hash"` // Crop hash + GroupID int `json:"group_id"` // Community ID + Hash string `json:"hash"` // Uploading hash + Photo string `json:"photo"` // Uploaded photo data + Server int `json:"server"` // Upload server number +} + +// PhotosMessageUploadResponse struct. +type PhotosMessageUploadResponse struct { + Hash string `json:"hash"` // Uploading hash + Photo string `json:"photo"` // Uploaded photo data + Server int `json:"server"` // Upload server number +} + +// PhotosOwnerUploadResponse struct. +type PhotosOwnerUploadResponse struct { + Hash string `json:"hash"` // Uploading hash + Photo string `json:"photo"` // Uploaded photo data + Server int `json:"server"` // Upload server number +} + +// PhotosPhotoAlbum struct. +type PhotosPhotoAlbum struct { + Created int `json:"created"` // Date when the album has been created in Unixtime + Description string `json:"description"` // Photo album description + ID string `json:"id"` // BUG(VK): Photo album ID + OwnerID int `json:"owner_id"` // Album owner's ID + Size int `json:"size"` // Photos number + Thumb PhotosPhoto `json:"thumb"` + Title string `json:"title"` // Photo album title + Updated int `json:"updated"` // Date when the album has been updated last time in Unixtime +} + +// ToAttachment return attachment format. +func (album PhotosPhotoAlbum) ToAttachment() string { + return fmt.Sprintf("album%d_%s", album.OwnerID, album.ID) +} + +// PhotosPhotoAlbumFull struct. +type PhotosPhotoAlbumFull struct { + // Information whether current user can upload photo to the album. + CanUpload BaseBoolInt `json:"can_upload"` + CommentsDisabled BaseBoolInt `json:"comments_disabled"` // Information whether album comments are disabled + Created int `json:"created"` // Date when the album has been created in Unixtime + Description string `json:"description"` // Photo album description + ID int `json:"id"` // Photo album ID + OwnerID int `json:"owner_id"` // Album owner's ID + Size int `json:"size"` // Photos number + PrivacyComment Privacy `json:"privacy_comment"` + PrivacyView Privacy `json:"privacy_view"` + Sizes []PhotosPhotoSizes `json:"sizes"` + ThumbID int `json:"thumb_id"` // Thumb photo ID + + // Information whether the album thumb is last photo. + ThumbIsLast int `json:"thumb_is_last"` + ThumbSrc string `json:"thumb_src"` // URL of the thumb image + Title string `json:"title"` // Photo album title + + // Date when the album has been updated last time in Unixtime. + Updated int `json:"updated"` + + // Information whether only community administrators can upload photos. + UploadByAdminsOnly int `json:"upload_by_admins_only"` +} + +// ToAttachment return attachment format. +func (album PhotosPhotoAlbumFull) ToAttachment() string { + return fmt.Sprintf("album%d_%d", album.OwnerID, album.ID) +} + +// MaxSize return the largest PhotosPhotoSizes. +func (album PhotosPhotoAlbumFull) MaxSize() (maxPhotoSize PhotosPhotoSizes) { + var max float64 + + for _, photoSize := range album.Sizes { + size := photoSize.Height * photoSize.Width + if size > max { + max = size + maxPhotoSize = photoSize + } + } + + return +} + +// MinSize return the smallest PhotosPhotoSizes. +func (album PhotosPhotoAlbumFull) MinSize() (minPhotoSize PhotosPhotoSizes) { + var min float64 + + for _, photoSize := range album.Sizes { + size := photoSize.Height * photoSize.Width + if size < min || min == 0 { + min = size + minPhotoSize = photoSize + } + } + + return +} + +// PhotosPhotoFull struct. +type PhotosPhotoFull struct { + AccessKey string `json:"access_key"` // Access key for the photo + AlbumID int `json:"album_id"` // Album ID + CanComment BaseBoolInt `json:"can_comment"` // Information whether current user can comment the photo + CanRepost BaseBoolInt `json:"can_repost"` // Information whether current user can repost the photo + HasTags BaseBoolInt `json:"has_tags"` + Comments BaseObjectCount `json:"comments"` + Date int `json:"date"` // Date when uploaded + Height int `json:"height"` // Original photo height + ID int `json:"id"` // Photo ID + Images []PhotosImage `json:"images"` + Lat float64 `json:"lat"` // Latitude + Likes BaseLikes `json:"likes"` + Long float64 `json:"long"` // Longitude + OwnerID int `json:"owner_id"` // Photo owner's ID + PostID int `json:"post_id"` // Post ID + Reposts BaseRepostsInfo `json:"reposts"` + Tags BaseObjectCount `json:"tags"` + Text string `json:"text"` // Photo caption + UserID int `json:"user_id"` // ID of the user who have uploaded the photo + Width int `json:"width"` // Original photo width + Hidden int `json:"hidden"` // Returns if the photo is hidden above the wall + Photo75 string `json:"photo_75"` // URL of image with 75 px width + Photo130 string `json:"photo_130"` // URL of image with 130 px width + Photo604 string `json:"photo_604"` // URL of image with 604 px width + Photo807 string `json:"photo_807"` // URL of image with 807 px width + Photo1280 string `json:"photo_1280"` // URL of image with 1280 px width + Photo2560 string `json:"photo_2560"` // URL of image with 2560 px width + Sizes []PhotosPhotoSizes `json:"sizes"` +} + +// ToAttachment return attachment format. +func (photo PhotosPhotoFull) ToAttachment() string { + return fmt.Sprintf("photo%d_%d", photo.OwnerID, photo.ID) +} + +// MaxSize return the largest PhotosPhotoSizes. +func (photo PhotosPhotoFull) MaxSize() (maxPhotoSize PhotosPhotoSizes) { + var max float64 + + for _, photoSize := range photo.Sizes { + size := photoSize.Height * photoSize.Width + if size > max { + max = size + maxPhotoSize = photoSize + } + } + + return +} + +// MinSize return the smallest PhotosPhotoSizes. +func (photo PhotosPhotoFull) MinSize() (minPhotoSize PhotosPhotoSizes) { + var min float64 + + for _, photoSize := range photo.Sizes { + size := photoSize.Height * photoSize.Width + if size < min || min == 0 { + min = size + minPhotoSize = photoSize + } + } + + return +} + +// PhotosPhotoFullXtrRealOffset struct. +type PhotosPhotoFullXtrRealOffset struct { + PhotosPhotoFull + RealOffset int `json:"real_offset"` // Real position of the photo +} + +// PhotosPhotoSizes struct. +type PhotosPhotoSizes struct { + // BUG(VK): json: cannot unmarshal number 180.000000 into Go struct field PhotosPhotoSizes.height of type int + BaseImage +} + +// PhotosPhotoTag struct. +type PhotosPhotoTag struct { + Date int `json:"date"` // Date when tag has been added in Unixtime + ID int `json:"id"` // Tag ID + PlacerID int `json:"placer_id"` // ID of the tag creator + TaggedName string `json:"tagged_name"` // Tag description + Description string `json:"description"` // Tagged description. + UserID int `json:"user_id"` // Tagged user ID + Viewed BaseBoolInt `json:"viewed"` // Information whether the tag is reviewed + X float64 `json:"x"` // Coordinate X of the left upper corner + X2 float64 `json:"x2"` // Coordinate X of the right lower corner + Y float64 `json:"y"` // Coordinate Y of the left upper corner + Y2 float64 `json:"y2"` // Coordinate Y of the right lower corner +} + +// PhotosPhotoUpload struct. +type PhotosPhotoUpload struct { + AlbumID int `json:"album_id"` // Album ID + UploadURL string `json:"upload_url"` // URL to upload photo + UserID int `json:"user_id"` // User ID +} + +// PhotosPhotoUploadResponse struct. +type PhotosPhotoUploadResponse struct { + AID int `json:"aid"` // Album ID + Hash string `json:"hash"` // Uploading hash + PhotosList string `json:"photos_list"` // Uploaded photos data + Server int `json:"server"` // Upload server number +} + +// PhotosPhotoXtrRealOffset struct. +type PhotosPhotoXtrRealOffset struct { + PhotosPhoto + RealOffset int `json:"real_offset"` // Real position of the photo +} + +// PhotosPhotoXtrTagInfo struct. +type PhotosPhotoXtrTagInfo struct { + PhotosPhoto + TagCreated int `json:"tag_created"` // Date when tag has been added in Unixtime + TagID int `json:"tag_id"` // Tag ID +} + +// PhotosWallUploadResponse struct. +type PhotosWallUploadResponse struct { + Hash string `json:"hash"` // Uploading hash + Photo string `json:"photo"` // Uploaded photo data + Server int `json:"server"` // Upload server number +} -- cgit v1.2.3