forked from lug/matterbridge
		
	Bump github.com/SevereCloud/vksdk/v2 from 2.11.0 to 2.13.0 (#1698)
Bumps [github.com/SevereCloud/vksdk/v2](https://github.com/SevereCloud/vksdk) from 2.11.0 to 2.13.0. - [Release notes](https://github.com/SevereCloud/vksdk/releases) - [Commits](https://github.com/SevereCloud/vksdk/compare/v2.11.0...v2.13.0) --- updated-dependencies: - dependency-name: github.com/SevereCloud/vksdk/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										50
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
[](https://pkg.go.dev/github.com/SevereCloud/vksdk/v2/api)
 | 
			
		||||
[](https://vk.com/dev/first_guide)
 | 
			
		||||
 | 
			
		||||
Данная библиотека поддерживает версию API **5.122**.
 | 
			
		||||
Данная библиотека поддерживает версию API **5.131**.
 | 
			
		||||
 | 
			
		||||
## Запросы
 | 
			
		||||
 | 
			
		||||
@@ -80,6 +80,54 @@ if errors.As(err, &e) {
 | 
			
		||||
 | 
			
		||||
Для Execute существует отдельная ошибка `ExecuteErrors`
 | 
			
		||||
 | 
			
		||||
### Поддержка MessagePack и zstd
 | 
			
		||||
 | 
			
		||||
> Результат перехода с gzip (JSON) на zstd (msgpack):
 | 
			
		||||
>
 | 
			
		||||
> - в 7 раз быстрее сжатие (–1 мкс);
 | 
			
		||||
> - на 10% меньше размер данных (8 Кбайт вместо 9 Кбайт);
 | 
			
		||||
> - продуктовый эффект не статзначимый :(
 | 
			
		||||
>
 | 
			
		||||
> [Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза](https://habr.com/ru/company/vk/blog/594633/)
 | 
			
		||||
 | 
			
		||||
VK API способно возвращать ответ в виде [MessagePack](https://msgpack.org/).
 | 
			
		||||
Это эффективный формат двоичной сериализации, похожий на JSON, только быстрее
 | 
			
		||||
и меньше по размеру.
 | 
			
		||||
 | 
			
		||||
ВНИМАНИЕ, C MessagePack НЕКОТОРЫЕ МЕТОДЫ МОГУТ ВОЗВРАЩАТЬ
 | 
			
		||||
СЛОМАННУЮ КОДИРОВКУ.
 | 
			
		||||
 | 
			
		||||
Для сжатия, вместо классического gzip, можно использовать
 | 
			
		||||
[zstd](https://github.com/facebook/zstd). Сейчас vksdk поддерживает zstd без
 | 
			
		||||
словаря. Если кто знает как получать словарь,
 | 
			
		||||
[отпишитесь сюда](https://github.com/SevereCloud/vksdk/issues/180).
 | 
			
		||||
 | 
			
		||||
```go
 | 
			
		||||
vk := api.NewVK(os.Getenv("USER_TOKEN"))
 | 
			
		||||
 | 
			
		||||
method := "store.getStickersKeywords"
 | 
			
		||||
params := api.Params{
 | 
			
		||||
	"aliases":       true,
 | 
			
		||||
	"all_products":  true,
 | 
			
		||||
	"need_stickers": true,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
r, err := vk.Request(method, params) // Content-Length: 44758
 | 
			
		||||
if err != nil {
 | 
			
		||||
	log.Fatal(err)
 | 
			
		||||
}
 | 
			
		||||
log.Println("json:", len(r)) // json: 814231
 | 
			
		||||
 | 
			
		||||
vk.EnableMessagePack() // Включаем поддержку MessagePack
 | 
			
		||||
vk.EnableZstd() // Включаем поддержку zstd
 | 
			
		||||
 | 
			
		||||
r, err = vk.Request(method, params) // Content-Length: 35755
 | 
			
		||||
if err != nil {
 | 
			
		||||
	log.Fatal(err)
 | 
			
		||||
}
 | 
			
		||||
log.Println("msgpack:", len(r)) // msgpack: 650775
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Запрос любого метода
 | 
			
		||||
 | 
			
		||||
Пример запроса [users.get](https://vk.com/dev/users.get)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/ads.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/ads.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,9 +1,11 @@
 | 
			
		||||
package api // import "github.com/SevereCloud/vksdk/v2/api"
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
 | 
			
		||||
	"github.com/SevereCloud/vksdk/v2/object"
 | 
			
		||||
	"github.com/vmihailenco/msgpack/v5"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// AdsAddOfficeUsersItem struct.
 | 
			
		||||
@@ -21,6 +23,23 @@ func (r *AdsAddOfficeUsersItem) UnmarshalJSON(data []byte) (err error) {
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DecodeMsgpack func.
 | 
			
		||||
func (r *AdsAddOfficeUsersItem) DecodeMsgpack(dec *msgpack.Decoder) error {
 | 
			
		||||
	data, err := dec.DecodeRaw()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if msgpack.Unmarshal(data, &r.OK) != nil {
 | 
			
		||||
		d := msgpack.NewDecoder(bytes.NewReader(data))
 | 
			
		||||
		d.SetCustomStructTag("json")
 | 
			
		||||
 | 
			
		||||
		return d.Decode(&r.Error)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AdsAddOfficeUsersResponse struct.
 | 
			
		||||
type AdsAddOfficeUsersResponse []AdsAddOfficeUsersItem
 | 
			
		||||
 | 
			
		||||
@@ -349,7 +368,7 @@ func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse,
 | 
			
		||||
 | 
			
		||||
// AdsGetMusiciansResponse struct.
 | 
			
		||||
type AdsGetMusiciansResponse struct {
 | 
			
		||||
	Items []object.BaseObjectWithName
 | 
			
		||||
	Items []object.AdsMusician
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AdsGetMusicians returns a list of musicians.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										92
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/api.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										92
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/api.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,9 +7,11 @@ package api // import "github.com/SevereCloud/vksdk/v2/api"
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"compress/gzip"
 | 
			
		||||
	"context"
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"io"
 | 
			
		||||
	"mime"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"net/url"
 | 
			
		||||
@@ -21,6 +23,8 @@ import (
 | 
			
		||||
	"github.com/SevereCloud/vksdk/v2"
 | 
			
		||||
	"github.com/SevereCloud/vksdk/v2/internal"
 | 
			
		||||
	"github.com/SevereCloud/vksdk/v2/object"
 | 
			
		||||
	"github.com/klauspost/compress/zstd"
 | 
			
		||||
	"github.com/vmihailenco/msgpack/v5"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Api constants.
 | 
			
		||||
@@ -91,6 +95,9 @@ type VK struct {
 | 
			
		||||
	UserAgent    string
 | 
			
		||||
	Handler      func(method string, params ...Params) (Response, error)
 | 
			
		||||
 | 
			
		||||
	msgpack bool
 | 
			
		||||
	zstd    bool
 | 
			
		||||
 | 
			
		||||
	mux      sync.Mutex
 | 
			
		||||
	lastTime time.Time
 | 
			
		||||
	rps      int
 | 
			
		||||
@@ -98,9 +105,9 @@ type VK struct {
 | 
			
		||||
 | 
			
		||||
// Response struct.
 | 
			
		||||
type Response struct {
 | 
			
		||||
	Response      json.RawMessage `json:"response"`
 | 
			
		||||
	Error         Error           `json:"error"`
 | 
			
		||||
	ExecuteErrors ExecuteErrors   `json:"execute_errors"`
 | 
			
		||||
	Response      object.RawMessage `json:"response"`
 | 
			
		||||
	Error         Error             `json:"error"`
 | 
			
		||||
	ExecuteErrors ExecuteErrors     `json:"execute_errors"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewVK returns a new VK.
 | 
			
		||||
@@ -121,7 +128,7 @@ func NewVK(tokens ...string) *VK {
 | 
			
		||||
	vk.accessTokens = tokens
 | 
			
		||||
	vk.Version = Version
 | 
			
		||||
 | 
			
		||||
	vk.Handler = vk.defaultHandler
 | 
			
		||||
	vk.Handler = vk.DefaultHandler
 | 
			
		||||
 | 
			
		||||
	vk.MethodURL = MethodURL
 | 
			
		||||
	vk.Client = http.DefaultClient
 | 
			
		||||
@@ -207,8 +214,8 @@ func buildQuery(sliceParams ...Params) (context.Context, url.Values) {
 | 
			
		||||
	return ctx, query
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// defaultHandler provides access to VK API methods.
 | 
			
		||||
func (vk *VK) defaultHandler(method string, sliceParams ...Params) (Response, error) {
 | 
			
		||||
// DefaultHandler provides access to VK API methods.
 | 
			
		||||
func (vk *VK) DefaultHandler(method string, sliceParams ...Params) (Response, error) {
 | 
			
		||||
	u := vk.MethodURL + method
 | 
			
		||||
	ctx, query := buildQuery(sliceParams...)
 | 
			
		||||
	attempt := 0
 | 
			
		||||
@@ -243,24 +250,52 @@ func (vk *VK) defaultHandler(method string, sliceParams ...Params) (Response, er
 | 
			
		||||
			return response, err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		acceptEncoding := "gzip"
 | 
			
		||||
		if vk.zstd {
 | 
			
		||||
			acceptEncoding = "zstd"
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		req.Header.Set("User-Agent", vk.UserAgent)
 | 
			
		||||
		req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
 | 
			
		||||
 | 
			
		||||
		req.Header.Set("Accept-Encoding", acceptEncoding)
 | 
			
		||||
 | 
			
		||||
		var reader io.Reader
 | 
			
		||||
 | 
			
		||||
		resp, err := vk.Client.Do(req)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return response, err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		mediatype, _, _ := mime.ParseMediaType(resp.Header.Get("Content-Type"))
 | 
			
		||||
		if mediatype != "application/json" {
 | 
			
		||||
			_ = resp.Body.Close()
 | 
			
		||||
			return response, &InvalidContentType{mediatype}
 | 
			
		||||
		switch resp.Header.Get("Content-Encoding") {
 | 
			
		||||
		case "zstd":
 | 
			
		||||
			reader, _ = zstd.NewReader(resp.Body)
 | 
			
		||||
		case "gzip":
 | 
			
		||||
			reader, _ = gzip.NewReader(resp.Body)
 | 
			
		||||
		default:
 | 
			
		||||
			reader = resp.Body
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		err = json.NewDecoder(resp.Body).Decode(&response)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
		mediatype, _, _ := mime.ParseMediaType(resp.Header.Get("Content-Type"))
 | 
			
		||||
		switch mediatype {
 | 
			
		||||
		case "application/json":
 | 
			
		||||
			err = json.NewDecoder(reader).Decode(&response)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				_ = resp.Body.Close()
 | 
			
		||||
				return response, err
 | 
			
		||||
			}
 | 
			
		||||
		case "application/x-msgpack":
 | 
			
		||||
			dec := msgpack.NewDecoder(reader)
 | 
			
		||||
			dec.SetCustomStructTag("json")
 | 
			
		||||
 | 
			
		||||
			err = dec.Decode(&response)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				_ = resp.Body.Close()
 | 
			
		||||
				return response, err
 | 
			
		||||
			}
 | 
			
		||||
		default:
 | 
			
		||||
			_ = resp.Body.Close()
 | 
			
		||||
			return response, err
 | 
			
		||||
			return response, &InvalidContentType{mediatype}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		_ = resp.Body.Close()
 | 
			
		||||
@@ -291,6 +326,10 @@ func (vk *VK) Request(method string, sliceParams ...Params) ([]byte, error) {
 | 
			
		||||
 | 
			
		||||
	sliceParams = append(sliceParams, reqParams)
 | 
			
		||||
 | 
			
		||||
	if vk.msgpack {
 | 
			
		||||
		method += ".msgpack"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	resp, err := vk.Handler(method, sliceParams...)
 | 
			
		||||
 | 
			
		||||
	return resp.Response, err
 | 
			
		||||
@@ -303,7 +342,32 @@ func (vk *VK) RequestUnmarshal(method string, obj interface{}, sliceParams ...Pa
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return json.Unmarshal(rawResponse, &obj)
 | 
			
		||||
	if vk.msgpack {
 | 
			
		||||
		dec := msgpack.NewDecoder(bytes.NewReader(rawResponse))
 | 
			
		||||
		dec.SetCustomStructTag("json")
 | 
			
		||||
 | 
			
		||||
		err = dec.Decode(&obj)
 | 
			
		||||
	} else {
 | 
			
		||||
		err = json.Unmarshal(rawResponse, &obj)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// EnableMessagePack enable using MessagePack instead of JSON.
 | 
			
		||||
//
 | 
			
		||||
// THIS IS EXPERIMENTAL FUNCTION! Broken encoding returned in some methods.
 | 
			
		||||
//
 | 
			
		||||
// See https://msgpack.org
 | 
			
		||||
func (vk *VK) EnableMessagePack() {
 | 
			
		||||
	vk.msgpack = true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// EnableZstd enable using zstd instead of gzip.
 | 
			
		||||
//
 | 
			
		||||
// This not use dict.
 | 
			
		||||
func (vk *VK) EnableZstd() {
 | 
			
		||||
	vk.zstd = true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func fmtReflectValue(value reflect.Value, depth int) string {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										59
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/auth.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										59
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/auth.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,5 +1,9 @@
 | 
			
		||||
package api // import "github.com/SevereCloud/vksdk/v2/api"
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/SevereCloud/vksdk/v2/object"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// AuthCheckPhone checks a user's phone number for correctness.
 | 
			
		||||
//
 | 
			
		||||
// https://vk.com/dev/auth.checkPhone
 | 
			
		||||
@@ -24,3 +28,58 @@ func (vk *VK) AuthRestore(params Params) (response AuthRestoreResponse, err erro
 | 
			
		||||
	err = vk.RequestUnmarshal("auth.restore", &response, params)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AuthGetProfileInfoBySilentTokenResponse struct.
 | 
			
		||||
type AuthGetProfileInfoBySilentTokenResponse struct {
 | 
			
		||||
	Success []object.AuthSilentTokenProfile `json:"success"`
 | 
			
		||||
	Errors  []AuthSilentTokenError          `json:"errors"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AuthGetProfileInfoBySilentToken method.
 | 
			
		||||
//
 | 
			
		||||
// https://platform.vk.com/?p=DocsDashboard&docs=tokens_silent-token
 | 
			
		||||
func (vk *VK) AuthGetProfileInfoBySilentToken(params Params) (response AuthGetProfileInfoBySilentTokenResponse, err error) {
 | 
			
		||||
	err = vk.RequestUnmarshal("auth.getProfileInfoBySilentToken", &response, params)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ExchangeSilentTokenSource call conditions exchangeSilentToken.
 | 
			
		||||
//
 | 
			
		||||
// 	0	Unknown
 | 
			
		||||
// 	1	Silent authentication
 | 
			
		||||
// 	2	Auth by login and password
 | 
			
		||||
// 	3	Extended registration
 | 
			
		||||
// 	4	Auth by exchange token
 | 
			
		||||
// 	5	Auth by exchange token on reset password
 | 
			
		||||
// 	6	Auth by exchange token on unblock
 | 
			
		||||
// 	7	Auth by exchange token on reset session
 | 
			
		||||
// 	8	Auth by exchange token on change password
 | 
			
		||||
// 	9	Finish phone validation on authentication
 | 
			
		||||
// 	10	Auth by code
 | 
			
		||||
// 	11	Auth by external oauth
 | 
			
		||||
// 	12	Reactivation
 | 
			
		||||
// 	15	Auth by SDK temporary access-token
 | 
			
		||||
type ExchangeSilentTokenSource int
 | 
			
		||||
 | 
			
		||||
// AuthExchangeSilentAuthTokenResponse struct.
 | 
			
		||||
type AuthExchangeSilentAuthTokenResponse struct {
 | 
			
		||||
	AccessToken              string                    `json:"access_token"`
 | 
			
		||||
	AccessTokenID            string                    `json:"access_token_id"`
 | 
			
		||||
	UserID                   int                       `json:"user_id"`
 | 
			
		||||
	Phone                    string                    `json:"phone"`
 | 
			
		||||
	PhoneValidated           interface{}               `json:"phone_validated"`
 | 
			
		||||
	IsPartial                bool                      `json:"is_partial"`
 | 
			
		||||
	IsService                bool                      `json:"is_service"`
 | 
			
		||||
	AdditionalSignupRequired bool                      `json:"additional_signup_required"`
 | 
			
		||||
	Email                    string                    `json:"email"`
 | 
			
		||||
	Source                   ExchangeSilentTokenSource `json:"source"`
 | 
			
		||||
	SourceDescription        string                    `json:"source_description"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AuthExchangeSilentAuthToken method.
 | 
			
		||||
//
 | 
			
		||||
// https://platform.vk.com/?p=DocsDashboard&docs=tokens_access-token
 | 
			
		||||
func (vk *VK) AuthExchangeSilentAuthToken(params Params) (response AuthExchangeSilentAuthTokenResponse, err error) {
 | 
			
		||||
	err = vk.RequestUnmarshal("auth.exchangeSilentAuthToken", &response, params)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										34
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -598,6 +598,12 @@ const (
 | 
			
		||||
	// This user can't be added to the work chat, as they aren't an employe.
 | 
			
		||||
	ErrMessagesAccessWorkChat ErrorType = 967
 | 
			
		||||
 | 
			
		||||
	// Message cannot be forwarded.
 | 
			
		||||
	ErrMessagesCantForwarded ErrorType = 969
 | 
			
		||||
 | 
			
		||||
	// Cannot pin an expiring message.
 | 
			
		||||
	ErrMessagesPinExpiringMessage ErrorType = 970
 | 
			
		||||
 | 
			
		||||
	// Invalid phone number.
 | 
			
		||||
	ErrParamPhone ErrorType = 1000
 | 
			
		||||
 | 
			
		||||
@@ -994,3 +1000,31 @@ func (e AdsError) Is(target error) bool {
 | 
			
		||||
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AuthSilentTokenError struct.
 | 
			
		||||
type AuthSilentTokenError struct {
 | 
			
		||||
	Token       string    `json:"token"`
 | 
			
		||||
	Code        ErrorType `json:"code"`
 | 
			
		||||
	Description string    `json:"description"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Error returns the description of a AuthSilentTokenError.
 | 
			
		||||
func (e AuthSilentTokenError) Error() string {
 | 
			
		||||
	return "api: " + e.Description
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Is unwraps its first argument sequentially looking for an error that matches
 | 
			
		||||
// the second.
 | 
			
		||||
func (e AuthSilentTokenError) Is(target error) bool {
 | 
			
		||||
	var tError *AuthSilentTokenError
 | 
			
		||||
	if errors.As(target, &tError) {
 | 
			
		||||
		return e.Code == tError.Code && e.Description == tError.Description
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var tErrorType ErrorType
 | 
			
		||||
	if errors.As(target, &tErrorType) {
 | 
			
		||||
		return e.Code == tErrorType
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										23
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/execute.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/execute.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,6 +1,11 @@
 | 
			
		||||
package api
 | 
			
		||||
 | 
			
		||||
import "encoding/json"
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
 | 
			
		||||
	"github.com/vmihailenco/msgpack/v5"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// ExecuteWithArgs a universal method for calling a sequence of other methods
 | 
			
		||||
// while saving and filtering interim results.
 | 
			
		||||
@@ -26,9 +31,19 @@ func (vk *VK) ExecuteWithArgs(code string, params Params, obj interface{}) error
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	jsonErr := json.Unmarshal(resp.Response, &obj)
 | 
			
		||||
	if jsonErr != nil {
 | 
			
		||||
		return jsonErr
 | 
			
		||||
	var decoderErr error
 | 
			
		||||
 | 
			
		||||
	if vk.msgpack {
 | 
			
		||||
		dec := msgpack.NewDecoder(bytes.NewReader(resp.Response))
 | 
			
		||||
		dec.SetCustomStructTag("json")
 | 
			
		||||
 | 
			
		||||
		decoderErr = dec.Decode(&obj)
 | 
			
		||||
	} else {
 | 
			
		||||
		decoderErr = json.Unmarshal(resp.Response, &obj)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if decoderErr != nil {
 | 
			
		||||
		return decoderErr
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if resp.ExecuteErrors != nil {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/market.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/market.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -20,6 +20,7 @@ func (vk *VK) MarketAdd(params Params) (response MarketAddResponse, err error) {
 | 
			
		||||
// MarketAddAlbumResponse struct.
 | 
			
		||||
type MarketAddAlbumResponse struct {
 | 
			
		||||
	MarketAlbumID int `json:"market_album_id"` // Album ID
 | 
			
		||||
	AlbumsCount   int `json:"albums_count"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MarketAddAlbum creates new collection of items.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										26
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/messages.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/messages.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,7 +1,10 @@
 | 
			
		||||
package api // import "github.com/SevereCloud/vksdk/v2/api"
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"strconv"
 | 
			
		||||
 | 
			
		||||
	"github.com/SevereCloud/vksdk/v2/object"
 | 
			
		||||
	"github.com/vmihailenco/msgpack/v5"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// MessagesAddChatUser adds a new user to a chat.
 | 
			
		||||
@@ -31,11 +34,34 @@ func (vk *VK) MessagesCreateChat(params Params) (response int, err error) {
 | 
			
		||||
// MessagesDeleteResponse struct.
 | 
			
		||||
type MessagesDeleteResponse map[string]int
 | 
			
		||||
 | 
			
		||||
// DecodeMsgpack funcion.
 | 
			
		||||
func (resp *MessagesDeleteResponse) DecodeMsgpack(dec *msgpack.Decoder) error {
 | 
			
		||||
	data, err := dec.DecodeRaw()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var respMap map[int]int
 | 
			
		||||
 | 
			
		||||
	err = msgpack.Unmarshal(data, &respMap)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	*resp = make(MessagesDeleteResponse)
 | 
			
		||||
	for key, val := range respMap {
 | 
			
		||||
		(*resp)[strconv.Itoa(key)] = val
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MessagesDelete deletes one or more messages.
 | 
			
		||||
//
 | 
			
		||||
// https://vk.com/dev/messages.delete
 | 
			
		||||
func (vk *VK) MessagesDelete(params Params) (response MessagesDeleteResponse, err error) {
 | 
			
		||||
	err = vk.RequestUnmarshal("messages.delete", &response, params)
 | 
			
		||||
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/photos.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/photos.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -571,12 +571,13 @@ func (vk *VK) PhotosSaveOwnerCoverPhoto(params Params) (response PhotosSaveOwner
 | 
			
		||||
 | 
			
		||||
// PhotosSaveOwnerPhotoResponse struct.
 | 
			
		||||
type PhotosSaveOwnerPhotoResponse struct {
 | 
			
		||||
	PhotoHash     string `json:"photo_hash"`
 | 
			
		||||
	PhotoSrc      string `json:"photo_src"`
 | 
			
		||||
	PhotoSrcBig   string `json:"photo_src_big"`
 | 
			
		||||
	PhotoSrcSmall string `json:"photo_src_small"`
 | 
			
		||||
	Saved         int    `json:"saved"`
 | 
			
		||||
	PostID        int    `json:"post_id"`
 | 
			
		||||
	PhotoHash string `json:"photo_hash"`
 | 
			
		||||
	// BUG(VK): returns false
 | 
			
		||||
	// PhotoSrc      string `json:"photo_src"`
 | 
			
		||||
	// PhotoSrcBig   string `json:"photo_src_big"`
 | 
			
		||||
	// PhotoSrcSmall string `json:"photo_src_small"`
 | 
			
		||||
	Saved  int `json:"saved"`
 | 
			
		||||
	PostID int `json:"post_id"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// PhotosSaveOwnerPhoto saves a profile or community photo.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/utils.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/github.com/SevereCloud/vksdk/v2/api/utils.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,9 +1,8 @@
 | 
			
		||||
package api // import "github.com/SevereCloud/vksdk/v2/api"
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
 | 
			
		||||
	"github.com/SevereCloud/vksdk/v2/object"
 | 
			
		||||
	"github.com/vmihailenco/msgpack/v5"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// UtilsCheckLinkResponse struct.
 | 
			
		||||
@@ -89,17 +88,34 @@ func (vk *VK) UtilsGetShortLink(params Params) (response UtilsGetShortLinkRespon
 | 
			
		||||
// UtilsResolveScreenNameResponse struct.
 | 
			
		||||
type UtilsResolveScreenNameResponse object.UtilsDomainResolved
 | 
			
		||||
 | 
			
		||||
// UnmarshalJSON UtilsResolveScreenNameResponse.
 | 
			
		||||
//
 | 
			
		||||
// BUG(VK): UtilsResolveScreenNameResponse return [].
 | 
			
		||||
func (resp *UtilsResolveScreenNameResponse) UnmarshalJSON(data []byte) error {
 | 
			
		||||
	var p object.UtilsDomainResolved
 | 
			
		||||
	err := p.UnmarshalJSON(data)
 | 
			
		||||
 | 
			
		||||
	*resp = UtilsResolveScreenNameResponse(p)
 | 
			
		||||
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DecodeMsgpack UtilsResolveScreenNameResponse.
 | 
			
		||||
//
 | 
			
		||||
// BUG(VK): UtilsResolveScreenNameResponse return [].
 | 
			
		||||
func (resp *UtilsResolveScreenNameResponse) DecodeMsgpack(dec *msgpack.Decoder) error {
 | 
			
		||||
	var p object.UtilsDomainResolved
 | 
			
		||||
	err := p.DecodeMsgpack(dec)
 | 
			
		||||
 | 
			
		||||
	*resp = UtilsResolveScreenNameResponse(p)
 | 
			
		||||
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UtilsResolveScreenName detects a type of object (e.g., user, community, application) and its ID by screen name.
 | 
			
		||||
//
 | 
			
		||||
// https://vk.com/dev/utils.resolveScreenName
 | 
			
		||||
func (vk *VK) UtilsResolveScreenName(params Params) (response UtilsResolveScreenNameResponse, err error) {
 | 
			
		||||
	rawResponse, err := vk.Request("utils.resolveScreenName", params)
 | 
			
		||||
	// Если короткое имя screen_name не занято, то будет возвращён пустой объект.
 | 
			
		||||
	if err != nil || string(rawResponse) == "[]" {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = json.Unmarshal(rawResponse, &response)
 | 
			
		||||
 | 
			
		||||
	err = vk.RequestUnmarshal("utils.resolveScreenName", &response, params)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user