vk

package module
v0.0.0-...-8375398 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2022 License: MIT Imports: 10 Imported by: 5

README

VK API

GoDoc

VK API lib for Golang

Current VK API version: 5.92

Almost everything is supported, but not everything is tested (VK API Schema has a lot of issues).

See TODOs and unsupported types.

Uses easyjson Inspired by telebot

Overview

Library consists of three packages:

  • vk: Core package, defines API interface, provides BaseAPI implementation and defines most of types used by VK API
  • vkapi: Automatically generated wrappers for API
  • vkbot: Various helpers for making VK Bots -- using Callback API or Bots Long Poll API to automate communities

Getting started

Minimal example -- making API calls:

package main

import (
	"fmt"
	"os"
	"github.com/stek29/vk"
	"github.com/stek29/vk/vkapi"
)

func main() {
	client, _ := vk.NewBaseAPI(vk.BaseAPIConfig{AccessToken: os.Getenv("VK_TOKEN")})
	users, _ := vkapi.Users{client}.Get(vkapi.UsersGetParams{
		UserIDs: []string{"1"},
		Fields:  []string{"followers_count"},
	})
	fmt.Printf("Pavel Durov has %v followers\n", users[0].FollowersCount)
}

For bot example: See echobot

Also see nocyril: A bit more advanced "bot" which supports multiple groups and works via callback poller.

Uploading files

Currently there's no wrapper to handle file uploads, since it's trivial to do it manually.

See vidloader for an example of video uploader program.

Documentation

Index

Constants

View Source
const (
	// GroupJoinTypeJoin -- User joined a group or event (subscribed a public page)
	GroupJoinTypeJoin GroupJoinType = "join"
	// GroupJoinTypeUnsure -- For events: user has chosen "I may attend"
	GroupJoinTypeUnsure = "unsure"
	// GroupJoinTypeAccepted -- User approved an invitation to a group or event
	GroupJoinTypeAccepted = "accepted"
	// GroupJoinTypeApproved -- Join request was approved by community administrators
	GroupJoinTypeApproved = "approved"
	// GroupJoinTypeRequest -- User sent a join request
	GroupJoinTypeRequest = "request"
)
View Source
const (
	// UserBlockReasonOther is default reason
	UserBlockReasonOther UserBlockReason = 0
	// UserBlockReasonSpam -- for spam
	UserBlockReasonSpam = 1
	// UserBlockReasonVerbalAbuse -- for verbal abuse
	UserBlockReasonVerbalAbuse = 2
	// UserBlockReasonStrongLanguage -- for strong language
	UserBlockReasonStrongLanguage = 3
	// UserBlockReasonIrrelevantMessages -- for irrelevant messages
	UserBlockReasonIrrelevantMessages = 4
)
View Source
const (
	// GroupOfficerRoleNone -- No role = normal user
	GroupOfficerRoleNone GroupOfficerRole = 0
	// GroupOfficerRoleModerator is moderator
	GroupOfficerRoleModerator = 1
	// GroupOfficerRoleEditor is editor
	GroupOfficerRoleEditor = 2
	// GroupOfficerRoleAdministrator is administrator
	GroupOfficerRoleAdministrator = 3
)
View Source
const (
	UserFriendStatusNone            int = 0
	UserFriendStatusRequestSent         = 1
	UserFriendStatusIncomingRequest     = 2
	UserFriendStatusFriends             = 3
)
View Source
const (
	UserSexUnknown int = 0
	UserSexFemale      = 1
	UserSexMale        = 2
)
View Source
const (
	GroupIsOpen    int = 0
	GroupIsClosed      = 1
	GroupIsPrivate     = 2

	GroupAdminLevelNotAdmin      int = 0
	GroupAdminLevelModerator         = 1
	GroupAdminLevelEditor            = 1
	GroupAdminLevelAdministrator     = 1

	GroupTypeGroup string = "group"
	GroupTypePage         = "page"
	GroupTypeEvent        = "event"

	GroupAgeLimitUnknown int = 0
	GroupAgeLimitNone        = 1
	GroupAgeLimit16          = 2
	GroupAgeLimit18          = 3

	GroupMainSectionAbsent int = 0
	GroupMainSectionPhotos     = 1
	GroupMainSectionTopics     = 2
	GroupMainSectionAudio      = 3
	GroupMainSectionVideo      = 4
	GroupMainSectionMarket     = 5
)
View Source
const (
	MessageActionTypeChatPhotoUpdate      string = "chat_photo_update"
	MessageActionTypeChatPhotoRemove             = "chat_photo_remove"
	MessageActionTypeChatCreate                  = "chat_create"
	MessageActionTypeChatTitleUpdate             = "chat_title_update"
	MessageActionTypeChatInviteUser              = "chat_invite_user"
	MessageActionTypeChatKickUser                = "chat_kick_user"
	MessageActionTypeChatPinMessage              = "chat_pin_message"
	MessageActionTypeChatUnpinMessage            = "chat_unpin_message"
	MessageActionTypeChatInviteUserByLink        = "chat_invite_user_by_link"
)
View Source
const (
	PeerTypeUser  string = "user"
	PeerTypeChat         = "chat"
	PeerTypeGroup        = "group"
	PeerTypeEmail        = "email"

	CantWriteReasonBlockedOrDeleted      int = 18
	CantWriteReasonIsBlacklisted             = 900
	CantWriteReasonPeerBlockedGroup          = 901
	CantWriteReasonPrivacySettings           = 902
	CantWriteReasonGroupMessagesDisabled     = 915
	CantWriteReasonGroupMessagesBlocked      = 916
	CantWriteReasonChatNotAccessible         = 917
	CantWriteReasonEmailNotAccessible        = 918
	CantWriteReasonGroupNotAccessible        = 203

	ChatStateIn     string = "in"
	ChatStateKicked        = "kicked"
	ChatStateLeft          = "left"
)
View Source
const (
	DocumentTypeText    int = 1
	DocumentTypeArchive     = 2
	DocumentTypeGIF         = 3
	DocumentTypeImage       = 4
	DocumentTypeAudio       = 5
	DocumentTypeVideo       = 6
	DocumentTypeEBook       = 7
	DocumentTypeUnknown     = 8
)
View Source
const (
	PostTypePost     string = "post"
	PostTypeCopy            = "copy"
	PostTypeReply           = "reply"
	PostTypePostpone        = "postpone"
	PostTypeSuggest         = "suggest"
)
View Source
const (
	StoryTypePhoto string = "photo"
	StoryTypeVideo        = "video"
)
View Source
const APIVersion = "5.92"

APIVersion is current version of VK API

Variables

This section is empty.

Functions

func BuildRequestParams

func BuildRequestParams(params interface{}) (url.Values, error)

BuildRequestParams is a helper function which can be used when implementing API.Request

params can be:

func MergeURLValues

func MergeURLValues(base, mergeWith url.Values)

MergeURLValues merges mergeWith into base

Can be useful when implementing API.Request

Types

type API

type API interface {
	// Request performs an API request
	//
	// - method is method name
	// - params: See BuildRequestParams
	Request(method string, params interface{}) (json.RawMessage, error)

	HTTPClient() *http.Client
}

API is entity which can perform API Requests using HTTPClient client

type APIError

type APIError struct {
	Code          int    `json:"error_code"`
	Message       string `json:"error_msg"`
	RequestParams []struct {
		Key   string `json:"key"`
		Value string `json:"value"`
	} `json:"request_params"`
}

APIError is a type representing errors returned by VK API

func (*APIError) Error

func (e *APIError) Error() string

Error implements error interface

func (APIError) MarshalEasyJSON

func (v APIError) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (APIError) MarshalJSON

func (v APIError) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*APIError) UnmarshalEasyJSON

func (v *APIError) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*APIError) UnmarshalJSON

func (v *APIError) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type APIResponse

type APIResponse struct {
	Error    *APIError
	Response json.RawMessage
}

APIResponse is a type representing general response returned by VK API

func (APIResponse) MarshalEasyJSON

func (v APIResponse) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (APIResponse) MarshalJSON

func (v APIResponse) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*APIResponse) UnmarshalEasyJSON

func (v *APIResponse) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*APIResponse) UnmarshalJSON

func (v *APIResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Album

type Album struct {
	ID          int    `json:"id"`
	Thumb       Photo  `json:"thumb"`
	OwnerID     int    `json:"owner_id"`
	Title       string `json:"title"`
	Description string `json:"description"`
	Created     int    `json:"created"`
	Updated     int    `json:"updated"`
	Size        int    `json:"size"`
}

func (Album) MarshalEasyJSON

func (v Album) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Album) MarshalJSON

func (v Album) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Album) UnmarshalEasyJSON

func (v *Album) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Album) UnmarshalJSON

func (v *Album) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Attachment

type Attachment struct {
	Val interface{}
}

Attachment is a wrapper for attachments Photo, Video, Audio, Document, Link, Note, Poll, Page, Album, MarketItem, MarketAlbum, Sticker, Wall, WallReply, Gift

func (*Attachment) UnmarshalJSON

func (a *Attachment) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler interface

type Audio

type Audio struct {
	ID        int    `json:"id"`
	OwnerID   int    `json:"owner_id"`
	AccessKey string `json:"access_key"`
	Artist    string `json:"artist"`
	Title     string `json:"title"`
	Duration  int    `json:"duration"`
	URL       string `json:"url"`
	LyricsID  int    `json:"lyrics_id"`
	AlbumID   int    `json:"album_id"`
	// TODO: Genre list
	GenreID      int     `json:"genre_id"`
	TrackGenreID int     `json:"track_genre_id"`
	Date         int     `json:"date"`
	NoSearch     BoolInt `json:"no_search"`
	IsLicensed   bool    `json:"is_licensed"`
	IsHQ         bool    `json:"is_hq"`
}

func (Audio) MarshalEasyJSON

func (v Audio) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Audio) MarshalJSON

func (v Audio) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Audio) UnmarshalEasyJSON

func (v *Audio) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Audio) UnmarshalJSON

func (v *Audio) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type AudioNew

type AudioNew struct {
	Audio
}

AudioNew -- new audio in community

func (AudioNew) MarshalEasyJSON

func (v AudioNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (AudioNew) MarshalJSON

func (v AudioNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*AudioNew) UnmarshalEasyJSON

func (v *AudioNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*AudioNew) UnmarshalJSON

func (v *AudioNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BaseAPI

type BaseAPI struct {
	BaseURL     string `url:"-"`
	AccessToken string `url:"access_token,omitempty"`
	Version     string `url:"v,omitempty"`
	Language    string `url:"lang,omitempty"`
	// contains filtered or unexported fields
}

BaseAPI is a helper type used for making requests

func NewBaseAPI

func NewBaseAPI(cfg BaseAPIConfig) (*BaseAPI, error)

NewBaseAPI creates and initializes a new BaseAPI instance

func (*BaseAPI) HTTPClient

func (vk *BaseAPI) HTTPClient() *http.Client

HTTPClient conforms to API interface

func (*BaseAPI) Request

func (vk *BaseAPI) Request(method string, params interface{}) (json.RawMessage, error)

Request conforms to API interface

type BaseAPIConfig

type BaseAPIConfig struct {
	// Required
	AccessToken string
	// Optional: if nil, lang is not passed in requests
	Language string
	// Optional: if nil, http.DefaultClient is used
	Client *http.Client
}

BaseAPIConfig represents configuration used for BaseAPI creation

type BaseImage

type BaseImage struct {
	URL    string  `json:"url"`
	Width  IntFrac `json:"width"`
	Height IntFrac `json:"height"`
}

func (BaseImage) MarshalEasyJSON

func (v BaseImage) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BaseImage) MarshalJSON

func (v BaseImage) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BaseImage) UnmarshalEasyJSON

func (v *BaseImage) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BaseImage) UnmarshalJSON

func (v *BaseImage) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BaseObject

type BaseObject struct {
	ID    int    `json:"id"`
	Title string `json:"title"`
}

func (BaseObject) MarshalEasyJSON

func (v BaseObject) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BaseObject) MarshalJSON

func (v BaseObject) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BaseObject) UnmarshalEasyJSON

func (v *BaseObject) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BaseObject) UnmarshalJSON

func (v *BaseObject) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BaseObjectWithName

type BaseObjectWithName struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
}

func (BaseObjectWithName) MarshalEasyJSON

func (v BaseObjectWithName) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BaseObjectWithName) MarshalJSON

func (v BaseObjectWithName) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BaseObjectWithName) UnmarshalEasyJSON

func (v *BaseObjectWithName) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BaseObjectWithName) UnmarshalJSON

func (v *BaseObjectWithName) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BoardPostDelete

type BoardPostDelete struct {
	TopicOwnerID int `json:"topic_owner_id"`
	TopicID      int `json:"topic_id"`
	ID           int `json:"id"`
}

BoardPostDelete -- board comment deleted

func (BoardPostDelete) MarshalEasyJSON

func (v BoardPostDelete) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BoardPostDelete) MarshalJSON

func (v BoardPostDelete) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BoardPostDelete) UnmarshalEasyJSON

func (v *BoardPostDelete) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BoardPostDelete) UnmarshalJSON

func (v *BoardPostDelete) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BoardPostEdit

type BoardPostEdit struct {
	CommentBoard

	TopicID      int `json:"topic_id"`
	TopicOwnerID int `json:"topic_owner_id"`
}

BoardPostEdit -- board comment edited

func (BoardPostEdit) MarshalEasyJSON

func (v BoardPostEdit) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BoardPostEdit) MarshalJSON

func (v BoardPostEdit) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BoardPostEdit) UnmarshalEasyJSON

func (v *BoardPostEdit) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BoardPostEdit) UnmarshalJSON

func (v *BoardPostEdit) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BoardPostNew

type BoardPostNew struct {
	CommentBoard

	TopicID      int `json:"topic_id"`
	TopicOwnerID int `json:"topic_owner_id"`
}

BoardPostNew -- new board comment

func (BoardPostNew) MarshalEasyJSON

func (v BoardPostNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BoardPostNew) MarshalJSON

func (v BoardPostNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BoardPostNew) UnmarshalEasyJSON

func (v *BoardPostNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BoardPostNew) UnmarshalJSON

func (v *BoardPostNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BoardPostRestore

type BoardPostRestore struct {
	CommentBoard

	TopicID      int `json:"topic_id"`
	TopicOwnerID int `json:"topic_owner_id"`
}

BoardPostRestore -- board comment restored

func (BoardPostRestore) MarshalEasyJSON

func (v BoardPostRestore) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BoardPostRestore) MarshalJSON

func (v BoardPostRestore) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BoardPostRestore) UnmarshalEasyJSON

func (v *BoardPostRestore) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BoardPostRestore) UnmarshalJSON

func (v *BoardPostRestore) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BoardTopic

type BoardTopic struct {
	ID        int     `json:"id"`
	Title     string  `json:"title"`
	Created   int     `json:"created"`
	CreatedBy int     `json:"created_by"`
	Updated   int     `json:"updated"`
	UpdatedBy int     `json:"updated_by"`
	IsClosed  BoolInt `json:"is_closed"`
	IsFixed   BoolInt `json:"is_fixed"`
	Comments  int     `json:"comments"`
}

func (BoardTopic) MarshalEasyJSON

func (v BoardTopic) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BoardTopic) MarshalJSON

func (v BoardTopic) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BoardTopic) UnmarshalEasyJSON

func (v *BoardTopic) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BoardTopic) UnmarshalJSON

func (v *BoardTopic) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BoardTopicPoll

type BoardTopicPoll struct {
	PollID   int          `json:"poll_id"`
	OwnerID  int          `json:"owner_id"`
	Created  int          `json:"created"`
	Question string       `json:"question"`
	Votes    int          `json:"votes"`
	AnswerID int          `json:"answer_id"`
	Asnwers  []PollAnswer `json:"asnwers"`
}

func (BoardTopicPoll) MarshalEasyJSON

func (v BoardTopicPoll) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BoardTopicPoll) MarshalJSON

func (v BoardTopicPoll) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BoardTopicPoll) UnmarshalEasyJSON

func (v *BoardTopicPoll) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BoardTopicPoll) UnmarshalJSON

func (v *BoardTopicPoll) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BoolInt

type BoolInt bool

BoolInt is bool type which conforms to easyjson.Unmarshaler interface and unmarshals from VK's favorite 1/0 int bools

func (*BoolInt) UnmarshalEasyJSON

func (v *BoolInt) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON implements easyjson.Unmarshaler interface

func (*BoolInt) UnmarshalJSON

func (v *BoolInt) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler interface

type CallbackEvent

type CallbackEvent struct {
	// ID of group this event occured in
	GroupID int
	// Secret for Callback API
	Secret string
	// Event itself
	//
	// One of Confirmation, MessageNew, MessageReply, MessageEdit,
	// MessageAllow, MessageDeny, MessageTypingState, PhotoNew,
	// PhotoCommentNew, PhotoCommentEdit, PhotoCommentRestore,
	// PhotoCommentDelete, AudioNew, VideoNew, VideoCommentNew,
	// VideoCommentEdit, VideoCommentRestore, VideoCommentDelete,
	// WallPostNew, WallRepost, WallReplyNew, WallReplyEdit,
	// WallReplyRestore, WallReplyDelete, BoardPostNew, BoardPostEdit,
	// BoardPostRestore, BoardPostDelete, MarketCommentNew,
	// MarketCommentEdit, MarketCommentRestore, MarketCommentDelete,
	// GroupLeave, GroupJoin, UserBlock, UserUnblock, PollVoteNew,
	// GroupOfficersEdit, GroupChangeSettings, GroupChangePhoto,
	// LeadFormsNew, NewVKPayTransaction.
	Event interface{}
}

CallbackEvent is base event

func (*CallbackEvent) UnmarshalJSON

func (e *CallbackEvent) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler interface

type Category

type Category struct {
	BaseObjectWithName
	Subcategories []BaseObjectWithName `json:"subcategories"`
	PageCount     int                  `json:"page_count,omitempty"`
	PagePreviews  []Group              `json:"page_previews,omitempty"`
}

func (Category) MarshalEasyJSON

func (v Category) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Category) MarshalJSON

func (v Category) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Category) UnmarshalEasyJSON

func (v *Category) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Category) UnmarshalJSON

func (v *Category) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type ChangedIntValue

type ChangedIntValue struct {
	OldValue int `json:"old_value"`
	NewValue int `json:"new_value"`
}

ChangedIntValue -- holds old and new int values

func (ChangedIntValue) MarshalEasyJSON

func (v ChangedIntValue) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (ChangedIntValue) MarshalJSON

func (v ChangedIntValue) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*ChangedIntValue) UnmarshalEasyJSON

func (v *ChangedIntValue) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ChangedIntValue) UnmarshalJSON

func (v *ChangedIntValue) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type ChangedStringValue

type ChangedStringValue struct {
	OldValue string `json:"old_value"`
	NewValue string `json:"new_value"`
}

ChangedStringValue -- holds old and new string values

func (ChangedStringValue) MarshalEasyJSON

func (v ChangedStringValue) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (ChangedStringValue) MarshalJSON

func (v ChangedStringValue) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*ChangedStringValue) UnmarshalEasyJSON

func (v *ChangedStringValue) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ChangedStringValue) UnmarshalJSON

func (v *ChangedStringValue) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Chat

type Chat struct {
	ID           int    `json:"id"`
	Type         string `json:"type"`
	Title        string `json:"title"`
	AdminID      int    `json:"admin_id"`
	Users        []int  `json:"users"`
	MembersCount int    `json:"members_count"`

	PushSettings struct {
		Sound         BoolInt `json:"sound"`
		DisabledUntil int     `json:"disabled_until"`
	} `json:"push_settings"`

	Photo50  string `json:"photo_50"`
	Photo100 string `json:"photo_100"`
	Photo200 string `json:"photo_200"`

	Left   BoolInt `json:"left"`
	Kicked BoolInt `json:"kicked"`
}

func (Chat) MarshalEasyJSON

func (v Chat) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Chat) MarshalJSON

func (v Chat) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Chat) UnmarshalEasyJSON

func (v *Chat) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Chat) UnmarshalJSON

func (v *Chat) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Comment

type Comment struct {
	ID             int          `json:"id"`
	FromID         int          `json:"from_id"`
	Date           int          `json:"date"`
	Text           string       `json:"text"`
	ReplyToUser    int          `json:"reply_to_user"`
	ReplyToComment int          `json:"reply_to_comment"`
	Attachments    []Attachment `json:"attachments"`
}

func (Comment) MarshalEasyJSON

func (v Comment) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Comment) MarshalJSON

func (v Comment) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Comment) UnmarshalEasyJSON

func (v *Comment) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Comment) UnmarshalJSON

func (v *Comment) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type CommentBoard

type CommentBoard struct {
	ID          int          `json:"id"`
	FromID      int          `json:"from_id"`
	Date        int          `json:"date"`
	Text        string       `json:"text"`
	Attachments []Attachment `json:"attachments"`
	Likes       struct {
		Count     int `json:"count"`
		UserLikes int `json:"user_likes"`
		CanLike   int `json:"can_like"`
	} `json:"likes"`
}

func (CommentBoard) MarshalEasyJSON

func (v CommentBoard) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (CommentBoard) MarshalJSON

func (v CommentBoard) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*CommentBoard) UnmarshalEasyJSON

func (v *CommentBoard) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CommentBoard) UnmarshalJSON

func (v *CommentBoard) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Confirmation

type Confirmation struct{}

Confirmation is used in Callback API. It requires listener to reply with Confirmation token instead of normal "ok".

func (Confirmation) MarshalEasyJSON

func (v Confirmation) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Confirmation) MarshalJSON

func (v Confirmation) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Confirmation) UnmarshalEasyJSON

func (v *Confirmation) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Confirmation) UnmarshalJSON

func (v *Confirmation) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Conversation

type Conversation struct {
	Peer struct {
		ID      int    `json:"id"`
		Type    string `json:"type"`
		LocalID int    `json:"local_id"`
	} `json:"peer"`

	InRead      int `json:"in_read"`
	OutRead     int `json:"out_read"`
	UnreadCount int `json:"unread_count"`

	Important    bool `json:"important"`
	Unanswered   bool `json:"unanswered"`
	PushSettings *struct {
		DisabledUntil   int  `json:"disabled_until"`
		DisabledForever bool `json:"disabled_forever"`
		NoSound         bool `json:"no_sound"`
	} `json:"push_settings"`

	CanWrite *struct {
		Allowed bool `json:"allowed"`
		Reason  int  `json:"reason"`
	} `json:"can_write"`

	ChatSettings *struct {
		MembersCount  int      `json:"members_count"`
		Title         string   `json:"title"`
		PinnedMessage *Message `json:"pinned_message"`
		State         string   `json:"state"`

		Photo struct {
			Photo50  string `json:"photo_50"`
			Photo100 string `json:"photo_100"`
			Photo200 string `json:"photo_200"`
		} `json:"photo"`

		ActiveIDs []int `json:"active_ids"`

		IsGroupChannel bool `json:"is_group_channel"`
	} `json:"chat_settings"`
}

func (Conversation) MarshalEasyJSON

func (v Conversation) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Conversation) MarshalJSON

func (v Conversation) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Conversation) UnmarshalEasyJSON

func (v *Conversation) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Conversation) UnmarshalJSON

func (v *Conversation) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type CropPhoto

type CropPhoto struct {
	Photo Photo `json:"photo"`
	Crop  struct {
		X  int `json:"x"`
		Y  int `json:"y"`
		X2 int `json:"x2"`
		Y2 int `json:"y2"`
	} `json:"crop"`
	Rect struct {
		X  int `json:"x"`
		Y  int `json:"y"`
		X2 int `json:"x2"`
		Y2 int `json:"y2"`
	} `json:"rect"`
}

func (CropPhoto) MarshalEasyJSON

func (v CropPhoto) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (CropPhoto) MarshalJSON

func (v CropPhoto) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*CropPhoto) UnmarshalEasyJSON

func (v *CropPhoto) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CropPhoto) UnmarshalJSON

func (v *CropPhoto) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DatabaseCity

type DatabaseCity struct {
	BaseObject
	Area      string `json:"area"`
	Region    string `json:"region"`
	Important int    `json:"important"`
}

func (DatabaseCity) MarshalEasyJSON

func (v DatabaseCity) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DatabaseCity) MarshalJSON

func (v DatabaseCity) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DatabaseCity) UnmarshalEasyJSON

func (v *DatabaseCity) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DatabaseCity) UnmarshalJSON

func (v *DatabaseCity) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Document

type Document struct {
	ID        int             `json:"id"`
	OwnerID   int             `json:"owner_id"`
	AccessKey string          `json:"access_key"`
	Title     string          `json:"title"`
	Size      int             `json:"size"`
	Ext       string          `json:"ext"`
	URL       string          `json:"url"`
	Date      int             `json:"date"`
	Type      int             `json:"type"`
	Preview   DocumentPreview `json:"preview"`
}

func (Document) MarshalEasyJSON

func (v Document) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Document) MarshalJSON

func (v Document) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Document) UnmarshalEasyJSON

func (v *Document) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Document) UnmarshalJSON

func (v *Document) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DocumentPreview

type DocumentPreview struct {
	Photo        *DocumentPreviewPhoto        `json:"photo"`
	Video        *DocumentPreviewVideo        `json:"video"`
	AudioMessage *DocumentPreviewAudioMessage `json:"audio_message"`
	Graffiti     *DocumentPreviewGraffiti     `json:"graffiti"`
}

func (DocumentPreview) MarshalEasyJSON

func (v DocumentPreview) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DocumentPreview) MarshalJSON

func (v DocumentPreview) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DocumentPreview) UnmarshalEasyJSON

func (v *DocumentPreview) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DocumentPreview) UnmarshalJSON

func (v *DocumentPreview) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DocumentPreviewAudioMessage

type DocumentPreviewAudioMessage struct {
	Duration int    `json:"duration"`
	Waveform []int  `json:"waveform"`
	LinkOGG  string `json:"link_ogg"`
	LinkMP3  string `json:"link_mp3"`
}

func (DocumentPreviewAudioMessage) MarshalEasyJSON

func (v DocumentPreviewAudioMessage) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DocumentPreviewAudioMessage) MarshalJSON

func (v DocumentPreviewAudioMessage) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DocumentPreviewAudioMessage) UnmarshalEasyJSON

func (v *DocumentPreviewAudioMessage) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DocumentPreviewAudioMessage) UnmarshalJSON

func (v *DocumentPreviewAudioMessage) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DocumentPreviewGraffiti

type DocumentPreviewGraffiti struct {
	Src    string `json:"src"`
	Width  int    `json:"width"`
	Height int    `json:"height"`
}

func (DocumentPreviewGraffiti) MarshalEasyJSON

func (v DocumentPreviewGraffiti) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DocumentPreviewGraffiti) MarshalJSON

func (v DocumentPreviewGraffiti) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DocumentPreviewGraffiti) UnmarshalEasyJSON

func (v *DocumentPreviewGraffiti) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DocumentPreviewGraffiti) UnmarshalJSON

func (v *DocumentPreviewGraffiti) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DocumentPreviewPhoto

type DocumentPreviewPhoto struct {
	Sizes []PhotoSize `json:"sizes"`
}

func (DocumentPreviewPhoto) MarshalEasyJSON

func (v DocumentPreviewPhoto) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DocumentPreviewPhoto) MarshalJSON

func (v DocumentPreviewPhoto) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DocumentPreviewPhoto) UnmarshalEasyJSON

func (v *DocumentPreviewPhoto) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DocumentPreviewPhoto) UnmarshalJSON

func (v *DocumentPreviewPhoto) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DocumentPreviewVideo

type DocumentPreviewVideo struct {
	Src      string `json:"src"`
	Width    int    `json:"width"`
	Height   int    `json:"height"`
	Filesize int    `json:"filesize"`
}

func (DocumentPreviewVideo) MarshalEasyJSON

func (v DocumentPreviewVideo) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DocumentPreviewVideo) MarshalJSON

func (v DocumentPreviewVideo) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DocumentPreviewVideo) UnmarshalEasyJSON

func (v *DocumentPreviewVideo) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DocumentPreviewVideo) UnmarshalJSON

func (v *DocumentPreviewVideo) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Gift

type Gift struct {
	ID       int    `json:"id"`
	Thumb256 string `json:"thumb_256"`
	Thumb96  string `json:"thumb_96"`
	Thumb48  string `json:"thumb_48"`
}

func (Gift) MarshalEasyJSON

func (v Gift) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Gift) MarshalJSON

func (v Gift) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Gift) UnmarshalEasyJSON

func (v *Gift) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Gift) UnmarshalJSON

func (v *Gift) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Group

type Group struct {
	ID          int     `json:"id"`
	Name        string  `json:"name"`
	ScreenName  string  `json:"screen_name"`
	IsClosed    BoolInt `json:"is_closed"`
	Deactivated string  `json:"deactivated"`
	InvitedBy   int     `json:"invited_by"`
	Type        string  `json:"type"`
	Description string  `json:"description"`
	FixedPost   int     `json:"fixed_post"`

	MainAlbumID int `json:"main_album_id"`
	MainSection int `json:"main_section"`
	Market      *struct {
		Enabled     int `json:"enabled"`
		PriceMin    int `json:"price_min"`
		PriceMax    int `json:"price_max"`
		MainAlbumID int `json:"main_album_id"`
		ContactID   int `json:"contact_id"`
		Currency    struct {
			ID   int    `json:"id"`
			Name string `json:"name"`
		} `json:"currency"`
		CurrencyText string `json:"currency_text"`
	} `json:"market"`

	Photo50  string `json:"photo_50"`
	Photo100 string `json:"photo_100"`
	Photo200 string `json:"photo_200"`

	Activity  string `json:"activity"`
	AgeLimits int    `json:"age_limits"`

	AdminLevel        int     `json:"admin_level"`
	IsAdmin           BoolInt `json:"is_admin"`
	IsMember          BoolInt `json:"is_member"`
	IsFavorite        BoolInt `json:"is_favorite"`
	IsHiddenFromFeed  BoolInt `json:"is_hidden_from_feed"`
	IsMessagesBlocked BoolInt `json:"is_messages_blocked"`
	CanCreateTopic    BoolInt `json:"can_create_topic"`
	CanMessage        BoolInt `json:"can_message"`
	CanPost           BoolInt `json:"can_post"`
	CanSeeAllPosts    BoolInt `json:"can_see_all_posts"`
	CanUploadDoc      BoolInt `json:"can_upload_doc"`
	CanUploadVideo    BoolInt `json:"can_upload_video"`
	HasPhoto          BoolInt `json:"has_photo"`

	BanInfo *struct {
		EndDate int    `json:"end_date"`
		Comment string `json:"comment"`
	} `json:"ban_info"`

	City    *BaseObject `json:"city"`
	Country *BaseObject `json:"country"`

	Cover *struct {
		Enabled int         `json:"enabled"`
		Images  []BaseImage `json:"images"`
	} `json:"cover"`

	CropPhoto *CropPhoto `json:"crop_photo"`

	Contacts []struct {
		UserID      int    `json:"user_id"`
		Description string `json:"desc"`
		Phone       string `json:"phone"`
		Email       string `json:"email"`
	} `json:"contacts"`

	Links []MiniLink `json:"links"`

	Counters *struct {
		Albums int `json:"albums"`
		Videos int `json:"videos"`
		Audios int `json:"audios"`
		Photos int `json:"photos"`
		Topics int `json:"topics"`
		Docs   int `json:"docs"`
		Market int `json:"market"`
	} `json:"counters"`
}

func (Group) MarshalEasyJSON

func (v Group) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Group) MarshalJSON

func (v Group) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Group) UnmarshalEasyJSON

func (v *Group) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Group) UnmarshalJSON

func (v *Group) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type GroupAddress

type GroupAddress struct {
	// Address id
	ID int `json:"id,omitempty"`
	// Title of the place (Zinger, etc)
	Title string `json:"title,omitempty"`
	// String address to the place (Nevsky, 28)
	Address string `json:"address,omitempty"`
	// Additional address to the place (6 floor, left door)
	AdditionalAddress string `json:"additional_address,omitempty"`
	// Country id of address
	CountryID int `json:"country_id,omitempty"`
	// City id of address
	CityID int `json:"city_id,omitempty"`
	// Metro id of address
	MetroStationID int `json:"metro_station_id,omitempty"`
	// Address latitude
	Latitude float32 `json:"latitude,omitempty"`
	// Address longitude
	Longitude float32 `json:"longitude,omitempty"`
	// Distance from the point
	Distance int `json:"distance,omitempty"`
	// Status of information about timetable
	WorkInfoStatus string `json:"work_info_status,omitempty"`
	// Week timetable for the address
	// Timetable genTODOType /* #/definitions/groups_address_timetable */ `json:"timetable,omitempty"`
	// Address phone
	Phone string `json:"phone,omitempty"`
	// Time offset int minutes from utc time
	TimeOffset int `json:"time_offset,omitempty"`
}

func (GroupAddress) MarshalEasyJSON

func (v GroupAddress) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (GroupAddress) MarshalJSON

func (v GroupAddress) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*GroupAddress) UnmarshalEasyJSON

func (v *GroupAddress) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*GroupAddress) UnmarshalJSON

func (v *GroupAddress) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type GroupChangePhoto

type GroupChangePhoto struct {
	// UserID of user who changed photo
	UserID int `json:"user_id"`
	// Photo new photo
	Photo Photo `json:"photo"`
}

GroupChangePhoto -- changes of community main photo

func (GroupChangePhoto) MarshalEasyJSON

func (v GroupChangePhoto) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (GroupChangePhoto) MarshalJSON

func (v GroupChangePhoto) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*GroupChangePhoto) UnmarshalEasyJSON

func (v *GroupChangePhoto) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*GroupChangePhoto) UnmarshalJSON

func (v *GroupChangePhoto) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type GroupChangeSettings

type GroupChangeSettings struct {
	// UserID of user who made changes
	UserID  int `json:"user_id"`
	Changes struct {
		Title             *ChangedStringValue `json:"title"`
		Description       *ChangedStringValue `json:"description"`
		Access            *ChangedStringValue `json:"access"`
		ScreenName        *ChangedStringValue `json:"screen_name"`
		PublicCategory    ChangedIntValue     `json:"public_category"`
		PublicSubcategory ChangedIntValue     `json:"public_subcategory"`
		Website           *ChangedStringValue `json:"website"`

		// 0=None, 1=0-16, 2=16+, 3=18+
		AgeLimits ChangedIntValue `json:"age_limits"`
		// 0=No one/Disabled, 1=All members/Everyone, 2=Community only
		Audio  ChangedIntValue `json:"audio"`
		Photo  ChangedIntValue `json:"photo"`
		Video  ChangedIntValue `json:"video"`
		Market ChangedIntValue `json:"market"`
		Docs   ChangedIntValue `json:"docs"`
		// Comments on wall
		Replies ChangedIntValue `json:"replies"`
		// Wall posts?..
		StatusDefault ChangedIntValue `json:"status_default"`
	} `json:"changes"`
}

GroupChangeSettings -- changes in community settings

func (GroupChangeSettings) MarshalEasyJSON

func (v GroupChangeSettings) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (GroupChangeSettings) MarshalJSON

func (v GroupChangeSettings) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*GroupChangeSettings) UnmarshalEasyJSON

func (v *GroupChangeSettings) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*GroupChangeSettings) UnmarshalJSON

func (v *GroupChangeSettings) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type GroupJoin

type GroupJoin struct {
	// UserID who has joined
	UserID int `json:"user_id"`
	// JoinType is how user got into group
	JoinType GroupJoinType `json:"join_type"`
}

GroupJoin -- member added to community

func (GroupJoin) MarshalEasyJSON

func (v GroupJoin) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (GroupJoin) MarshalJSON

func (v GroupJoin) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*GroupJoin) UnmarshalEasyJSON

func (v *GroupJoin) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*GroupJoin) UnmarshalJSON

func (v *GroupJoin) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type GroupJoinType

type GroupJoinType string

GroupJoinType is type for GroupJoin event

type GroupLeave

type GroupLeave struct {
	// UserID of user who has left
	UserID int `json:"user_id"`
	// Self is true if user has left on its own and false if user was kicked
	Self BoolInt `json:"self"`
}

GroupLeave -- member removed from community

func (GroupLeave) MarshalEasyJSON

func (v GroupLeave) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (GroupLeave) MarshalJSON

func (v GroupLeave) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*GroupLeave) UnmarshalEasyJSON

func (v *GroupLeave) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*GroupLeave) UnmarshalJSON

func (v *GroupLeave) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type GroupOfficerRole

type GroupOfficerRole int

GroupOfficerRole is role of group admin

type GroupOfficersEdit

type GroupOfficersEdit struct {
	// AdminID of administrator who made changes
	AdminID int `json:"admin_id"`
	// UserID of whose role was changed
	UserID int `json:"user_id"`
	// LevelOld is old role
	LevelOld GroupOfficerRole `json:"level_old"`
	// LevelNew is new role
	LevelNew GroupOfficerRole `json:"level_new"`
}

GroupOfficersEdit -- changes in the administrators list

func (GroupOfficersEdit) MarshalEasyJSON

func (v GroupOfficersEdit) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (GroupOfficersEdit) MarshalJSON

func (v GroupOfficersEdit) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*GroupOfficersEdit) UnmarshalEasyJSON

func (v *GroupOfficersEdit) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*GroupOfficersEdit) UnmarshalJSON

func (v *GroupOfficersEdit) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type HTTPError

type HTTPError struct {
	StatusCode int
	Status     string
}

HTTPError is a type representing HTTP error returned by VK API

func (*HTTPError) Error

func (e *HTTPError) Error() string

Error implements error interface

type IntFrac

type IntFrac int

IntFrac is int type which conforms to easyjson.Unmarshaler interface and unmarshals as float to workaround VK bug with ints being sent as fractionals

func (*IntFrac) UnmarshalEasyJSON

func (v *IntFrac) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON implements easyjson.Unmarshaler interface

func (*IntFrac) UnmarshalJSON

func (v *IntFrac) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler interface

type LeadFormsNew

type LeadFormsNew struct {
}

LeadFormsNew -- new lead forms filled TODO: Find definition

func (LeadFormsNew) MarshalEasyJSON

func (v LeadFormsNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (LeadFormsNew) MarshalJSON

func (v LeadFormsNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*LeadFormsNew) UnmarshalEasyJSON

func (v *LeadFormsNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*LeadFormsNew) UnmarshalJSON

func (v *LeadFormsNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Link struct {
	URL         string `json:"url"`
	Title       string `json:"title"`
	Caption     string `json:"caption"`
	Description string `json:"description"`
	Photo       Photo  `json:"photo"`
	// TODO: Product
	// TODO: Button
	PreviewPage string `json:"preview_page"`
	PreviewURL  string `json:"preview_url"`
}

func (Link) MarshalEasyJSON

func (v Link) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Link) MarshalJSON

func (v Link) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Link) UnmarshalEasyJSON

func (v *Link) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Link) UnmarshalJSON

func (v *Link) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MarketAlbum

type MarketAlbum struct {
	ID          int    `json:"id"`
	OwnerID     int    `json:"owner_id"`
	Title       string `json:"title"`
	Photo       Photo  `json:"photo"`
	Count       int    `json:"count"`
	UpdatedTime int    `json:"updated_time"`
}

func (MarketAlbum) MarshalEasyJSON

func (v MarketAlbum) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MarketAlbum) MarshalJSON

func (v MarketAlbum) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MarketAlbum) UnmarshalEasyJSON

func (v *MarketAlbum) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MarketAlbum) UnmarshalJSON

func (v *MarketAlbum) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MarketCategory

type MarketCategory struct {
	BaseObjectWithName
	Section BaseObjectWithName `json:"section"`
}

func (MarketCategory) MarshalEasyJSON

func (v MarketCategory) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MarketCategory) MarshalJSON

func (v MarketCategory) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MarketCategory) UnmarshalEasyJSON

func (v *MarketCategory) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MarketCategory) UnmarshalJSON

func (v *MarketCategory) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MarketCommentDelete

type MarketCommentDelete struct {
	OwnerID   int `json:"owner_id"`
	ID        int `json:"id"`
	UserID    int `json:"user_id"`
	DeleterID int `json:"deleter_id"`
	ItemID    int `json:"item_id"`
}

MarketCommentDelete -- market comment deleted

func (MarketCommentDelete) MarshalEasyJSON

func (v MarketCommentDelete) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MarketCommentDelete) MarshalJSON

func (v MarketCommentDelete) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MarketCommentDelete) UnmarshalEasyJSON

func (v *MarketCommentDelete) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MarketCommentDelete) UnmarshalJSON

func (v *MarketCommentDelete) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MarketCommentEdit

type MarketCommentEdit struct {
	Comment

	MarketOwnerID int `json:"market_owner_id"`
	ItemID        int `json:"item_id"`
}

MarketCommentEdit -- market comment edited

func (MarketCommentEdit) MarshalEasyJSON

func (v MarketCommentEdit) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MarketCommentEdit) MarshalJSON

func (v MarketCommentEdit) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MarketCommentEdit) UnmarshalEasyJSON

func (v *MarketCommentEdit) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MarketCommentEdit) UnmarshalJSON

func (v *MarketCommentEdit) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MarketCommentNew

type MarketCommentNew struct {
	Comment

	MarketOwnerID int `json:"market_owner_id"`
	ItemID        int `json:"item_id"`
}

MarketCommentNew -- new market comment

func (MarketCommentNew) MarshalEasyJSON

func (v MarketCommentNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MarketCommentNew) MarshalJSON

func (v MarketCommentNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MarketCommentNew) UnmarshalEasyJSON

func (v *MarketCommentNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MarketCommentNew) UnmarshalJSON

func (v *MarketCommentNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MarketCommentRestore

type MarketCommentRestore struct {
	Comment

	MarketOwnerID int `json:"market_owner_id"`
	ItemID        int `json:"item_id"`
}

MarketCommentRestore -- marked comment restored

func (MarketCommentRestore) MarshalEasyJSON

func (v MarketCommentRestore) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MarketCommentRestore) MarshalJSON

func (v MarketCommentRestore) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MarketCommentRestore) UnmarshalEasyJSON

func (v *MarketCommentRestore) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MarketCommentRestore) UnmarshalJSON

func (v *MarketCommentRestore) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MarketItem

type MarketItem struct {
	ID          int    `json:"id"`
	OwnerID     int    `json:"owner_id"`
	Title       string `json:"title"`
	Description string `json:"description"`
	Price       struct {
		Amount   int `json:"amount"`
		Currency struct {
			ID   int    `json:"id"`
			Name string `json:"name"`
		} `json:"currency"`
		Text string `json:"text"`
	} `json:"price"`
	Category   MarketCategory `json:"category"`
	ThumbPhoto string         `json:"thumb_photo"`
	Date       int            `json:"date"`
	// TODO: Availability enum/type
	Availability int `json:"availability"`

	Photos     []Photo `json:"photos"`
	CanComment BoolInt `json:"can_comment"`
	CanRepost  BoolInt `json:"can_repost"`
	Likes      struct {
		UserLikes int `json:"user_likes"`
		Count     int `json:"count"`
	} `json:"likes"`
}

func (MarketItem) MarshalEasyJSON

func (v MarketItem) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MarketItem) MarshalJSON

func (v MarketItem) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MarketItem) UnmarshalEasyJSON

func (v *MarketItem) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MarketItem) UnmarshalJSON

func (v *MarketItem) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Message

type Message struct {
	ID int `json:"id"`
	// Unique auto-incremented number for all messages with this peer
	ConversationID int          `json:"conversation_message_id"`
	Date           int          `json:"date"`
	PeerID         int          `json:"peer_id"`
	FromID         int          `json:"from_id"`
	Text           string       `json:"text"`
	RandomID       int          `json:"random_id"`
	Attachments    []Attachment `json:"attachments"`
	Important      bool         `json:"important"`
	// TODO: Geo
	Payload           string    `json:"payload"`
	ForwardedMessages []Message `json:"fwd_messages"`

	// TODO: Action types
	Action *struct {
		Type     string `json:"type"`
		MemberID int    `json:"member_id"`
		Text     string `json:"text"`
		Email    string `json:"email"`
		Photo    struct {
			Photo50  string `json:"photo_50"`
			Photo100 string `json:"photo_100"`
			Photo200 string `json:"photo_200"`
		} `json:"photo"`
	} `json:"action"`
}

func (Message) MarshalEasyJSON

func (v Message) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Message) MarshalJSON

func (v Message) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Message) UnmarshalEasyJSON

func (v *Message) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Message) UnmarshalJSON

func (v *Message) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MessageAllow

type MessageAllow struct {
	UserID int `json:"user_id"`
	// Key is parameter from messages.allowMessagesFromGroup
	Key string `json:"key"`
}

MessageAllow -- new user consent to messages sending

func (MessageAllow) MarshalEasyJSON

func (v MessageAllow) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MessageAllow) MarshalJSON

func (v MessageAllow) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MessageAllow) UnmarshalEasyJSON

func (v *MessageAllow) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MessageAllow) UnmarshalJSON

func (v *MessageAllow) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MessageDeny

type MessageDeny struct {
	UserID int `json:"user_id"`
}

MessageDeny -- new user prohibition to messages sending

func (MessageDeny) MarshalEasyJSON

func (v MessageDeny) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MessageDeny) MarshalJSON

func (v MessageDeny) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MessageDeny) UnmarshalEasyJSON

func (v *MessageDeny) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MessageDeny) UnmarshalJSON

func (v *MessageDeny) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MessageEdit

type MessageEdit struct {
	Message
}

MessageEdit -- a message is edited

func (MessageEdit) MarshalEasyJSON

func (v MessageEdit) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MessageEdit) MarshalJSON

func (v MessageEdit) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MessageEdit) UnmarshalEasyJSON

func (v *MessageEdit) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MessageEdit) UnmarshalJSON

func (v *MessageEdit) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MessageNew

type MessageNew struct {
	Message
}

MessageNew -- new message is recieved

func (MessageNew) MarshalEasyJSON

func (v MessageNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MessageNew) MarshalJSON

func (v MessageNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MessageNew) UnmarshalEasyJSON

func (v *MessageNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MessageNew) UnmarshalJSON

func (v *MessageNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MessageReply

type MessageReply struct {
	Message
}

MessageReply -- new message is sent

func (MessageReply) MarshalEasyJSON

func (v MessageReply) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MessageReply) MarshalJSON

func (v MessageReply) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MessageReply) UnmarshalEasyJSON

func (v *MessageReply) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MessageReply) UnmarshalJSON

func (v *MessageReply) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MessageTypingState

type MessageTypingState struct {
	// State is always "typing" (XXX: Ask VK devs)
	State string `json:"state"`
	// FromID of peer who's typing
	FromID int `json:"from_id"`
	// ToID of other peer
	ToID int `json:"to_id"`
}

MessageTypingState -- new message typing state

func (MessageTypingState) MarshalEasyJSON

func (v MessageTypingState) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MessageTypingState) MarshalJSON

func (v MessageTypingState) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MessageTypingState) UnmarshalEasyJSON

func (v *MessageTypingState) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MessageTypingState) UnmarshalJSON

func (v *MessageTypingState) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MiniLink struct {
	ID          int    `json:"id"`
	URL         string `json:"url"`
	Name        string `json:"name"`
	Description string `json:"desc"`
	Photo50     string `json:"photo_50"`
	Photo100    string `json:"photo_100"`
	Photo200    string `json:"photo_200"`
}

func (MiniLink) MarshalEasyJSON

func (v MiniLink) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MiniLink) MarshalJSON

func (v MiniLink) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MiniLink) UnmarshalEasyJSON

func (v *MiniLink) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MiniLink) UnmarshalJSON

func (v *MiniLink) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type NewVKPayTransaction

type NewVKPayTransaction struct {
}

NewVKPayTransaction -- new VKPay transaction TODO: Find definition

Starts with New to silence golint:

type name will be used as vk.VKPayTransaction by other packages,
and that stutters; consider calling this PayTransaction

func (NewVKPayTransaction) MarshalEasyJSON

func (v NewVKPayTransaction) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (NewVKPayTransaction) MarshalJSON

func (v NewVKPayTransaction) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*NewVKPayTransaction) UnmarshalEasyJSON

func (v *NewVKPayTransaction) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*NewVKPayTransaction) UnmarshalJSON

func (v *NewVKPayTransaction) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type NewsfeedItem

type NewsfeedItem struct {
	// Item type
	Type string `json:"type,omitempty"`
	// Item source ID
	SourceID int `json:"source_id,omitempty"`
	// Date when item has been added in Unixtime
	Date int `json:"date,omitempty"`
}

func (NewsfeedItem) MarshalEasyJSON

func (v NewsfeedItem) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (NewsfeedItem) MarshalJSON

func (v NewsfeedItem) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*NewsfeedItem) UnmarshalEasyJSON

func (v *NewsfeedItem) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*NewsfeedItem) UnmarshalJSON

func (v *NewsfeedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Note

type Note struct {
	ID           int    `json:"id"`
	OwnerID      int    `json:"owner_id"`
	Title        string `json:"title"`
	Text         string `json:"text"`
	Date         int    `json:"date"`
	Comments     int    `json:"comments"`
	ReadComments int    `json:"read_comments"`
	ViewURL      string `json:"view_url"`
}

func (Note) MarshalEasyJSON

func (v Note) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Note) MarshalJSON

func (v Note) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Note) UnmarshalEasyJSON

func (v *Note) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Note) UnmarshalJSON

func (v *Note) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Page

type Page struct {
	ID                       int     `json:"id"`
	GroupID                  int     `json:"group_id"`
	CreatorID                int     `json:"creator_id"`
	Title                    string  `json:"title"`
	CurrentUserCanEdit       BoolInt `json:"current_user_can_edit"`
	CurrentUserCanEditAccess BoolInt `json:"current_user_can_edit_access"`
	// TODO: enums
	WhoCanView int    `json:"who_can_view"`
	WhoCanEdit int    `json:"who_can_edit"`
	Edited     int    `json:"edited"`
	Created    int    `json:"created"`
	EditorID   int    `json:"editor_id"`
	Views      int    `json:"views"`
	Parent     string `json:"parent"`
	Parent2    string `json:"parent2"`
	Source     string `json:"source"`
	HTML       string `json:"html"`
	ViewURL    string `json:"view_url"`
}

func (Page) MarshalEasyJSON

func (v Page) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Page) MarshalJSON

func (v Page) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Page) UnmarshalEasyJSON

func (v *Page) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Page) UnmarshalJSON

func (v *Page) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Photo

type Photo struct {
	ID        int         `json:"id"`
	AlbumID   int         `json:"album_id"`
	OwnerID   int         `json:"owner_id"`
	UserID    int         `json:"user_id"`
	AccessKey string      `json:"access_key"`
	Text      string      `json:"text"`
	Date      int         `json:"date"`
	Sizes     []PhotoSize `json:"sizes"`
	Width     int         `json:"width"`
	Height    int         `json:"height"`
}

func (Photo) MarshalEasyJSON

func (v Photo) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Photo) MarshalJSON

func (v Photo) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Photo) UnmarshalEasyJSON

func (v *Photo) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Photo) UnmarshalJSON

func (v *Photo) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type PhotoCommentDelete

type PhotoCommentDelete struct {
	OwnerID   int `json:"owner_id"`
	ID        int `json:"id"`
	UserID    int `json:"user_id"`
	DeleterID int `json:"deleter_id"`
	PhotoID   int `json:"photo_id"`
}

PhotoCommentDelete -- photo comment deleted

func (PhotoCommentDelete) MarshalEasyJSON

func (v PhotoCommentDelete) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (PhotoCommentDelete) MarshalJSON

func (v PhotoCommentDelete) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*PhotoCommentDelete) UnmarshalEasyJSON

func (v *PhotoCommentDelete) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*PhotoCommentDelete) UnmarshalJSON

func (v *PhotoCommentDelete) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type PhotoCommentEdit

type PhotoCommentEdit struct {
	Comment

	PhotoID      int `json:"photo_id"`
	PhotoOwnerID int `json:"photo_owner_id"`
}

PhotoCommentEdit -- photo comment edited

func (PhotoCommentEdit) MarshalEasyJSON

func (v PhotoCommentEdit) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (PhotoCommentEdit) MarshalJSON

func (v PhotoCommentEdit) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*PhotoCommentEdit) UnmarshalEasyJSON

func (v *PhotoCommentEdit) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*PhotoCommentEdit) UnmarshalJSON

func (v *PhotoCommentEdit) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type PhotoCommentNew

type PhotoCommentNew struct {
	Comment

	PhotoID      int `json:"photo_id"`
	PhotoOwnerID int `json:"photo_owner_id"`
}

PhotoCommentNew -- new photo comment

func (PhotoCommentNew) MarshalEasyJSON

func (v PhotoCommentNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (PhotoCommentNew) MarshalJSON

func (v PhotoCommentNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*PhotoCommentNew) UnmarshalEasyJSON

func (v *PhotoCommentNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*PhotoCommentNew) UnmarshalJSON

func (v *PhotoCommentNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type PhotoCommentRestore

type PhotoCommentRestore struct {
	Comment

	PhotoID      int `json:"photo_id"`
	PhotoOwnerID int `json:"photo_owner_id"`
}

PhotoCommentRestore -- photo comment restored

func (PhotoCommentRestore) MarshalEasyJSON

func (v PhotoCommentRestore) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (PhotoCommentRestore) MarshalJSON

func (v PhotoCommentRestore) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*PhotoCommentRestore) UnmarshalEasyJSON

func (v *PhotoCommentRestore) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*PhotoCommentRestore) UnmarshalJSON

func (v *PhotoCommentRestore) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type PhotoNew

type PhotoNew struct {
	Photo
}

PhotoNew -- new photo in community

func (PhotoNew) MarshalEasyJSON

func (v PhotoNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (PhotoNew) MarshalJSON

func (v PhotoNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*PhotoNew) UnmarshalEasyJSON

func (v *PhotoNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*PhotoNew) UnmarshalJSON

func (v *PhotoNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type PhotoSize

type PhotoSize struct {
	BaseImage
	Type string `json:"type"`
}

func (PhotoSize) MarshalEasyJSON

func (v PhotoSize) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (PhotoSize) MarshalJSON

func (v PhotoSize) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*PhotoSize) UnmarshalEasyJSON

func (v *PhotoSize) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*PhotoSize) UnmarshalJSON

func (v *PhotoSize) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Place

type Place struct {
	// Place ID
	ID int `json:"id"`
	// Place title
	Title string `json:"title"`
	// Place latitude
	Latitude float32 `json:"latitude"`
	// Place longitude
	Longitude float32 `json:"longitude"`
	// Date of the place creation in Unixtime
	Created int `json:"created"`
	// URL of the place's icon
	Icon string `json:"icon"`
	// Checkins number
	Checkins int `json:"checkins"`
	// Place type
	Type string `json:"type"`
	// Country ID
	Country int `json:"country"`
	// City ID
	City int `json:"city"`
	// Place address
	Place string `json:"place"`
	// Distance to the place
	Distance int `json:"distance"`
	// Community ID
	GroupID int `json:"group_id"`
	// URL of the community's photo
	GroupPhoto string `json:"group_photo"`
}

func (Place) MarshalEasyJSON

func (v Place) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Place) MarshalJSON

func (v Place) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Place) UnmarshalEasyJSON

func (v *Place) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Place) UnmarshalJSON

func (v *Place) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Poll

type Poll struct {
	ID        int          `json:"id"`
	OwnerID   int          `json:"owner_id"`
	AuthorID  int          `json:"author_id"`
	Created   int          `json:"created"`
	Question  string       `json:"question"`
	Votes     int          `json:"votes"`
	AnswerIDs []int        `json:"answer_ids"`
	Asnwers   []PollAnswer `json:"asnwers"`
	Anonymous BoolInt      `json:"anonymous"`
	Multiple  BoolInt      `json:"multiple"`
	EndDate   int          `json:"end_date"`

	Closed    BoolInt `json:"closed"`
	IsBoard   BoolInt `json:"is_board"`
	CanEdit   BoolInt `json:"can_edit"`
	CanVote   BoolInt `json:"can_vote"`
	CanReport BoolInt `json:"can_report"`
	CanShare  BoolInt `json:"can_share"`
	Photo     *Photo  `json:"photo"`
}

func (Poll) MarshalEasyJSON

func (v Poll) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Poll) MarshalJSON

func (v Poll) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Poll) UnmarshalEasyJSON

func (v *Poll) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Poll) UnmarshalJSON

func (v *Poll) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type PollAnswer

type PollAnswer struct {
	ID    int     `json:"id"`
	Text  string  `json:"text"`
	Votes int     `json:"votes"`
	Rate  float32 `json:"rate"`
}

func (PollAnswer) MarshalEasyJSON

func (v PollAnswer) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (PollAnswer) MarshalJSON

func (v PollAnswer) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*PollAnswer) UnmarshalEasyJSON

func (v *PollAnswer) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*PollAnswer) UnmarshalJSON

func (v *PollAnswer) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type PollVoteNew

type PollVoteNew struct {
	// OwnerID of poll
	OwnerID int `json:"owner_id"`
	// PollID of poll
	PollID int `json:"poll_id"`
	// OptionID of option in poll
	OptionID int `json:"option_id"`
	// UserID of user who has voted
	UserID int `json:"user_id"`
}

PollVoteNew -- new vote in a public poll

func (PollVoteNew) MarshalEasyJSON

func (v PollVoteNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (PollVoteNew) MarshalJSON

func (v PollVoteNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*PollVoteNew) UnmarshalEasyJSON

func (v *PollVoteNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*PollVoteNew) UnmarshalJSON

func (v *PollVoteNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Post

type Post struct {
	ID           int     `json:"id"`
	OwnerID      int     `json:"owner_id"`
	FromID       int     `json:"from_id"`
	AccessKey    string  `json:"access_key"`
	CreatedBy    int     `json:"created_by"`
	Date         int     `json:"date"`
	Text         string  `json:"text"`
	ReplyOwnerID int     `json:"reply_owner_id"`
	ReplyPostID  int     `json:"reply_post_id"`
	FriendsOnly  BoolInt `json:"friends_only"`
	Comments     *struct {
		Count         int     `json:"count"`
		CanPost       BoolInt `json:"can_post"`
		GroupsCanPost BoolInt `json:"groups_can_post"`
		CanClose      BoolInt `json:"can_close"`
		CanOpen       BoolInt `json:"can_open"`
	} `json:"comments"`
	Likes *struct {
		Count      int     `json:"count"`
		UserLikes  BoolInt `json:"user_likes"`
		CanLike    BoolInt `json:"can_like"`
		CanPublish BoolInt `json:"can_publish"`
	} `json:"likes"`
	Reposts *struct {
		Count        int     `json:"count"`
		UserReposted BoolInt `json:"user_reposted"`
	} `json:"reposts"`
	Views *struct {
		Count int `json:"count"`
	} `json:"views"`
	PostType string `json:"post_type"`
	// TODO: PostSource
	Attachments []Attachment `json:"attachments"`
	// TODO: Geo
	SignerID    int     `json:"signer_id"`
	CopyHistory []Post  `json:"copy_history"`
	CanPin      BoolInt `json:"can_pin"`
	CanDelete   BoolInt `json:"can_delete"`
	CanEdit     BoolInt `json:"can_edit"`
	IsPinned    BoolInt `json:"is_pinned"`
	MarkedAsAds BoolInt `json:"marked_as_ads"`
}

func (Post) MarshalEasyJSON

func (v Post) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Post) MarshalJSON

func (v Post) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Post) UnmarshalEasyJSON

func (v *Post) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Post) UnmarshalJSON

func (v *Post) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Sticker

type Sticker struct {
	ProductID int `json:"product_id"`
	StickerID int `json:"sticker_id"`
	Images    []struct {
		URL    string `json:"url"`
		Width  int    `json:"width"`
		Height int    `json:"height"`
	} `json:"images"`
	ImagesWithBackground []struct {
		URL    string `json:"url"`
		Width  int    `json:"width"`
		Height int    `json:"height"`
	} `json:"images_with_background"`
}

func (Sticker) MarshalEasyJSON

func (v Sticker) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Sticker) MarshalJSON

func (v Sticker) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Sticker) UnmarshalEasyJSON

func (v *Sticker) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Sticker) UnmarshalJSON

func (v *Sticker) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Story

type Story struct {
	// Story ID.
	ID int `json:"id"`
	// Story owner's ID.
	OwnerID int `json:"owner_id"`
	// Date when story has been added in Unixtime.
	Date int `json:"date"`
	// Information whether current user has seen the story or not (0 - no, 1 - yes).
	Seen  BoolInt     `json:"seen"`
	Type  string      `json:"type"`
	Photo *Photo      `json:"photo"`
	Video *StoryVideo `json:"video"`
	// Views number.
	Views int `json:"views"`
	// Information whether current user can see the story (0 - no, 1 - yes).
	CanSee BoolInt `json:"can_see"`
	// Information whether current user can reply to the story (0 - no, 1 - yes).
	CanReply BoolInt `json:"can_reply"`
	// Information whether current user can share the story (0 - no, 1 - yes).
	CanShare BoolInt `json:"can_share"`
	// Information whether current user can comment the story (0 - no, 1 - yes).
	CanComment BoolInt `json:"can_comment"`
	// Information whether the story is deleted (false - no, true - yes).
	IsDeleted bool `json:"is_deleted"`
	// Information whether the story is expired (false - no, true - yes).
	IsExpired bool `json:"is_expired"`
	// Access key for private object.
	AccessKey string `json:"access_key"`
	// Parent story owner's ID.
	ParentStoryOwnerID int `json:"parent_story_owner_id"`
	// Parent story ID.
	ParentStoryID int `json:"parent_story_id"`
	// Access key for private object.
	ParentStoryAccessKey string `json:"parent_story_access_key"`
	ParentStory          *Story `json:"parent_story"`
	Link                 struct {
		// Link text
		Text string `json:"text"`
		// Link URL
		URL string `json:"url"`
	} `json:"link"`
	// Replies to current story.
	Replies []struct {
		// Replies number.
		Count int `json:"count"`
		// New replies number.
		New int `json:"new"`
	} `json:"replies"`
}

func (Story) MarshalEasyJSON

func (v Story) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Story) MarshalJSON

func (v Story) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Story) UnmarshalEasyJSON

func (v *Story) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Story) UnmarshalJSON

func (v *Story) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type StoryVideo

type StoryVideo struct {
	Video     `json:"video"`
	IsPrivate BoolInt `json:"is_private"`
}

func (StoryVideo) MarshalEasyJSON

func (v StoryVideo) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (StoryVideo) MarshalJSON

func (v StoryVideo) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*StoryVideo) UnmarshalEasyJSON

func (v *StoryVideo) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*StoryVideo) UnmarshalJSON

func (v *StoryVideo) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type User

type User struct {
	ID          int    `json:"id"`
	FirstName   string `json:"first_name"`
	LastName    string `json:"last_name"`
	Deactivated string `json:"deactivated"`

	Sex        int    `json:"sex"`
	Domain     string `json:"domain"`
	MaidenName string `json:"maiden_name"`
	Nickname   string `json:"nickname"`
	ScreenName string `json:"screen_name"`
	Status     string `json:"status"`
	BirthDate  string `json:"bdate"`
	About      string `json:"about"`
	Books      string `json:"books"`
	Activites  string `json:"activites"`
	Interests  string `json:"interests"`
	Games      string `json:"games"`
	HomeTown   string `json:"home_town"`
	Movies     string `json:"movies"`
	Music      string `json:"music"`
	Quotes     string `json:"quotes"`
	TV         string `json:"tv"`
	Site       string `json:"site"`
	Verified   int    `json:"verified"`

	LastSeen struct {
		Time     int `json:"time"`
		Platform int `json:"platform"`
	} `json:"last_seen"`

	Online       *int    `json:"online"`
	OnlineMobile BoolInt `json:"online_mobile"`
	OnlineApp    int     `json:"online_app"`

	PhotoID      string `json:"photo_id"`
	PhotoMax     string `json:"photo_max"`
	PhotoMaxOrig string `json:"photo_max_orig"`

	Career []struct {
		GroupID   int    `json:"group_id"`
		Company   string `json:"company"`
		CountryID int    `json:"country_id"`
		CityID    int    `json:"city_id"`
		CityName  string `json:"city_name"`
		From      int    `json:"from"`
		Until     int    `json:"until"`
		Position  string `json:"position"`
	} `json:"career"`
	City        *BaseObject `json:"city"`
	Country     *BaseObject `json:"country"`
	MobilePhone string      `json:"mobile_phone"`
	HomePhone   string      `json:"home_phone"`

	CropPhoto *CropPhoto `json:"crop_photo"`

	Counters *struct {
		Albums        int `json:"albums"`
		Videos        int `json:"videos"`
		Audios        int `json:"audios"`
		Photos        int `json:"photos"`
		Notes         int `json:"notes"`
		Friends       int `json:"friends"`
		Groups        int `json:"groups"`
		OnlineFriends int `json:"online_friends"`
		MutualFriends int `json:"mutual_friends"`
		UserVideos    int `json:"user_videos"`
		Followers     int `json:"followers"`
		Pages         int `json:"pages"`
	} `json:"counters"`

	CommonCount    int `json:"common_count"`
	FollowersCount int `json:"followers_count"`
	FriendStatus   int `json:"friend_status"`

	CanPost                BoolInt `json:"can_post"`
	CanSeeAllPosts         BoolInt `json:"can_see_all_posts"`
	CanSeeAudio            BoolInt `json:"can_see_audio"`
	CanSendFriendRequest   BoolInt `json:"can_send_friend_request"`
	CanWritePrivateMessage BoolInt `json:"can_write_private_message"`

	HasMobile BoolInt `json:"has_mobile"`
	HasPhoto  BoolInt `json:"has_photo"`

	IsFavorite       BoolInt `json:"is_favorite"`
	IsFriend         BoolInt `json:"is_friend"`
	IsHiddenFromFeed BoolInt `json:"is_hidden_from_feed"`

	Blacklisted     BoolInt `json:"blacklisted"`
	BlacklistedByMe BoolInt `json:"blacklisted_by_me"`

	IsClosed        bool `json:"is_closed"`
	CanAccessClosed bool `json:"can_access_closed"`
}

func (User) MarshalEasyJSON

func (v User) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (User) MarshalJSON

func (v User) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*User) UnmarshalEasyJSON

func (v *User) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*User) UnmarshalJSON

func (v *User) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type UserBlock

type UserBlock struct {
	// AdminID of admin who has blocked user
	AdminID int `json:"admin_id"`
	// UserID who was unlocked
	UserID int `json:"user_id"`
	// UnblockDate when the user will be unblocked
	UnblockDate int `json:"unblock_date"`
	// Reason of block
	Reason UserBlockReason `json:"reason"`
	// Comment attached to block
	Comment string `json:"comment"`
}

UserBlock -- new user in blacklist

func (UserBlock) MarshalEasyJSON

func (v UserBlock) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (UserBlock) MarshalJSON

func (v UserBlock) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*UserBlock) UnmarshalEasyJSON

func (v *UserBlock) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*UserBlock) UnmarshalJSON

func (v *UserBlock) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type UserBlockReason

type UserBlockReason int

UserBlockReason is the reason why user was blocked

type UserUnblock

type UserUnblock struct {
	// AdminID of admin who has unblocked user
	AdminID int `json:"admin_id"`
	// UserID who was unlocked
	UserID int `json:"user_id"`
	// ByEndDate is true if the ban has expired
	ByEndDate BoolInt `json:"by_end_date"`
}

UserUnblock -- user has been removed from the blacklist

func (UserUnblock) MarshalEasyJSON

func (v UserUnblock) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (UserUnblock) MarshalJSON

func (v UserUnblock) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*UserUnblock) UnmarshalEasyJSON

func (v *UserUnblock) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*UserUnblock) UnmarshalJSON

func (v *UserUnblock) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Video

type Video struct {
	ID          int    `json:"id"`
	OwnerID     int    `json:"owner_id"`
	AccessKey   string `json:"access_key"`
	Title       string `json:"title"`
	Description string `json:"description"`
	Duration    int    `json:"duration"`

	Photo130 string `json:"photo_130"`
	Photo320 string `json:"photo_320"`
	Photo640 string `json:"photo_640"`
	Photo800 string `json:"photo_800"`

	FirstFrame130 string `json:"first_frame_130"`
	FirstFrame160 string `json:"first_frame_160"`
	FirstFrame320 string `json:"first_frame_320"`
	FirstFrame800 string `json:"first_frame_800"`

	Files *VideoFiles `json:"files"`

	Date       int    `json:"date"`
	AddingDate int    `json:"adding_date"`
	Views      int    `json:"views"`
	Comments   int    `json:"comments"`
	Width      int    `json:"width"`
	Height     int    `json:"height"`
	Player     string `json:"player"`
	Platfrom   string `json:"platfrom"`

	CanEdit    BoolInt `json:"can_edit"`
	CanComment BoolInt `json:"can_comment"`
	CanRepost  BoolInt `json:"can_repost"`
	CanAdd     BoolInt `json:"can_add"`
	IsPrivate  BoolInt `json:"is_private"`
	Processing BoolInt `json:"processing"`
	Live       BoolInt `json:"live"`
	Upcoming   BoolInt `json:"upcoming"`
	Repeat     BoolInt `json:"repeat"`

	Likes struct {
		UserLikes int `json:"user_likes"`
		Count     int `json:"count"`
	} `json:"likes"`
	Reposts struct {
		UserLikes int `json:"user_likes"`
		Count     int `json:"count"`
	} `json:"reposts"`
}

func (Video) MarshalEasyJSON

func (v Video) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Video) MarshalJSON

func (v Video) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Video) UnmarshalEasyJSON

func (v *Video) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Video) UnmarshalJSON

func (v *Video) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type VideoCommentDelete

type VideoCommentDelete struct {
	OwnerID   int `json:"owner_id"`
	ID        int `json:"id"`
	UserID    int `json:"user_id"`
	DeleterID int `json:"deleter_id"`
	VideoID   int `json:"video_id"`
}

VideoCommentDelete -- video comment deleted

func (VideoCommentDelete) MarshalEasyJSON

func (v VideoCommentDelete) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (VideoCommentDelete) MarshalJSON

func (v VideoCommentDelete) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*VideoCommentDelete) UnmarshalEasyJSON

func (v *VideoCommentDelete) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*VideoCommentDelete) UnmarshalJSON

func (v *VideoCommentDelete) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type VideoCommentEdit

type VideoCommentEdit struct {
	Comment

	VideoID      int `json:"video_id"`
	VideoOwnerID int `json:"video_owner_id"`
}

VideoCommentEdit -- video comment edited

func (VideoCommentEdit) MarshalEasyJSON

func (v VideoCommentEdit) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (VideoCommentEdit) MarshalJSON

func (v VideoCommentEdit) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*VideoCommentEdit) UnmarshalEasyJSON

func (v *VideoCommentEdit) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*VideoCommentEdit) UnmarshalJSON

func (v *VideoCommentEdit) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type VideoCommentNew

type VideoCommentNew struct {
	Comment

	VideoID      int `json:"video_id"`
	VideoOwnerID int `json:"video_owner_id"`
}

VideoCommentNew -- new video comment

func (VideoCommentNew) MarshalEasyJSON

func (v VideoCommentNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (VideoCommentNew) MarshalJSON

func (v VideoCommentNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*VideoCommentNew) UnmarshalEasyJSON

func (v *VideoCommentNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*VideoCommentNew) UnmarshalJSON

func (v *VideoCommentNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type VideoCommentRestore

type VideoCommentRestore struct {
	Comment

	VideoID      int `json:"video_id"`
	VideoOwnerID int `json:"video_owner_id"`
}

VideoCommentRestore -- video comment restored

func (VideoCommentRestore) MarshalEasyJSON

func (v VideoCommentRestore) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (VideoCommentRestore) MarshalJSON

func (v VideoCommentRestore) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*VideoCommentRestore) UnmarshalEasyJSON

func (v *VideoCommentRestore) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*VideoCommentRestore) UnmarshalJSON

func (v *VideoCommentRestore) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type VideoFiles

type VideoFiles struct {
	MP240    string `json:"mp4_240"`
	MP360    string `json:"mp4_360"`
	MP480    string `json:"mp4_480"`
	MP720    string `json:"mp4_720"`
	MP1080   string `json:"mp4_1080"`
	External string `json:"external"`
}

func (VideoFiles) MarshalEasyJSON

func (v VideoFiles) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (VideoFiles) MarshalJSON

func (v VideoFiles) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*VideoFiles) UnmarshalEasyJSON

func (v *VideoFiles) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*VideoFiles) UnmarshalJSON

func (v *VideoFiles) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type VideoNew

type VideoNew struct {
	Video
}

VideoNew -- new video in community

func (VideoNew) MarshalEasyJSON

func (v VideoNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (VideoNew) MarshalJSON

func (v VideoNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*VideoNew) UnmarshalEasyJSON

func (v *VideoNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*VideoNew) UnmarshalJSON

func (v *VideoNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Wall

type Wall struct {
	Post
	ToID int `json:"to_id"`
}

func (Wall) MarshalEasyJSON

func (v Wall) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Wall) MarshalJSON

func (v Wall) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Wall) UnmarshalEasyJSON

func (v *Wall) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Wall) UnmarshalJSON

func (v *Wall) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type WallPostNew

type WallPostNew struct {
	Post

	PostponedID int `json:"postponed_id"`
}

WallPostNew -- new post on community wall

func (WallPostNew) MarshalEasyJSON

func (v WallPostNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (WallPostNew) MarshalJSON

func (v WallPostNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*WallPostNew) UnmarshalEasyJSON

func (v *WallPostNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*WallPostNew) UnmarshalJSON

func (v *WallPostNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type WallReply

type WallReply struct {
	Comment
	PostID  int `json:"post_id"`
	OwnerID int `json:"owner_id"`
}

func (WallReply) MarshalEasyJSON

func (v WallReply) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (WallReply) MarshalJSON

func (v WallReply) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*WallReply) UnmarshalEasyJSON

func (v *WallReply) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*WallReply) UnmarshalJSON

func (v *WallReply) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type WallReplyDelete

type WallReplyDelete struct {
	OwnerID   int `json:"owner_id"`
	ID        int `json:"id"`
	DeleterID int `json:"deleter_id"`
	PostID    int `json:"post_id"`
}

WallReplyDelete -- wall comment deleted

func (WallReplyDelete) MarshalEasyJSON

func (v WallReplyDelete) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (WallReplyDelete) MarshalJSON

func (v WallReplyDelete) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*WallReplyDelete) UnmarshalEasyJSON

func (v *WallReplyDelete) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*WallReplyDelete) UnmarshalJSON

func (v *WallReplyDelete) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type WallReplyEdit

type WallReplyEdit struct {
	Comment

	PostID      int `json:"post_id"`
	PostOwnerID int `json:"post_owner_id"`
}

WallReplyEdit -- wall comment edited

func (WallReplyEdit) MarshalEasyJSON

func (v WallReplyEdit) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (WallReplyEdit) MarshalJSON

func (v WallReplyEdit) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*WallReplyEdit) UnmarshalEasyJSON

func (v *WallReplyEdit) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*WallReplyEdit) UnmarshalJSON

func (v *WallReplyEdit) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type WallReplyNew

type WallReplyNew struct {
	Comment

	PostID      int `json:"post_id"`
	PostOwnerID int `json:"post_owner_id"`
}

WallReplyNew -- new wall comment

func (WallReplyNew) MarshalEasyJSON

func (v WallReplyNew) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (WallReplyNew) MarshalJSON

func (v WallReplyNew) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*WallReplyNew) UnmarshalEasyJSON

func (v *WallReplyNew) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*WallReplyNew) UnmarshalJSON

func (v *WallReplyNew) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type WallReplyRestore

type WallReplyRestore struct {
	Comment

	PostID      int `json:"post_id"`
	PostOwnerID int `json:"post_owner_id"`
}

WallReplyRestore -- wall comment restored

func (WallReplyRestore) MarshalEasyJSON

func (v WallReplyRestore) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (WallReplyRestore) MarshalJSON

func (v WallReplyRestore) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*WallReplyRestore) UnmarshalEasyJSON

func (v *WallReplyRestore) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*WallReplyRestore) UnmarshalJSON

func (v *WallReplyRestore) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type WallRepost

type WallRepost struct {
	Post

	PostponedID int `json:"postponed_id"`
}

WallRepost -- new repost (XXX: repost of community post or repost on community wall?!)

func (WallRepost) MarshalEasyJSON

func (v WallRepost) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (WallRepost) MarshalJSON

func (v WallRepost) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*WallRepost) UnmarshalEasyJSON

func (v *WallRepost) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*WallRepost) UnmarshalJSON

func (v *WallRepost) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type WallpostStats

type WallpostStats struct {
	// Subscribers reach
	ReachSubscribers int `json:"reach_subscribers"`
	// Total reach
	ReachTotal int `json:"reach_total"`
	// Link clickthrough
	Links int `json:"links"`
	// Clickthrough to community
	ToGroup int `json:"to_group"`
	// People have joined the group
	JoinGroup int `json:"join_group"`
	// Reports number
	Report int `json:"report"`
	// Hidings number
	Hide int `json:"hide"`
	// Unsubscribed members
	Unsubscribe int `json:"unsubscribe"`
}

func (WallpostStats) MarshalEasyJSON

func (v WallpostStats) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (WallpostStats) MarshalJSON

func (v WallpostStats) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*WallpostStats) UnmarshalEasyJSON

func (v *WallpostStats) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*WallpostStats) UnmarshalJSON

func (v *WallpostStats) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL