mirror of
https://github.com/42wim/matterbridge.git
synced 2024-12-23 11:42:37 +01:00
8764be7461
* 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
258 lines
12 KiB
Go
258 lines
12 KiB
Go
package object // import "github.com/SevereCloud/vksdk/v2/object"
|
|
|
|
// WallAppPost struct.
|
|
type WallAppPost struct {
|
|
ID int `json:"id"` // Application ID
|
|
Name string `json:"name"` // Application name
|
|
Photo130 string `json:"photo_130"` // URL of the preview image with 130 px in width
|
|
Photo604 string `json:"photo_604"` // URL of the preview image with 604 px in width
|
|
}
|
|
|
|
// WallAttachedNote struct.
|
|
type WallAttachedNote struct {
|
|
Comments int `json:"comments"` // Comments number
|
|
Date int `json:"date"` // Date when the note has been created in Unixtime
|
|
ID int `json:"id"` // Note ID
|
|
OwnerID int `json:"owner_id"` // Note owner's ID
|
|
ReadComments int `json:"read_comments"` // Read comments number
|
|
Title string `json:"title"` // Note title
|
|
ViewURL string `json:"view_url"` // URL of the page with note preview
|
|
}
|
|
|
|
// WallCommentAttachment struct.
|
|
type WallCommentAttachment struct {
|
|
Audio AudioAudio `json:"audio"`
|
|
Doc DocsDoc `json:"doc"`
|
|
Link BaseLink `json:"link"`
|
|
Market MarketMarketItem `json:"market"`
|
|
MarketMarketAlbum MarketMarketAlbum `json:"market_market_album"`
|
|
Note WallAttachedNote `json:"note"`
|
|
Page PagesWikipageFull `json:"page"`
|
|
Photo PhotosPhoto `json:"photo"`
|
|
Sticker BaseSticker `json:"sticker"`
|
|
Type string `json:"type"`
|
|
Video VideoVideo `json:"video"`
|
|
Graffiti WallGraffiti `json:"graffiti"`
|
|
}
|
|
|
|
// WallGraffiti struct.
|
|
type WallGraffiti struct {
|
|
ID int `json:"id"` // Graffiti ID
|
|
OwnerID int `json:"owner_id"` // Graffiti owner's ID
|
|
Photo200 string `json:"photo_200"` // URL of the preview image with 200 px in width
|
|
Photo586 string `json:"photo_586"` // URL of the preview image with 586 px in width
|
|
URL string `json:"url"`
|
|
Width int `json:"width"`
|
|
Height int `json:"height"`
|
|
AccessKey string `json:"access_key"`
|
|
}
|
|
|
|
// Type of post source.
|
|
const (
|
|
WallPostSourceTypeVk = "vk"
|
|
WallPostSourceTypeWidget = "widget"
|
|
WallPostSourceTypeAPI = "api"
|
|
WallPostSourceTypeRss = "rss"
|
|
WallPostSourceTypeSms = "sms"
|
|
)
|
|
|
|
// WallPostSource struct.
|
|
type WallPostSource struct {
|
|
Link BaseLink `json:"link"`
|
|
Data string `json:"data"` // Additional data
|
|
Platform string `json:"platform"` // Platform name
|
|
Type string `json:"type"`
|
|
URL string `json:"url"` // URL to an external site used to publish the post
|
|
}
|
|
|
|
// WallPostedPhoto struct.
|
|
type WallPostedPhoto struct {
|
|
ID int `json:"id"` // Photo ID
|
|
OwnerID int `json:"owner_id"` // Photo owner's ID
|
|
Photo130 string `json:"photo_130"` // URL of the preview image with 130 px in width
|
|
Photo604 string `json:"photo_604"` // URL of the preview image with 604 px in width
|
|
}
|
|
|
|
// WallViews struct.
|
|
type WallViews struct {
|
|
Count int `json:"count"` // Count
|
|
}
|
|
|
|
// WallWallCommentThread struct.
|
|
type WallWallCommentThread struct {
|
|
Count int `json:"count"` // Comments number
|
|
Items []WallWallComment `json:"items"`
|
|
CanPost BaseBoolInt `json:"can_post"` // Information whether current user can comment the post
|
|
GroupsCanPost BaseBoolInt `json:"groups_can_post"` // Information whether groups can comment the post
|
|
ShowReplyButton BaseBoolInt `json:"show_reply_button"`
|
|
}
|
|
|
|
// WallWallComment struct.
|
|
type WallWallComment struct {
|
|
Attachments []WallCommentAttachment `json:"attachments"`
|
|
Date int `json:"date"` // Date when the comment has been added in Unixtime
|
|
Deleted BaseBoolInt `json:"deleted"`
|
|
FromID int `json:"from_id"` // Author ID
|
|
ID int `json:"id"` // Comment ID
|
|
Likes BaseLikesInfo `json:"likes"`
|
|
RealOffset int `json:"real_offset"` // Real position of the comment
|
|
ReplyToComment int `json:"reply_to_comment"` // Replied comment ID
|
|
ReplyToUser int `json:"reply_to_user"` // Replied user ID
|
|
Text string `json:"text"` // Comment text
|
|
PostID int `json:"post_id"`
|
|
PostOwnerID int `json:"post_owner_id"`
|
|
PhotoID int `json:"photo_id"`
|
|
PhotoOwnerID int `json:"photo_owner_id"`
|
|
VideoID int `json:"video_id"`
|
|
VideoOwnerID int `json:"video_owner_id"`
|
|
ItemID int `json:"item_id"`
|
|
MarketOwnerID int `json:"market_owner_id"`
|
|
ParentsStack []int `json:"parents_stack"`
|
|
OwnerID int `json:"owner_id"`
|
|
Thread WallWallCommentThread `json:"thread"`
|
|
Donut WallWallCommentDonut `json:"donut"`
|
|
}
|
|
|
|
// WallWallCommentDonut info about VK Donut.
|
|
type WallWallCommentDonut struct {
|
|
IsDonut BaseBoolInt `json:"is_donut"`
|
|
Placeholder string `json:"placeholder"`
|
|
}
|
|
|
|
// WallPost type.
|
|
const (
|
|
WallPostTypePost = "post"
|
|
WallPostTypeCopy = "copy"
|
|
WallPostTypeReply = "reply"
|
|
WallPostTypePostpone = "postpone"
|
|
WallPostTypeSuggest = "suggest"
|
|
)
|
|
|
|
// WallWallpost struct.
|
|
type WallWallpost struct {
|
|
AccessKey string `json:"access_key"` // Access key to private object
|
|
ID int `json:"id"` // Post ID
|
|
OwnerID int `json:"owner_id"` // Wall owner's ID
|
|
FromID int `json:"from_id"` // Post author ID
|
|
CreatedBy int `json:"created_by"`
|
|
Date int `json:"date"` // Date of publishing in Unixtime
|
|
Text string `json:"text"` // Post text
|
|
ReplyOwnerID int `json:"reply_owner_id"`
|
|
ReplyPostID int `json:"reply_post_id"`
|
|
FriendsOnly int `json:"friends_only"`
|
|
Comments BaseCommentsInfo `json:"comments"`
|
|
Likes BaseLikesInfo `json:"likes"` // Count of likes
|
|
Reposts BaseRepostsInfo `json:"reposts"` // Count of views
|
|
Views WallViews `json:"views"` // Count of views
|
|
PostType string `json:"post_type"`
|
|
PostSource WallPostSource `json:"post_source"`
|
|
Attachments []WallWallpostAttachment `json:"attachments"`
|
|
Geo BaseGeo `json:"geo"`
|
|
SignerID int `json:"signer_id"` // Post signer ID
|
|
CopyHistory []WallWallpost `json:"copy_history"`
|
|
CanPin BaseBoolInt `json:"can_pin"`
|
|
CanDelete BaseBoolInt `json:"can_delete"`
|
|
CanEdit BaseBoolInt `json:"can_edit"`
|
|
IsPinned BaseBoolInt `json:"is_pinned"`
|
|
IsFavorite BaseBoolInt `json:"is_favorite"` // Information whether the post in favorites list
|
|
IsArchived BaseBoolInt `json:"is_archived"` // Is post archived, only for post owners
|
|
MarkedAsAds BaseBoolInt `json:"marked_as_ads"`
|
|
Edited int `json:"edited"` // Date of editing in Unixtime
|
|
Copyright WallPostCopyright `json:"copyright"`
|
|
PostID int `json:"post_id"`
|
|
ParentsStack []int `json:"parents_stack"`
|
|
Donut WallWallpostDonut `json:"donut"` // need api v5.125
|
|
ShortTextRate float64 `json:"short_text_rate"`
|
|
CarouselOffset int `json:"carousel_offset"`
|
|
}
|
|
|
|
// Attachment type.
|
|
//
|
|
// TODO: check this.
|
|
const (
|
|
AttachmentTypePhoto = "photo"
|
|
AttachmentTypePostedPhoto = "posted_photo"
|
|
AttachmentTypeAudio = "audio"
|
|
AttachmentTypeVideo = "video"
|
|
AttachmentTypeDoc = "doc"
|
|
AttachmentTypeLink = "link"
|
|
AttachmentTypeGraffiti = "graffiti"
|
|
AttachmentTypeNote = "note"
|
|
AttachmentTypeApp = "app"
|
|
AttachmentTypePoll = "poll"
|
|
AttachmentTypePage = "page"
|
|
AttachmentTypeAlbum = "album"
|
|
AttachmentTypePhotosList = "photos_list"
|
|
AttachmentTypeMarketAlbum = "market_album"
|
|
AttachmentTypeMarket = "market"
|
|
AttachmentTypeEvent = "event"
|
|
AttachmentTypeWall = "wall"
|
|
AttachmentTypeStory = "story"
|
|
AttachmentTypePodcast = "podcast"
|
|
)
|
|
|
|
// WallWallpostAttachment struct.
|
|
type WallWallpostAttachment struct {
|
|
AccessKey string `json:"access_key"` // Access key for the audio
|
|
Album PhotosPhotoAlbum `json:"album"`
|
|
App WallAppPost `json:"app"`
|
|
Audio AudioAudio `json:"audio"`
|
|
Doc DocsDoc `json:"doc"`
|
|
Event EventsEventAttach `json:"event"`
|
|
Graffiti WallGraffiti `json:"graffiti"`
|
|
Link BaseLink `json:"link"`
|
|
Market MarketMarketItem `json:"market"`
|
|
MarketMarketAlbum MarketMarketAlbum `json:"market_market_album"`
|
|
Note WallAttachedNote `json:"note"`
|
|
Page PagesWikipageFull `json:"page"`
|
|
Photo PhotosPhoto `json:"photo"`
|
|
PhotosList []string `json:"photos_list"`
|
|
Poll PollsPoll `json:"poll"`
|
|
PostedPhoto WallPostedPhoto `json:"posted_photo"`
|
|
Type string `json:"type"`
|
|
Video VideoVideo `json:"video"`
|
|
Podcast PodcastsEpisode `json:"podcast"`
|
|
}
|
|
|
|
// WallWallpostToID struct.
|
|
type WallWallpostToID struct {
|
|
Attachments []WallWallpostAttachment `json:"attachments"`
|
|
Comments BaseCommentsInfo `json:"comments"`
|
|
CopyOwnerID int `json:"copy_owner_id"` // ID of the source post owner
|
|
CopyPostID int `json:"copy_post_id"` // ID of the source post
|
|
Date int `json:"date"` // Date of publishing in Unixtime
|
|
FromID int `json:"from_id"` // Post author ID
|
|
Geo BaseGeo `json:"geo"`
|
|
ID int `json:"id"` // Post ID
|
|
Likes BaseLikesInfo `json:"likes"`
|
|
PostID int `json:"post_id"` // wall post ID (if comment)
|
|
PostSource WallPostSource `json:"post_source"`
|
|
PostType string `json:"post_type"`
|
|
Reposts BaseRepostsInfo `json:"reposts"`
|
|
SignerID int `json:"signer_id"` // Post signer ID
|
|
Text string `json:"text"` // Post text
|
|
ToID int `json:"to_id"` // Wall owner's ID
|
|
IsFavorite BaseBoolInt `json:"is_favorite"` // Information whether the post in favorites list
|
|
MarkedAsAds BaseBoolInt `json:"marked_as_ads"`
|
|
ParentsStack []int `json:"parents_stack"`
|
|
Donut WallWallpostDonut `json:"donut"` // need api v5.125
|
|
ShortTextRate float64 `json:"short_text_rate"`
|
|
}
|
|
|
|
// WallWallpostDonut info about VK Donut.
|
|
type WallWallpostDonut struct {
|
|
IsDonut BaseBoolInt `json:"is_donut"`
|
|
CanPublishFreeCopy BaseBoolInt `json:"can_publish_free_copy"`
|
|
PaidDuration int `json:"paid_duration"`
|
|
EditMode string `json:"edit_mode"`
|
|
Durations []BaseObjectWithName `json:"durations"`
|
|
}
|
|
|
|
// WallPostCopyright information about the source of the post.
|
|
type WallPostCopyright struct {
|
|
ID int `json:"id,omitempty"`
|
|
Link string `json:"link"`
|
|
Type string `json:"type"`
|
|
Name string `json:"name"`
|
|
}
|