mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-09-17 14:02:31 +00:00
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
This commit is contained in:
807
vendor/github.com/SevereCloud/vksdk/v2/object/groups.go
generated
vendored
Normal file
807
vendor/github.com/SevereCloud/vksdk/v2/object/groups.go
generated
vendored
Normal file
@@ -0,0 +1,807 @@
|
||||
package object // import "github.com/SevereCloud/vksdk/v2/object"
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
// GroupsAddress WorkInfoStatus of information about timetable.
|
||||
const (
|
||||
WorkStatusNoInformation = "no_information"
|
||||
WorkStatusTemporarilyClosed = "temporarily_closed"
|
||||
WorkStatusAlwaysOpened = "always_opened"
|
||||
WorkStatusTimetable = "timetable"
|
||||
WorkStatusForeverClosed = "forever_closed"
|
||||
)
|
||||
|
||||
// GroupsAddress struct.
|
||||
type GroupsAddress struct {
|
||||
// Additional address to the place (6 floor, left door).
|
||||
AdditionalAddress string `json:"additional_address"`
|
||||
Address string `json:"address"` // String address to the place (Nevsky, 28)
|
||||
CityID int `json:"city_id"` // City id of address
|
||||
CountryID int `json:"country_id"` // Country id of address
|
||||
Distance int `json:"distance"` // Distance from the point
|
||||
ID int `json:"id"` // Address id
|
||||
Latitude float64 `json:"latitude"` // Address latitude
|
||||
Longitude float64 `json:"longitude"` // Address longitude
|
||||
MetroStationID int `json:"metro_station_id"` // Metro id of address
|
||||
Phone string `json:"phone"` // Address phone
|
||||
TimeOffset int `json:"time_offset"` // Time offset int minutes from utc time
|
||||
Timetable GroupsAddressTimetable `json:"timetable"` // Week timetable for the address
|
||||
Title string `json:"title"` // Title of the place (Zinger, etc)
|
||||
WorkInfoStatus string `json:"work_info_status"` // Status of information about timetable
|
||||
}
|
||||
|
||||
// GroupsAddressTimetable Timetable for a week.
|
||||
type GroupsAddressTimetable struct {
|
||||
Fri GroupsAddressTimetableDay `json:"fri"` // Timetable for friday
|
||||
Mon GroupsAddressTimetableDay `json:"mon"` // Timetable for monday
|
||||
Sat GroupsAddressTimetableDay `json:"sat"` // Timetable for saturday
|
||||
Sun GroupsAddressTimetableDay `json:"sun"` // Timetable for sunday
|
||||
Thu GroupsAddressTimetableDay `json:"thu"` // Timetable for thursday
|
||||
Tue GroupsAddressTimetableDay `json:"tue"` // Timetable for tuesday
|
||||
Wed GroupsAddressTimetableDay `json:"wed"` // Timetable for wednesday
|
||||
}
|
||||
|
||||
// GroupsAddressTimetableDay Timetable for one day.
|
||||
type GroupsAddressTimetableDay struct {
|
||||
BreakCloseTime int `json:"break_close_time"` // Close time of the break in minutes
|
||||
BreakOpenTime int `json:"break_open_time"` // Start time of the break in minutes
|
||||
CloseTime int `json:"close_time"` // Close time in minutes
|
||||
OpenTime int `json:"open_time"` // Open time in minutes
|
||||
}
|
||||
|
||||
// GroupsAddressesInfo struct.
|
||||
type GroupsAddressesInfo struct {
|
||||
IsEnabled BaseBoolInt `json:"is_enabled"` // Information whether addresses is enabled
|
||||
MainAddressID int `json:"main_address_id"` // Main address id for group
|
||||
}
|
||||
|
||||
// GroupsGroup AdminLevel type.
|
||||
const (
|
||||
GroupsAdminLevelModerator = iota
|
||||
GroupsAdminLevelEditor
|
||||
GroupsAdminLevelAdministrator
|
||||
)
|
||||
|
||||
// GroupsGroup MainSection type.
|
||||
const (
|
||||
GroupsMainSectionAbsent = iota
|
||||
GroupsMainSectionPhotos
|
||||
GroupsMainSectionTopics
|
||||
GroupsMainSectionAudio
|
||||
GroupsMainSectionVideo
|
||||
GroupsMainSectionMarket
|
||||
)
|
||||
|
||||
// GroupsGroup MemberStatus(events_event_attach, newsfeed_event_activity).
|
||||
const (
|
||||
GroupsMemberStatusNotMember = iota
|
||||
GroupsMemberStatusMember
|
||||
GroupsMemberStatusNotSure
|
||||
GroupsMemberStatusDeclined
|
||||
GroupsMemberStatusHasSentRequest
|
||||
GroupsMemberStatusInvited
|
||||
)
|
||||
|
||||
// GroupsGroup Access or IsClosed type.
|
||||
const (
|
||||
GroupsGroupOpen = iota
|
||||
GroupsGroupClosed
|
||||
GroupsGroupPrivate
|
||||
)
|
||||
|
||||
// GroupsGroup AgeLimits.
|
||||
const (
|
||||
GroupsAgeLimitsNo = iota
|
||||
GroupsAgeLimitsOver16
|
||||
GroupsAgeLimitsOver18
|
||||
)
|
||||
|
||||
// GroupsGroup type.
|
||||
const (
|
||||
GroupsTypeGroup = "group"
|
||||
GroupsTypePage = "page"
|
||||
GroupsTypeEvent = "event"
|
||||
)
|
||||
|
||||
// GroupsGroup struct.
|
||||
type GroupsGroup struct {
|
||||
AdminLevel int `json:"admin_level"`
|
||||
Deactivated string `json:"deactivated"` // Information whether community is banned
|
||||
FinishDate int `json:"finish_date"` // Finish date in Unixtime format
|
||||
ID int `json:"id"` // Community ID
|
||||
Name string `json:"name"` // Community name
|
||||
Photo100 string `json:"photo_100"` // URL of square photo of the community with 100 pixels in width
|
||||
Photo200 string `json:"photo_200"` // URL of square photo of the community with 200 pixels in width
|
||||
Photo50 string `json:"photo_50"` // URL of square photo of the community with 50 pixels in width
|
||||
ScreenName string `json:"screen_name"` // Domain of the community page
|
||||
StartDate int `json:"start_date"` // Start date in Unixtime format
|
||||
Type string `json:"type"`
|
||||
Market GroupsMarketInfo `json:"market"`
|
||||
MemberStatus int `json:"member_status"` // Current user's member status
|
||||
IsClosed int `json:"is_closed"`
|
||||
City BaseObject `json:"city"`
|
||||
Country BaseCountry `json:"country"`
|
||||
|
||||
// Information whether current user is administrator.
|
||||
IsAdmin BaseBoolInt `json:"is_admin"`
|
||||
|
||||
// Information whether current user is advertiser.
|
||||
IsAdvertiser BaseBoolInt `json:"is_advertiser"`
|
||||
|
||||
// Information whether current user is member.
|
||||
IsMember BaseBoolInt `json:"is_member"`
|
||||
|
||||
// Information whether community is in faves.
|
||||
IsFavorite BaseBoolInt `json:"is_favorite"`
|
||||
|
||||
// Information whether community is adult.
|
||||
IsAdult BaseBoolInt `json:"is_adult"`
|
||||
|
||||
// Information whether current user is subscribed.
|
||||
IsSubscribed BaseBoolInt `json:"is_subscribed"`
|
||||
|
||||
// Information whether current user can post on community's wall.
|
||||
CanPost BaseBoolInt `json:"can_post"`
|
||||
|
||||
// Information whether current user can see all posts on community's wall.
|
||||
CanSeeAllPosts BaseBoolInt `json:"can_see_all_posts"`
|
||||
|
||||
// Information whether current user can create topic.
|
||||
CanCreateTopic BaseBoolInt `json:"can_create_topic"`
|
||||
|
||||
// Information whether current user can upload video.
|
||||
CanUploadVideo BaseBoolInt `json:"can_upload_video"`
|
||||
|
||||
// Information whether current user can upload doc.
|
||||
CanUploadDoc BaseBoolInt `json:"can_upload_doc"`
|
||||
|
||||
// Information whether community has photo.
|
||||
HasPhoto BaseBoolInt `json:"has_photo"`
|
||||
|
||||
// Information whether current user can send a message to community.
|
||||
CanMessage BaseBoolInt `json:"can_message"`
|
||||
|
||||
// Information whether community can send a message to current user.
|
||||
IsMessagesBlocked BaseBoolInt `json:"is_messages_blocked"`
|
||||
|
||||
// Information whether community can send notifications by phone number to current user.
|
||||
CanSendNotify BaseBoolInt `json:"can_send_notify"`
|
||||
|
||||
// Information whether current user is subscribed to podcasts.
|
||||
IsSubscribedPodcasts BaseBoolInt `json:"is_subscribed_podcasts"`
|
||||
|
||||
// Owner in whitelist or not.
|
||||
CanSubscribePodcasts BaseBoolInt `json:"can_subscribe_podcasts"`
|
||||
|
||||
// Can subscribe to wall.
|
||||
CanSubscribePosts BaseBoolInt `json:"can_subscribe_posts"`
|
||||
|
||||
// Information whether community has market app.
|
||||
HasMarketApp BaseBoolInt `json:"has_market_app"`
|
||||
IsHiddenFromFeed BaseBoolInt `json:"is_hidden_from_feed"`
|
||||
IsMarketCartEnabled BaseBoolInt `json:"is_market_cart_enabled"`
|
||||
Verified BaseBoolInt `json:"verified"` // Information whether community is verified
|
||||
|
||||
// Information whether the community has a fire pictogram.
|
||||
Trending BaseBoolInt `json:"trending"`
|
||||
Description string `json:"description"` // Community description
|
||||
WikiPage string `json:"wiki_page"` // Community's main wiki page title
|
||||
MembersCount int `json:"members_count"` // Community members number
|
||||
Counters GroupsCountersGroup `json:"counters"`
|
||||
Cover GroupsCover `json:"cover"`
|
||||
|
||||
// Type of group, start date of event or category of public page.
|
||||
Activity string `json:"activity"`
|
||||
FixedPost int `json:"fixed_post"` // Fixed post ID
|
||||
Status string `json:"status"` // Community status
|
||||
MainAlbumID int `json:"main_album_id"` // Community's main photo album ID
|
||||
Links []GroupsLinksItem `json:"links"`
|
||||
Contacts []GroupsContactsItem `json:"contacts"`
|
||||
Site string `json:"site"` // Community's website
|
||||
MainSection int `json:"main_section"`
|
||||
OnlineStatus GroupsOnlineStatus `json:"online_status"` // Status of replies in community messages
|
||||
AgeLimits int `json:"age_limits"` // Information whether age limit
|
||||
BanInfo GroupsGroupBanInfo `json:"ban_info"` // User ban info
|
||||
Addresses GroupsAddressesInfo `json:"addresses"` // Info about addresses in Groups
|
||||
LiveCovers GroupsLiveCovers `json:"live_covers"`
|
||||
CropPhoto UsersCropPhoto `json:"crop_photo"`
|
||||
Wall int `json:"wall"`
|
||||
ActionButton GroupsActionButton `json:"action_button"`
|
||||
TrackCode string `json:"track_code"`
|
||||
PublicDateLabel string `json:"public_date_label"`
|
||||
AuthorID int `json:"author_id"`
|
||||
Phone string `json:"phone"`
|
||||
}
|
||||
|
||||
// ToMention return mention.
|
||||
func (group GroupsGroup) ToMention() string {
|
||||
return fmt.Sprintf("[club%d|%s]", group.ID, group.Name)
|
||||
}
|
||||
|
||||
// GroupsLiveCovers struct.
|
||||
type GroupsLiveCovers struct {
|
||||
IsEnabled BaseBoolInt `json:"is_enabled"`
|
||||
IsScalable BaseBoolInt `json:"is_scalable"`
|
||||
StoryIds []string `json:"story_ids"`
|
||||
}
|
||||
|
||||
// GroupsBanInfo reason type.
|
||||
const (
|
||||
GroupsBanReasonOther = iota
|
||||
GroupsBanReasonSpam
|
||||
GroupsBanReasonVerbalAbuse
|
||||
GroupsBanReasonStrongLanguage
|
||||
GroupsBanReasonFlood
|
||||
)
|
||||
|
||||
// GroupsBanInfo struct.
|
||||
type GroupsBanInfo struct {
|
||||
AdminID int `json:"admin_id"` // Administrator ID
|
||||
Comment string `json:"comment"` // Comment for a ban
|
||||
Date int `json:"date"` // Date when user has been added to blacklist in Unixtime
|
||||
EndDate int `json:"end_date"` // Date when user will be removed from blacklist in Unixtime
|
||||
Reason int `json:"reason"`
|
||||
CommentVisible BaseBoolInt `json:"comment_visible"`
|
||||
}
|
||||
|
||||
// GroupsCallbackServer struct.
|
||||
type GroupsCallbackServer struct {
|
||||
CreatorID int `json:"creator_id"`
|
||||
ID int `json:"id"`
|
||||
SecretKey string `json:"secret_key"`
|
||||
Status string `json:"status"`
|
||||
Title string `json:"title"`
|
||||
URL string `json:"url"`
|
||||
}
|
||||
|
||||
// GroupsCallbackSettings struct.
|
||||
type GroupsCallbackSettings struct {
|
||||
APIVersion string `json:"api_version"` // API version used for the events
|
||||
Events GroupsLongPollEvents `json:"events"`
|
||||
}
|
||||
|
||||
// GroupsContactsItem struct.
|
||||
type GroupsContactsItem struct {
|
||||
Desc string `json:"desc"` // Contact description
|
||||
Email string `json:"email"` // Contact email
|
||||
Phone string `json:"phone"` // Contact phone
|
||||
UserID int `json:"user_id"` // User ID
|
||||
}
|
||||
|
||||
// GroupsCountersGroup struct.
|
||||
type GroupsCountersGroup struct {
|
||||
Addresses int `json:"addresses"` // Addresses number
|
||||
Albums int `json:"albums"` // Photo albums number
|
||||
Articles int `json:"articles"` // Articles number
|
||||
Audios int `json:"audios"` // Audios number
|
||||
Docs int `json:"docs"` // Docs number
|
||||
Market int `json:"market"` // Market items number
|
||||
Photos int `json:"photos"` // Photos number
|
||||
Topics int `json:"topics"` // Topics number
|
||||
Videos int `json:"videos"` // Videos number
|
||||
Narratives int `json:"narratives"` // Narratives number
|
||||
}
|
||||
|
||||
// GroupsCover struct.
|
||||
type GroupsCover struct {
|
||||
Enabled BaseBoolInt `json:"enabled"` // Information whether cover is enabled
|
||||
Images []BaseImage `json:"images"`
|
||||
}
|
||||
|
||||
// GroupsGroupBanInfo struct.
|
||||
type GroupsGroupBanInfo struct {
|
||||
Comment string `json:"comment"` // Ban comment
|
||||
EndDate int `json:"end_date"` // End date of ban in Unixtime
|
||||
}
|
||||
|
||||
// GroupsGroupCategory struct.
|
||||
type GroupsGroupCategory struct {
|
||||
ID int `json:"id"` // Category ID
|
||||
Name string `json:"name"` // Category name
|
||||
Subcategories []BaseObjectWithName `json:"subcategories"`
|
||||
}
|
||||
|
||||
// GroupsGroupCategoryFull struct.
|
||||
type GroupsGroupCategoryFull struct {
|
||||
ID int `json:"id"` // Category ID
|
||||
Name string `json:"name"` // Category name
|
||||
PageCount int `json:"page_count"` // Pages number
|
||||
PagePreviews []GroupsGroup `json:"page_previews"`
|
||||
Subcategories []GroupsGroupCategoryFull `json:"subcategories"`
|
||||
}
|
||||
|
||||
// GroupsGroupCategoryType struct.
|
||||
type GroupsGroupCategoryType struct {
|
||||
ID int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// GroupsGroupLink struct.
|
||||
type GroupsGroupLink struct {
|
||||
Desc string `json:"desc"` // Link description
|
||||
EditTitle BaseBoolInt `json:"edit_title"` // Information whether the title can be edited
|
||||
ImageProcessing BaseBoolInt `json:"image_processing"` // Information whether the image on processing
|
||||
Name string `json:"name"`
|
||||
ID int `json:"id"` // Link ID
|
||||
URL string `json:"url"` // Link URL
|
||||
}
|
||||
|
||||
// GroupsGroupPublicCategoryList struct.
|
||||
type GroupsGroupPublicCategoryList struct {
|
||||
ID int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Subcategories []GroupsGroupCategoryType `json:"subcategories"`
|
||||
}
|
||||
|
||||
// GroupsGroupSettings Photos type.
|
||||
const (
|
||||
GroupsGroupPhotosDisabled = iota
|
||||
GroupsGroupPhotosOpen
|
||||
GroupsGroupPhotosLimited
|
||||
)
|
||||
|
||||
// GroupsGroupSettings Subject type.
|
||||
const (
|
||||
_ = iota
|
||||
GroupsGroupSubjectAuto
|
||||
GroupsGroupSubjectActivityHolidays
|
||||
GroupsGroupSubjectBusiness
|
||||
GroupsGroupSubjectPets
|
||||
GroupsGroupSubjectHealth
|
||||
GroupsGroupSubjectDatingAndCommunication
|
||||
GroupsGroupSubjectGames
|
||||
GroupsGroupSubjectIt
|
||||
GroupsGroupSubjectCinema
|
||||
GroupsGroupSubjectBeautyAndFashion
|
||||
GroupsGroupSubjectCooking
|
||||
GroupsGroupSubjectArtAndCulture
|
||||
GroupsGroupSubjectLiterature
|
||||
GroupsGroupSubjectMobileServicesAndInternet
|
||||
GroupsGroupSubjectMusic
|
||||
GroupsGroupSubjectScienceAndTechnology
|
||||
GroupsGroupSubjectRealEstate
|
||||
GroupsGroupSubjectNewsAndMedia
|
||||
GroupsGroupSubjectSecurity
|
||||
GroupsGroupSubjectEducation
|
||||
GroupsGroupSubjectHomeAndRenovations
|
||||
GroupsGroupSubjectPolitics
|
||||
GroupsGroupSubjectFood
|
||||
GroupsGroupSubjectIndustry
|
||||
GroupsGroupSubjectTravel
|
||||
GroupsGroupSubjectWork
|
||||
GroupsGroupSubjectEntertainment
|
||||
GroupsGroupSubjectReligion
|
||||
GroupsGroupSubjectFamily
|
||||
GroupsGroupSubjectSports
|
||||
GroupsGroupSubjectInsurance
|
||||
GroupsGroupSubjectTelevision
|
||||
GroupsGroupSubjectGoodsAndServices
|
||||
GroupsGroupSubjectHobbies
|
||||
GroupsGroupSubjectFinance
|
||||
GroupsGroupSubjectPhoto
|
||||
GroupsGroupSubjectEsoterics
|
||||
GroupsGroupSubjectElectronicsAndAppliances
|
||||
GroupsGroupSubjectErotic
|
||||
GroupsGroupSubjectHumor
|
||||
GroupsGroupSubjectSocietyHumanities
|
||||
GroupsGroupSubjectDesignAndGraphics
|
||||
)
|
||||
|
||||
// GroupsGroupSettings Topics type.
|
||||
const (
|
||||
GroupsGroupTopicsDisabled = iota
|
||||
GroupsGroupTopicsOpen
|
||||
GroupsGroupTopicsLimited
|
||||
)
|
||||
|
||||
// GroupsGroupSettings Docs type.
|
||||
const (
|
||||
GroupsGroupDocsDisabled = iota
|
||||
GroupsGroupDocsOpen
|
||||
GroupsGroupDocsLimited
|
||||
)
|
||||
|
||||
// GroupsGroupSettings Audio type.
|
||||
const (
|
||||
GroupsGroupAudioDisabled = iota
|
||||
GroupsGroupAudioOpen
|
||||
GroupsGroupAudioLimited
|
||||
)
|
||||
|
||||
// GroupsGroupSettings Video type.
|
||||
const (
|
||||
GroupsGroupVideoDisabled = iota
|
||||
GroupsGroupVideoOpen
|
||||
GroupsGroupVideoLimited
|
||||
)
|
||||
|
||||
// GroupsGroupSettings Wall type.
|
||||
const (
|
||||
GroupsGroupWallDisabled = iota
|
||||
GroupsGroupWallOpen
|
||||
GroupsGroupWallLimited
|
||||
GroupsGroupWallClosed
|
||||
)
|
||||
|
||||
// GroupsGroupSettings Wiki type.
|
||||
const (
|
||||
GroupsGroupWikiDisabled = iota
|
||||
GroupsGroupWikiOpen
|
||||
GroupsGroupWikiLimited
|
||||
)
|
||||
|
||||
// GroupsGroupSettings struct.
|
||||
type GroupsGroupSettings struct {
|
||||
Access int `json:"access"` // Community access settings
|
||||
Address string `json:"address"` // Community's page domain
|
||||
Audio int `json:"audio"` // Audio settings
|
||||
Description string `json:"description"` // Community description
|
||||
Docs int `json:"docs"` // Docs settings
|
||||
ObsceneWords []string `json:"obscene_words"` // The list of stop words
|
||||
Photos int `json:"photos"` // Photos settings
|
||||
PublicCategory int `json:"public_category"` // Information about the group category
|
||||
PublicCategoryList []GroupsGroupPublicCategoryList `json:"public_category_list"`
|
||||
|
||||
// Information about the group subcategory.
|
||||
PublicSubcategory int `json:"public_subcategory"`
|
||||
Rss string `json:"rss"` // URL of the RSS feed
|
||||
Subject int `json:"subject"` // Community subject ID
|
||||
SubjectList []GroupsSubjectItem `json:"subject_list"`
|
||||
Title string `json:"title"` // Community title
|
||||
Topics int `json:"topics"` // Topics settings
|
||||
Video int `json:"video"` // Video settings
|
||||
Wall int `json:"wall"` // Wall settings
|
||||
Website string `json:"website"` // Community website
|
||||
Wiki int `json:"wiki"` // Wiki settings
|
||||
CountryID int `json:"country_id"`
|
||||
CityID int `json:"city_id"`
|
||||
Messages int `json:"messages"`
|
||||
Articles int `json:"articles"`
|
||||
Events int `json:"events"`
|
||||
AgeLimits int `json:"age_limits"`
|
||||
|
||||
// Information whether the obscene filter is enabled.
|
||||
ObsceneFilter BaseBoolInt `json:"obscene_filter"`
|
||||
|
||||
// Information whether the stopwords filter is enabled.
|
||||
ObsceneStopwords BaseBoolInt `json:"obscene_stopwords"`
|
||||
LiveCovers struct {
|
||||
IsEnabled BaseBoolInt `json:"is_enabled"`
|
||||
} `json:"live_covers"`
|
||||
Market GroupsMarketInfo `json:"market"`
|
||||
SectionsList []GroupsSectionsList `json:"sections_list"`
|
||||
MainSection int `json:"main_section"`
|
||||
SecondarySection int `json:"secondary_section"`
|
||||
ActionButton GroupsActionButton `json:"action_button"`
|
||||
Phone string `json:"phone"`
|
||||
}
|
||||
|
||||
// GroupsSectionsList struct.
|
||||
type GroupsSectionsList struct {
|
||||
ID int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// UnmarshalJSON need for unmarshal dynamic array (Example: [1, "Фотографии"]) to struct.
|
||||
//
|
||||
// To unmarshal JSON into a value implementing the Unmarshaler interface,
|
||||
// Unmarshal calls that value's UnmarshalJSON method.
|
||||
// See more https://golang.org/pkg/encoding/json/#Unmarshal
|
||||
func (g *GroupsSectionsList) UnmarshalJSON(data []byte) error {
|
||||
var alias []interface{}
|
||||
if err := json.Unmarshal(data, &alias); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(alias) != 2 {
|
||||
return &json.UnmarshalTypeError{
|
||||
Value: string(data),
|
||||
Type: reflect.TypeOf((*GroupsSectionsList)(nil)),
|
||||
}
|
||||
}
|
||||
|
||||
// default concrete Go type float64 for JSON numbers
|
||||
id, ok := alias[0].(float64)
|
||||
if !ok {
|
||||
return &json.UnmarshalTypeError{
|
||||
Value: string(data),
|
||||
Type: reflect.TypeOf((*GroupsSectionsList)(nil)),
|
||||
Struct: "GroupsSectionsList",
|
||||
Field: "ID",
|
||||
}
|
||||
}
|
||||
|
||||
name, ok := alias[1].(string)
|
||||
if !ok {
|
||||
return &json.UnmarshalTypeError{
|
||||
Value: string(data),
|
||||
Type: reflect.TypeOf((*GroupsSectionsList)(nil)),
|
||||
Struct: "GroupsSectionsList",
|
||||
Field: "Name",
|
||||
}
|
||||
}
|
||||
|
||||
g.ID = int(id)
|
||||
g.Name = name
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// GroupsActionType for action_button in groups.
|
||||
type GroupsActionType string
|
||||
|
||||
// GroupsActionType enums.
|
||||
const (
|
||||
GroupsActionTypeOpenURL GroupsActionType = "open_url"
|
||||
GroupsActionTypeSendEmail GroupsActionType = "send_email"
|
||||
GroupsActionTypeCallPhone GroupsActionType = "call_phone"
|
||||
GroupsActionTypeCallVK GroupsActionType = "call_vk"
|
||||
GroupsActionTypeOpenGroupApp GroupsActionType = "open_group_app"
|
||||
GroupsActionTypeOpenApp GroupsActionType = "open_app"
|
||||
)
|
||||
|
||||
// GroupsActionButton struct.
|
||||
type GroupsActionButton struct {
|
||||
ActionType GroupsActionType `json:"action_type"`
|
||||
Target GroupsActionButtonTarget `json:"target"`
|
||||
Title string `json:"title"`
|
||||
|
||||
// IsEnabled for GroupsGroupSettings
|
||||
IsEnabled BaseBoolInt `json:"is_enabled,omitempty"`
|
||||
}
|
||||
|
||||
// GroupsActionButtonTarget struct.
|
||||
type GroupsActionButtonTarget struct {
|
||||
// ActionType == ActionTypeSendEmail
|
||||
Email string `json:"email"`
|
||||
|
||||
// ActionType == ActionTypeCallPhone
|
||||
Phone string `json:"phone"`
|
||||
|
||||
// ActionType == ActionTypeCallVK
|
||||
UserID int `json:"user_id"`
|
||||
|
||||
// ActionType == ActionTypeOpenURL
|
||||
URL string `json:"url"`
|
||||
|
||||
// ActionType == ActionTypeOpenApp
|
||||
GoogleStoreURL string `json:"google_store_url"`
|
||||
ItunesURL string `json:"itunes_url"`
|
||||
// URL string `json:"url"`
|
||||
|
||||
// ActionType == ActionTypeOpenGroupApp
|
||||
AppID int `json:"app_id"`
|
||||
|
||||
IsInternal BaseBoolInt `json:"is_internal"`
|
||||
}
|
||||
|
||||
// GroupsGroupXtrInvitedBy struct.
|
||||
type GroupsGroupXtrInvitedBy struct {
|
||||
AdminLevel int `json:"admin_level"`
|
||||
ID int `json:"id"` // Community ID
|
||||
InvitedBy int `json:"invited_by"` // Inviter ID
|
||||
Name string `json:"name"` // Community name
|
||||
Photo100 string `json:"photo_100"` // URL of square photo of the community with 100 pixels in width
|
||||
Photo200 string `json:"photo_200"` // URL of square photo of the community with 200 pixels in width
|
||||
Photo50 string `json:"photo_50"` // URL of square photo of the community with 50 pixels in width
|
||||
ScreenName string `json:"screen_name"` // Domain of the community page
|
||||
Type string `json:"type"`
|
||||
IsClosed int `json:"is_closed"` // Information whether community is closed
|
||||
IsAdmin BaseBoolInt `json:"is_admin"` // Information whether current user is manager
|
||||
IsMember BaseBoolInt `json:"is_member"` // Information whether current user is member
|
||||
IsAdvertiser BaseBoolInt `json:"is_advertiser"` // Information whether current user is advertiser
|
||||
}
|
||||
|
||||
// ToMention return mention.
|
||||
func (group GroupsGroupXtrInvitedBy) ToMention() string {
|
||||
return fmt.Sprintf("[club%d|%s]", group.ID, group.Name)
|
||||
}
|
||||
|
||||
// GroupsLinksItem struct.
|
||||
type GroupsLinksItem struct {
|
||||
Desc string `json:"desc"` // Link description
|
||||
EditTitle BaseBoolInt `json:"edit_title"` // Information whether the link title can be edited
|
||||
ID int `json:"id"` // Link ID
|
||||
Name string `json:"name"` // Link title
|
||||
Photo100 string `json:"photo_100"` // URL of square image of the link with 100 pixels in width
|
||||
Photo50 string `json:"photo_50"` // URL of square image of the link with 50 pixels in width
|
||||
URL string `json:"url"` // Link URL
|
||||
}
|
||||
|
||||
// GroupsLongPollEvents struct.
|
||||
type GroupsLongPollEvents struct {
|
||||
MessageNew BaseBoolInt `json:"message_new"`
|
||||
MessageReply BaseBoolInt `json:"message_reply"`
|
||||
PhotoNew BaseBoolInt `json:"photo_new"`
|
||||
AudioNew BaseBoolInt `json:"audio_new"`
|
||||
VideoNew BaseBoolInt `json:"video_new"`
|
||||
WallReplyNew BaseBoolInt `json:"wall_reply_new"`
|
||||
WallReplyEdit BaseBoolInt `json:"wall_reply_edit"`
|
||||
WallReplyDelete BaseBoolInt `json:"wall_reply_delete"`
|
||||
WallReplyRestore BaseBoolInt `json:"wall_reply_restore"`
|
||||
WallPostNew BaseBoolInt `json:"wall_post_new"`
|
||||
BoardPostNew BaseBoolInt `json:"board_post_new"`
|
||||
BoardPostEdit BaseBoolInt `json:"board_post_edit"`
|
||||
BoardPostRestore BaseBoolInt `json:"board_post_restore"`
|
||||
BoardPostDelete BaseBoolInt `json:"board_post_delete"`
|
||||
PhotoCommentNew BaseBoolInt `json:"photo_comment_new"`
|
||||
PhotoCommentEdit BaseBoolInt `json:"photo_comment_edit"`
|
||||
PhotoCommentDelete BaseBoolInt `json:"photo_comment_delete"`
|
||||
PhotoCommentRestore BaseBoolInt `json:"photo_comment_restore"`
|
||||
VideoCommentNew BaseBoolInt `json:"video_comment_new"`
|
||||
VideoCommentEdit BaseBoolInt `json:"video_comment_edit"`
|
||||
VideoCommentDelete BaseBoolInt `json:"video_comment_delete"`
|
||||
VideoCommentRestore BaseBoolInt `json:"video_comment_restore"`
|
||||
MarketCommentNew BaseBoolInt `json:"market_comment_new"`
|
||||
MarketCommentEdit BaseBoolInt `json:"market_comment_edit"`
|
||||
MarketCommentDelete BaseBoolInt `json:"market_comment_delete"`
|
||||
MarketCommentRestore BaseBoolInt `json:"market_comment_restore"`
|
||||
MarketOrderNew BaseBoolInt `json:"market_order_new"`
|
||||
MarketOrderEdit BaseBoolInt `json:"market_order_edit"`
|
||||
PollVoteNew BaseBoolInt `json:"poll_vote_new"`
|
||||
GroupJoin BaseBoolInt `json:"group_join"`
|
||||
GroupLeave BaseBoolInt `json:"group_leave"`
|
||||
GroupChangeSettings BaseBoolInt `json:"group_change_settings"`
|
||||
GroupChangePhoto BaseBoolInt `json:"group_change_photo"`
|
||||
GroupOfficersEdit BaseBoolInt `json:"group_officers_edit"`
|
||||
MessageAllow BaseBoolInt `json:"message_allow"`
|
||||
MessageDeny BaseBoolInt `json:"message_deny"`
|
||||
WallRepost BaseBoolInt `json:"wall_repost"`
|
||||
UserBlock BaseBoolInt `json:"user_block"`
|
||||
UserUnblock BaseBoolInt `json:"user_unblock"`
|
||||
MessageEdit BaseBoolInt `json:"message_edit"`
|
||||
MessageTypingState BaseBoolInt `json:"message_typing_state"`
|
||||
LeadFormsNew BaseBoolInt `json:"lead_forms_new"`
|
||||
LikeAdd BaseBoolInt `json:"like_add"`
|
||||
LikeRemove BaseBoolInt `json:"like_remove"`
|
||||
VkpayTransaction BaseBoolInt `json:"vkpay_transaction"`
|
||||
AppPayload BaseBoolInt `json:"app_payload"`
|
||||
MessageRead BaseBoolInt `json:"message_read"`
|
||||
MessageEvent BaseBoolInt `json:"message_event"`
|
||||
DonutSubscriptionCreate BaseBoolInt `json:"donut_subscription_create"`
|
||||
DonutSubscriptionProlonged BaseBoolInt `json:"donut_subscription_prolonged"`
|
||||
DonutSubscriptionExpired BaseBoolInt `json:"donut_subscription_expired"`
|
||||
DonutSubscriptionCancelled BaseBoolInt `json:"donut_subscription_cancelled"`
|
||||
DonutSubscriptionPriceChanged BaseBoolInt `json:"donut_subscription_price_changed"`
|
||||
DonutMoneyWithdraw BaseBoolInt `json:"donut_money_withdraw"`
|
||||
DonutMoneyWithdrawError BaseBoolInt `json:"donut_money_withdraw_error"`
|
||||
|
||||
// Bugs
|
||||
// MessagesEdit BaseBoolInt `json:"messages_edit"`
|
||||
// WallNew BaseBoolInt `json:"wall_new"`
|
||||
// WallNewReply BaseBoolInt `json:"wall_new_reply"`
|
||||
// WallEditReply BaseBoolInt `json:"wall_edit_reply"`
|
||||
}
|
||||
|
||||
// GroupsLongPollServer struct.
|
||||
type GroupsLongPollServer struct {
|
||||
Key string `json:"key"` // Long Poll key
|
||||
Server string `json:"server"` // Long Poll server address
|
||||
Ts string `json:"ts"` // Number of the last event
|
||||
}
|
||||
|
||||
// TODO: func (g GroupsLongPollServer) GetURL() string {
|
||||
|
||||
// GroupsLongPollSettings struct.
|
||||
type GroupsLongPollSettings struct {
|
||||
APIVersion string `json:"api_version"` // API version used for the events
|
||||
Events GroupsLongPollEvents `json:"events"`
|
||||
IsEnabled BaseBoolInt `json:"is_enabled"` // Shows whether Long Poll is enabled
|
||||
}
|
||||
|
||||
// GroupsMarketType ...
|
||||
type GroupsMarketType string
|
||||
|
||||
// Possible values.
|
||||
const (
|
||||
GroupsMarketBasic GroupsMarketType = "basic"
|
||||
GroupsMarketAdvanced GroupsMarketType = "advanced"
|
||||
)
|
||||
|
||||
// GroupsMarketInfo struct.
|
||||
type GroupsMarketInfo struct {
|
||||
// information about the type of store. Returned if the group includes
|
||||
// the "Products" section.
|
||||
Type GroupsMarketType `json:"type,omitempty"`
|
||||
ContactID int `json:"contact_id,omitempty"` // Contact person ID
|
||||
Currency MarketCurrency `json:"currency,omitempty"`
|
||||
CurrencyText string `json:"currency_text,omitempty"` // Currency name
|
||||
Enabled BaseBoolInt `json:"enabled"` // Information whether the market is enabled
|
||||
CommentsEnabled BaseBoolInt `json:"comments_enabled,omitempty"`
|
||||
CanMessage BaseBoolInt `json:"can_message,omitempty"`
|
||||
MainAlbumID int `json:"main_album_id,omitempty"` // Main market album ID
|
||||
PriceMax string `json:"price_max,omitempty"` // Maximum price
|
||||
PriceMin string `json:"price_min,omitempty"` // Minimum price
|
||||
Wiki PagesWikipageFull `json:"wiki,omitempty"`
|
||||
CityIDs []int `json:"city_ids"`
|
||||
CountryIDs []int `json:"country_ids,omitempty"`
|
||||
}
|
||||
|
||||
// GroupsGroupRole Role type.
|
||||
const (
|
||||
GroupsGroupRoleModerator = "moderator"
|
||||
GroupsGroupRoleEditor = "editor"
|
||||
GroupsGroupRoleAdministrator = "administrator"
|
||||
GroupsGroupRoleCreator = "creator"
|
||||
)
|
||||
|
||||
// GroupsMemberRole struct.
|
||||
type GroupsMemberRole struct {
|
||||
ID int `json:"id"` // User ID
|
||||
Role string `json:"role"`
|
||||
Permissions []string `json:"permissions"`
|
||||
}
|
||||
|
||||
// GroupsMemberRoleXtrUsersUser struct.
|
||||
type GroupsMemberRoleXtrUsersUser struct {
|
||||
UsersUser
|
||||
Role string `json:"role"`
|
||||
Permissions []string `json:"permissions"`
|
||||
}
|
||||
|
||||
// GroupsMemberStatus struct.
|
||||
type GroupsMemberStatus struct {
|
||||
Member BaseBoolInt `json:"member"` // Information whether user is a member of the group
|
||||
UserID int `json:"user_id"` // User ID
|
||||
Permissions []string `json:"permissions"`
|
||||
}
|
||||
|
||||
// GroupsMemberStatusFull struct.
|
||||
type GroupsMemberStatusFull struct {
|
||||
Invitation BaseBoolInt `json:"invitation"` // Information whether user has been invited to the group
|
||||
Member BaseBoolInt `json:"member"` // Information whether user is a member of the group
|
||||
Request BaseBoolInt `json:"request"` // Information whether user has send request to the group
|
||||
CanInvite BaseBoolInt `json:"can_invite"` // Information whether user can be invite
|
||||
CanRecall BaseBoolInt `json:"can_recall"` // Information whether user's invite to the group can be recalled
|
||||
UserID int `json:"user_id"` // User ID
|
||||
}
|
||||
|
||||
// GroupsOnlineStatus Status type.
|
||||
const (
|
||||
GroupsOnlineStatusTypeNone = "none"
|
||||
GroupsOnlineStatusTypeOnline = "online"
|
||||
GroupsOnlineStatusTypeAnswerMark = "answer_mark"
|
||||
)
|
||||
|
||||
// GroupsOnlineStatus struct.
|
||||
type GroupsOnlineStatus struct {
|
||||
Minutes int `json:"minutes"` // Estimated time of answer (for status = answer_mark)
|
||||
Status string `json:"status"`
|
||||
}
|
||||
|
||||
// GroupsOwnerXtrBanInfo struct.
|
||||
type GroupsOwnerXtrBanInfo struct {
|
||||
BanInfo GroupsBanInfo `json:"ban_info"`
|
||||
Group GroupsGroup `json:"group"`
|
||||
Profile UsersUser `json:"profile"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
// GroupsSubjectItem struct.
|
||||
type GroupsSubjectItem struct {
|
||||
ID int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// GroupsTokenPermissionSetting struct.
|
||||
type GroupsTokenPermissionSetting struct {
|
||||
Name string `json:"name"`
|
||||
Setting int `json:"setting"`
|
||||
}
|
||||
|
||||
// GroupsTokenPermissions struct.
|
||||
type GroupsTokenPermissions struct {
|
||||
Mask int `json:"mask"`
|
||||
Permissions []GroupsTokenPermissionSetting `json:"permissions"`
|
||||
}
|
||||
|
||||
// GroupsTag struct.
|
||||
type GroupsTag struct {
|
||||
ID int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Color string `json:"color"`
|
||||
}
|
Reference in New Issue
Block a user