Update dependencies (#2180)

* Update dependencies

* Fix whatsmeow API changes
This commit is contained in:
Wim 2024-08-27 19:04:05 +02:00 committed by GitHub
parent d16645c952
commit c4157a4d5b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
589 changed files with 681707 additions and 198856 deletions

View File

@ -27,7 +27,6 @@ func (b *Bwhatsapp) eventHandler(evt interface{}) {
} }
func (b *Bwhatsapp) handleGroupInfo(event *events.GroupInfo) { func (b *Bwhatsapp) handleGroupInfo(event *events.GroupInfo) {
b.Log.Debugf("Receiving event %#v", event) b.Log.Debugf("Receiving event %#v", event)
switch { switch {
@ -57,6 +56,7 @@ func (b *Bwhatsapp) handleUserJoin(event *events.GroupInfo) {
b.Remote <- rmsg b.Remote <- rmsg
} }
} }
func (b *Bwhatsapp) handleUserLeave(event *events.GroupInfo) { func (b *Bwhatsapp) handleUserLeave(event *events.GroupInfo) {
for _, leftJid := range event.Leave { for _, leftJid := range event.Leave {
senderName := b.getSenderNameFromJID(leftJid) senderName := b.getSenderNameFromJID(leftJid)
@ -74,6 +74,7 @@ func (b *Bwhatsapp) handleUserLeave(event *events.GroupInfo) {
b.Remote <- rmsg b.Remote <- rmsg
} }
} }
func (b *Bwhatsapp) handleTopicChange(event *events.GroupInfo) { func (b *Bwhatsapp) handleTopicChange(event *events.GroupInfo) {
msg := event.Topic msg := event.Topic
senderJid := msg.TopicSetBy senderJid := msg.TopicSetBy
@ -151,9 +152,9 @@ func (b *Bwhatsapp) handleTextMessage(messageInfo types.MessageInfo, msg *proto.
senderJID = types.NewJID(ci.GetParticipant(), types.DefaultUserServer) senderJID = types.NewJID(ci.GetParticipant(), types.DefaultUserServer)
} }
if ci.MentionedJid != nil { if ci.MentionedJID != nil {
// handle user mentions // handle user mentions
for _, mentionedJID := range ci.MentionedJid { for _, mentionedJID := range ci.MentionedJID {
numberAndSuffix := strings.SplitN(mentionedJID, "@", 2) numberAndSuffix := strings.SplitN(mentionedJID, "@", 2)
// mentions comes as telephone numbers and we don't want to expose it to other bridges // mentions comes as telephone numbers and we don't want to expose it to other bridges
@ -441,10 +442,10 @@ func (b *Bwhatsapp) handleDelete(messageInfo *proto.ProtocolMessage) {
rmsg := config.Message{ rmsg := config.Message{
Account: b.Account, Account: b.Account,
Protocol: b.Protocol, Protocol: b.Protocol,
ID: getMessageIdFormat(sender, *messageInfo.Key.Id), ID: getMessageIdFormat(sender, *messageInfo.Key.ID),
Event: config.EventMsgDelete, Event: config.EventMsgDelete,
Text: config.EventMsgDelete, Text: config.EventMsgDelete,
Channel: *messageInfo.Key.RemoteJid, Channel: *messageInfo.Key.RemoteJID,
} }
b.Log.Debugf("<= Sending message from %s to gateway", b.Account) b.Log.Debugf("<= Sending message from %s to gateway", b.Account)

View File

@ -157,7 +157,7 @@ func (b *Bwhatsapp) getNewReplyContext(parentID string) (*proto.ContextInfo, err
sender := fmt.Sprintf("%s@%s", replyInfo.Sender.User, replyInfo.Sender.Server) sender := fmt.Sprintf("%s@%s", replyInfo.Sender.User, replyInfo.Sender.Server)
ctx := &proto.ContextInfo{ ctx := &proto.ContextInfo{
StanzaId: &replyInfo.MessageID, StanzaID: &replyInfo.MessageID,
Participant: &sender, Participant: &sender,
QuotedMessage: &proto.Message{Conversation: goproto.String("")}, QuotedMessage: &proto.Message{Conversation: goproto.String("")},
} }
@ -191,11 +191,11 @@ func (b *Bwhatsapp) parseMessageID(id string) (*Replyable, error) {
} }
func getParentIdFromCtx(ci *proto.ContextInfo) string { func getParentIdFromCtx(ci *proto.ContextInfo) string {
if ci != nil && ci.StanzaId != nil { if ci != nil && ci.StanzaID != nil {
senderJid, err := types.ParseJID(*ci.Participant) senderJid, err := types.ParseJID(*ci.Participant)
if err == nil { if err == nil {
return getMessageIdFormat(senderJid, *ci.StanzaId) return getMessageIdFormat(senderJid, *ci.StanzaID)
} }
} }

View File

@ -239,10 +239,10 @@ func (b *Bwhatsapp) PostDocumentMessage(msg config.Message, filetype string) (st
Mimetype: &filetype, Mimetype: &filetype,
Caption: &caption, Caption: &caption,
MediaKey: resp.MediaKey, MediaKey: resp.MediaKey,
FileEncSha256: resp.FileEncSHA256, FileEncSHA256: resp.FileEncSHA256,
FileSha256: resp.FileSHA256, FileSHA256: resp.FileSHA256,
FileLength: goproto.Uint64(resp.FileLength), FileLength: goproto.Uint64(resp.FileLength),
Url: &resp.URL, URL: &resp.URL,
DirectPath: &resp.DirectPath, DirectPath: &resp.DirectPath,
ContextInfo: ctx, ContextInfo: ctx,
} }
@ -277,10 +277,10 @@ func (b *Bwhatsapp) PostImageMessage(msg config.Message, filetype string) (strin
Mimetype: &filetype, Mimetype: &filetype,
Caption: &caption, Caption: &caption,
MediaKey: resp.MediaKey, MediaKey: resp.MediaKey,
FileEncSha256: resp.FileEncSHA256, FileEncSHA256: resp.FileEncSHA256,
FileSha256: resp.FileSHA256, FileSHA256: resp.FileSHA256,
FileLength: goproto.Uint64(resp.FileLength), FileLength: goproto.Uint64(resp.FileLength),
Url: &resp.URL, URL: &resp.URL,
DirectPath: &resp.DirectPath, DirectPath: &resp.DirectPath,
ContextInfo: ctx, ContextInfo: ctx,
} }
@ -311,10 +311,10 @@ func (b *Bwhatsapp) PostVideoMessage(msg config.Message, filetype string) (strin
Mimetype: &filetype, Mimetype: &filetype,
Caption: &caption, Caption: &caption,
MediaKey: resp.MediaKey, MediaKey: resp.MediaKey,
FileEncSha256: resp.FileEncSHA256, FileEncSHA256: resp.FileEncSHA256,
FileSha256: resp.FileSHA256, FileSHA256: resp.FileSHA256,
FileLength: goproto.Uint64(resp.FileLength), FileLength: goproto.Uint64(resp.FileLength),
Url: &resp.URL, URL: &resp.URL,
DirectPath: &resp.DirectPath, DirectPath: &resp.DirectPath,
ContextInfo: ctx, ContextInfo: ctx,
} }
@ -344,10 +344,10 @@ func (b *Bwhatsapp) PostAudioMessage(msg config.Message, filetype string) (strin
message.AudioMessage = &proto.AudioMessage{ message.AudioMessage = &proto.AudioMessage{
Mimetype: &filetype, Mimetype: &filetype,
MediaKey: resp.MediaKey, MediaKey: resp.MediaKey,
FileEncSha256: resp.FileEncSHA256, FileEncSHA256: resp.FileEncSHA256,
FileSha256: resp.FileSHA256, FileSHA256: resp.FileSHA256,
FileLength: goproto.Uint64(resp.FileLength), FileLength: goproto.Uint64(resp.FileLength),
Url: &resp.URL, URL: &resp.URL,
DirectPath: &resp.DirectPath, DirectPath: &resp.DirectPath,
ContextInfo: ctx, ContextInfo: ctx,
} }

70
go.mod
View File

@ -5,59 +5,59 @@ require (
github.com/Benau/tgsconverter v0.0.0-20210809170556-99f4a4f6337f github.com/Benau/tgsconverter v0.0.0-20210809170556-99f4a4f6337f
github.com/Philipp15b/go-steam v1.0.1-0.20200727090957-6ae9b3c0a560 github.com/Philipp15b/go-steam v1.0.1-0.20200727090957-6ae9b3c0a560
github.com/Rhymen/go-whatsapp v0.1.2-0.20211102134409-31a2e740845c github.com/Rhymen/go-whatsapp v0.1.2-0.20211102134409-31a2e740845c
github.com/SevereCloud/vksdk/v2 v2.16.1 github.com/SevereCloud/vksdk/v2 v2.17.0
github.com/bwmarrin/discordgo v0.28.1 github.com/bwmarrin/discordgo v0.28.1
github.com/d5/tengo/v2 v2.17.0 github.com/d5/tengo/v2 v2.17.0
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
github.com/fsnotify/fsnotify v1.7.0 github.com/fsnotify/fsnotify v1.7.0
github.com/gomarkdown/markdown v0.0.0-20240419095408-642f0ee99ae2 github.com/gomarkdown/markdown v0.0.0-20240419095408-642f0ee99ae2
github.com/google/gops v0.3.27 github.com/google/gops v0.3.27
github.com/gorilla/schema v1.3.0 github.com/gorilla/schema v1.4.1
github.com/harmony-development/shibshib v0.0.0-20220101224523-c98059d09cfa github.com/harmony-development/shibshib v0.0.0-20220101224523-c98059d09cfa
github.com/hashicorp/golang-lru v1.0.2 github.com/hashicorp/golang-lru v1.0.2
github.com/jpillora/backoff v1.0.0 github.com/jpillora/backoff v1.0.0
github.com/keybase/go-keybase-chat-bot v0.0.0-20221220212439-e48d9abd2c20 github.com/keybase/go-keybase-chat-bot v0.0.0-20221220212439-e48d9abd2c20
github.com/kyokomi/emoji/v2 v2.2.13 github.com/kyokomi/emoji/v2 v2.2.13
github.com/labstack/echo/v4 v4.12.0 github.com/labstack/echo/v4 v4.12.0
github.com/lrstanley/girc v0.0.0-20240519163535-a518c5b87a79 github.com/lrstanley/girc v0.0.0-20240823210506-80555f2adb03
github.com/matterbridge/Rocket.Chat.Go.SDK v0.0.0-20211016222428-79310a412696 github.com/matterbridge/Rocket.Chat.Go.SDK v0.0.0-20211016222428-79310a412696
github.com/matterbridge/go-xmpp v0.0.0-20240523230155-7154bfeb76e8 github.com/matterbridge/go-xmpp v0.0.0-20240523230155-7154bfeb76e8
github.com/matterbridge/gomatrix v0.0.0-20220411225302-271e5088ea27 github.com/matterbridge/gomatrix v0.0.0-20220411225302-271e5088ea27
github.com/matterbridge/gozulipbot v0.0.0-20211023205727-a19d6c1f3b75 github.com/matterbridge/gozulipbot v0.0.0-20211023205727-a19d6c1f3b75
github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba
github.com/matterbridge/matterclient v0.0.0-20240523235056-57f299489168 github.com/matterbridge/matterclient v0.0.0-20240817214420-3d4c3aef3dc1
github.com/matterbridge/telegram-bot-api/v6 v6.5.0 github.com/matterbridge/telegram-bot-api/v6 v6.5.0
github.com/mattermost/mattermost/server/public v0.1.3 github.com/mattermost/mattermost/server/public v0.1.6
github.com/mattn/godown v0.0.1 github.com/mattn/godown v0.0.1
github.com/mdp/qrterminal v1.0.1 github.com/mdp/qrterminal v1.0.1
github.com/mitchellh/mapstructure v1.5.0 github.com/mitchellh/mapstructure v1.5.0
github.com/nelsonken/gomf v0.0.0-20190423072027-c65cc0469e94 github.com/nelsonken/gomf v0.0.0-20190423072027-c65cc0469e94
github.com/olahol/melody v1.1.4 github.com/olahol/melody v1.2.1
github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c
github.com/rs/xid v1.5.0 github.com/rs/xid v1.5.0
github.com/russross/blackfriday v1.6.0 github.com/russross/blackfriday v1.6.0
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d
github.com/shazow/ssh-chat v1.10.1 github.com/shazow/ssh-chat v1.10.1
github.com/sirupsen/logrus v1.9.3 github.com/sirupsen/logrus v1.9.3
github.com/slack-go/slack v0.13.0 github.com/slack-go/slack v0.14.0
github.com/spf13/viper v1.18.2 github.com/spf13/viper v1.19.0
github.com/stretchr/testify v1.9.0 github.com/stretchr/testify v1.9.0
github.com/vincent-petithory/dataurl v1.0.0 github.com/vincent-petithory/dataurl v1.0.0
github.com/writeas/go-strip-markdown v2.0.1+incompatible github.com/writeas/go-strip-markdown v2.0.1+incompatible
github.com/yaegashi/msgraph.go v0.1.4 github.com/yaegashi/msgraph.go v0.1.4
github.com/zfjagann/golang-ring v0.0.0-20220330170733-19bcea1b6289 github.com/zfjagann/golang-ring v0.0.0-20220330170733-19bcea1b6289
go.mau.fi/whatsmeow v0.0.0-20240520180327-81f8f07f1dfb go.mau.fi/whatsmeow v0.0.0-20240821142752-3d63c6fcc1a7
golang.org/x/image v0.16.0 golang.org/x/image v0.19.0
golang.org/x/oauth2 v0.20.0 golang.org/x/oauth2 v0.22.0
golang.org/x/text v0.15.0 golang.org/x/text v0.17.0
gomod.garykim.dev/nc-talk v0.3.0 gomod.garykim.dev/nc-talk v0.3.0
google.golang.org/protobuf v1.33.0 google.golang.org/protobuf v1.34.2
layeh.com/gumble v0.0.0-20221205141517-d1df60a3cc14 layeh.com/gumble v0.0.0-20221205141517-d1df60a3cc14
modernc.org/sqlite v1.29.10 modernc.org/sqlite v1.32.0
) )
require ( require (
filippo.io/edwards25519 v1.0.0 // indirect filippo.io/edwards25519 v1.1.0 // indirect
github.com/Benau/go_rlottie v0.0.0-20210807002906-98c1b2421989 // indirect github.com/Benau/go_rlottie v0.0.0-20210807002906-98c1b2421989 // indirect
github.com/Jeffail/gabs v1.4.0 // indirect github.com/Jeffail/gabs v1.4.0 // indirect
github.com/apex/log v1.9.0 // indirect github.com/apex/log v1.9.0 // indirect
@ -65,23 +65,23 @@ require (
github.com/blang/semver/v4 v4.0.0 // indirect github.com/blang/semver/v4 v4.0.0 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect github.com/dustin/go-humanize v1.0.1 // indirect
github.com/dyatlov/go-opengraph/opengraph v0.0.0-20220524092352-606d7b1e5f8a // indirect github.com/dyatlov/go-opengraph/opengraph v0.0.0-20220524092352-606d7b1e5f8a // indirect
github.com/fatih/color v1.16.0 // indirect github.com/fatih/color v1.17.0 // indirect
github.com/francoispqt/gojay v1.2.13 // indirect github.com/francoispqt/gojay v1.2.13 // indirect
github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect github.com/go-asn1-ber/asn1-ber v1.5.7 // indirect
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
github.com/golang/protobuf v1.5.4 // indirect github.com/golang/protobuf v1.5.4 // indirect
github.com/google/uuid v1.6.0 // indirect github.com/google/uuid v1.6.0 // indirect
github.com/gopackage/ddp v0.0.3 // indirect github.com/gopackage/ddp v0.0.3 // indirect
github.com/gorilla/websocket v1.5.1 // indirect github.com/gorilla/websocket v1.5.3 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-hclog v1.6.2 // indirect github.com/hashicorp/go-hclog v1.6.3 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-plugin v1.6.0 // indirect github.com/hashicorp/go-plugin v1.6.1 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect
github.com/hashicorp/yamux v0.1.1 // indirect github.com/hashicorp/yamux v0.1.1 // indirect
github.com/kettek/apng v0.0.0-20191108220231-414630eed80f // indirect github.com/kettek/apng v0.0.0-20191108220231-414630eed80f // indirect
github.com/klauspost/compress v1.17.7 // indirect github.com/klauspost/compress v1.17.9 // indirect
github.com/labstack/gommon v0.4.2 // indirect github.com/labstack/gommon v0.4.2 // indirect
github.com/magiconair/properties v1.8.7 // indirect github.com/magiconair/properties v1.8.7 // indirect
github.com/mattermost/go-i18n v1.11.1-0.20211013152124-5c415071e404 // indirect github.com/mattermost/go-i18n v1.11.1-0.20211013152124-5c415071e404 // indirect
@ -98,15 +98,15 @@ require (
github.com/oklog/run v1.1.0 // indirect github.com/oklog/run v1.1.0 // indirect
github.com/pborman/uuid v1.2.1 // indirect github.com/pborman/uuid v1.2.1 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pelletier/go-toml/v2 v2.1.1 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect
github.com/philhofer/fwd v1.1.2 // indirect github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 // indirect
github.com/pkg/errors v0.9.1 // indirect github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rickb777/date v1.12.4 // indirect github.com/rickb777/date v1.12.4 // indirect
github.com/rickb777/plural v1.2.0 // indirect github.com/rickb777/plural v1.2.0 // indirect
github.com/rivo/uniseg v0.4.7 // indirect github.com/rivo/uniseg v0.4.7 // indirect
github.com/rs/zerolog v1.32.0 // indirect github.com/rs/zerolog v1.33.0 // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/shazow/rateio v0.0.0-20200113175441-4461efc8bdc4 // indirect github.com/shazow/rateio v0.0.0-20200113175441-4461efc8bdc4 // indirect
@ -117,30 +117,30 @@ require (
github.com/spf13/cast v1.6.0 // indirect github.com/spf13/cast v1.6.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/pflag v1.0.5 // indirect
github.com/subosito/gotenv v1.6.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect
github.com/tinylib/msgp v1.1.9 // indirect github.com/tinylib/msgp v1.2.0 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasttemplate v1.2.2 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
github.com/wiggin77/merror v1.0.5 // indirect github.com/wiggin77/merror v1.0.5 // indirect
github.com/wiggin77/srslog v1.0.1 // indirect github.com/wiggin77/srslog v1.0.1 // indirect
go.mau.fi/libsignal v0.1.0 // indirect go.mau.fi/libsignal v0.1.1 // indirect
go.mau.fi/util v0.4.1 // indirect go.mau.fi/util v0.6.0 // indirect
go.uber.org/multierr v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.23.0 // indirect golang.org/x/crypto v0.25.0 // indirect
golang.org/x/exp v0.0.0-20240314144324-c7f7c6466f7f // indirect golang.org/x/exp v0.0.0-20240707233637-46b078467d37 // indirect
golang.org/x/net v0.25.0 // indirect golang.org/x/net v0.27.0 // indirect
golang.org/x/sys v0.20.0 // indirect golang.org/x/sys v0.22.0 // indirect
golang.org/x/term v0.20.0 // indirect golang.org/x/term v0.22.0 // indirect
golang.org/x/time v0.5.0 // indirect golang.org/x/time v0.5.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade // indirect
google.golang.org/grpc v1.62.0 // indirect google.golang.org/grpc v1.65.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect
modernc.org/libc v1.49.3 // indirect modernc.org/libc v1.55.3 // indirect
modernc.org/mathutil v1.6.0 // indirect modernc.org/mathutil v1.6.0 // indirect
modernc.org/memory v1.8.0 // indirect modernc.org/memory v1.8.0 // indirect
modernc.org/strutil v1.2.0 // indirect modernc.org/strutil v1.2.0 // indirect

241
go.sum
View File

@ -2,19 +2,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.37.0/go.mod h1:TS1dMSSfndXH133OKGwekG838Om/cQT0BUHV3HcBgoo= cloud.google.com/go v0.37.0/go.mod h1:TS1dMSSfndXH133OKGwekG838Om/cQT0BUHV3HcBgoo=
cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic=
cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI=
cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ=
cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8=
cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI=
cloud.google.com/go/storage v1.35.1/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8=
dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU=
dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU=
dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4=
dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU=
filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg=
github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f h1:2dk3eOnYllh+wUOuDhOoC2vUVoJF/5z478ryJ+wzEII= github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f h1:2dk3eOnYllh+wUOuDhOoC2vUVoJF/5z478ryJ+wzEII=
github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f/go.mod h1:4a58ifQTEe2uwwsaqbh3i2un5/CBPg+At/qHpt18Tmk= github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f/go.mod h1:4a58ifQTEe2uwwsaqbh3i2un5/CBPg+At/qHpt18Tmk=
@ -23,15 +16,14 @@ github.com/Benau/go_rlottie v0.0.0-20210807002906-98c1b2421989/go.mod h1:aDWSWjs
github.com/Benau/tgsconverter v0.0.0-20210809170556-99f4a4f6337f h1:aUkwZDEMJIGRcWlSDifSLoKG37UCOH/DPeG52/xwois= github.com/Benau/tgsconverter v0.0.0-20210809170556-99f4a4f6337f h1:aUkwZDEMJIGRcWlSDifSLoKG37UCOH/DPeG52/xwois=
github.com/Benau/tgsconverter v0.0.0-20210809170556-99f4a4f6337f/go.mod h1:AQiQKKI/YIIctvDt3hI3c1S05/JXMM7v/sQcRd0paVE= github.com/Benau/tgsconverter v0.0.0-20210809170556-99f4a4f6337f/go.mod h1:AQiQKKI/YIIctvDt3hI3c1S05/JXMM7v/sQcRd0paVE=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU=
github.com/Jeffail/gabs v1.4.0 h1://5fYRRTq1edjfIrQGvdkcd22pkYUrHZ5YC/H2GJVAo= github.com/Jeffail/gabs v1.4.0 h1://5fYRRTq1edjfIrQGvdkcd22pkYUrHZ5YC/H2GJVAo=
github.com/Jeffail/gabs v1.4.0/go.mod h1:6xMvQMK4k33lb7GUUpaAPh6nKMmemQeg5d4gn7/bOXc= github.com/Jeffail/gabs v1.4.0/go.mod h1:6xMvQMK4k33lb7GUUpaAPh6nKMmemQeg5d4gn7/bOXc=
github.com/Philipp15b/go-steam v1.0.1-0.20200727090957-6ae9b3c0a560 h1:ItnC9PEEMESzTbFayxrhKBbuFQOXDBI8yy7NudTcEWs= github.com/Philipp15b/go-steam v1.0.1-0.20200727090957-6ae9b3c0a560 h1:ItnC9PEEMESzTbFayxrhKBbuFQOXDBI8yy7NudTcEWs=
github.com/Philipp15b/go-steam v1.0.1-0.20200727090957-6ae9b3c0a560/go.mod h1:o38AwUFFS4gzbjSoyIgrZ1h9UeDrKwcci1Pj6baifvI= github.com/Philipp15b/go-steam v1.0.1-0.20200727090957-6ae9b3c0a560/go.mod h1:o38AwUFFS4gzbjSoyIgrZ1h9UeDrKwcci1Pj6baifvI=
github.com/Rhymen/go-whatsapp v0.1.2-0.20211102134409-31a2e740845c h1:4mIZQXKYBymQ9coA82nNyG/CjicMNLBZ8cPVrhNUM3g= github.com/Rhymen/go-whatsapp v0.1.2-0.20211102134409-31a2e740845c h1:4mIZQXKYBymQ9coA82nNyG/CjicMNLBZ8cPVrhNUM3g=
github.com/Rhymen/go-whatsapp v0.1.2-0.20211102134409-31a2e740845c/go.mod h1:DNSFRLFDFIqm2+0aJzSOVfn25020vldM4SRqz6YtLgI= github.com/Rhymen/go-whatsapp v0.1.2-0.20211102134409-31a2e740845c/go.mod h1:DNSFRLFDFIqm2+0aJzSOVfn25020vldM4SRqz6YtLgI=
github.com/SevereCloud/vksdk/v2 v2.16.1 h1:UiazL3vTy7lMm33oIXRMxXg8S5I8bQuqEdLtbmOSpG4= github.com/SevereCloud/vksdk/v2 v2.17.0 h1:Wll63JSuBTdE0L7+V/PMn9PyhLrWSWIjX76XpWbXTFw=
github.com/SevereCloud/vksdk/v2 v2.16.1/go.mod h1:UfVcBt8qh5+gIflQO6L+CWwrXcpwhOl5hKvKf8sXUd8= github.com/SevereCloud/vksdk/v2 v2.17.0/go.mod h1:y3q3XAdqnQ2Wf0B+Wi7qNdqJc5ZZsz4ve+DoSQsrChk=
github.com/alexcesaro/log v0.0.0-20150915221235-61e686294e58/go.mod h1:YNfsMyWSs+h+PaYkxGeMVmVCX75Zj/pqdjbu12ciCYE= github.com/alexcesaro/log v0.0.0-20150915221235-61e686294e58/go.mod h1:YNfsMyWSs+h+PaYkxGeMVmVCX75Zj/pqdjbu12ciCYE=
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
github.com/apex/log v1.9.0 h1:FHtw/xuaM8AgmvDDTI9fiwoAL25Sq2cxojnZICUU8l0= github.com/apex/log v1.9.0 h1:FHtw/xuaM8AgmvDDTI9fiwoAL25Sq2cxojnZICUU8l0=
@ -39,7 +31,6 @@ github.com/apex/log v1.9.0/go.mod h1:m82fZlWIuiWzWP04XCTXmnX0xRkYYbCdYn8jbJeLBEA
github.com/apex/logs v1.0.0/go.mod h1:XzxuLZ5myVHDy9SAmYpamKKRNApGj54PfYLcFrXqDwo= github.com/apex/logs v1.0.0/go.mod h1:XzxuLZ5myVHDy9SAmYpamKKRNApGj54PfYLcFrXqDwo=
github.com/aphistic/golf v0.0.0-20180712155816-02c07f170c5a/go.mod h1:3NqKYiepwy8kCu4PNA+aP7WUV72eXWJeP9/r3/K9aLE= github.com/aphistic/golf v0.0.0-20180712155816-02c07f170c5a/go.mod h1:3NqKYiepwy8kCu4PNA+aP7WUV72eXWJeP9/r3/K9aLE=
github.com/aphistic/sweet v0.2.0/go.mod h1:fWDlIh/isSE9n6EPsRmC0det+whmX6dJid3stzu0Xys= github.com/aphistic/sweet v0.2.0/go.mod h1:fWDlIh/isSE9n6EPsRmC0det+whmX6dJid3stzu0Xys=
github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4=
github.com/av-elier/go-decimal-to-rational v0.0.0-20191127152832-89e6aad02ecf h1:csfEAyvOG4/498Q4SyF48ysFqQC9ESj3o8ppRtg+Rog= github.com/av-elier/go-decimal-to-rational v0.0.0-20191127152832-89e6aad02ecf h1:csfEAyvOG4/498Q4SyF48ysFqQC9ESj3o8ppRtg+Rog=
github.com/av-elier/go-decimal-to-rational v0.0.0-20191127152832-89e6aad02ecf/go.mod h1:POPnOeaYF7U9o3PjLTb9icRfEOxjBNLRXh9BLximJGM= github.com/av-elier/go-decimal-to-rational v0.0.0-20191127152832-89e6aad02ecf/go.mod h1:POPnOeaYF7U9o3PjLTb9icRfEOxjBNLRXh9BLximJGM=
github.com/aws/aws-sdk-go v1.20.6/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.20.6/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
@ -47,7 +38,6 @@ github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=
github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA=
github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8=
@ -55,12 +45,7 @@ github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7
github.com/bwmarrin/discordgo v0.28.1 h1:gXsuo2GBO7NbR6uqmrrBDplPUx2T3nzu775q/Rd1aG4= github.com/bwmarrin/discordgo v0.28.1 h1:gXsuo2GBO7NbR6uqmrrBDplPUx2T3nzu775q/Rd1aG4=
github.com/bwmarrin/discordgo v0.28.1/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY= github.com/bwmarrin/discordgo v0.28.1/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/d5/tengo/v2 v2.17.0 h1:BWUN9NoJzw48jZKiYDXDIF3QrIVZRm1uV1gTzeZ2lqM= github.com/d5/tengo/v2 v2.17.0 h1:BWUN9NoJzw48jZKiYDXDIF3QrIVZRm1uV1gTzeZ2lqM=
@ -76,13 +61,11 @@ github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+m
github.com/dyatlov/go-opengraph/opengraph v0.0.0-20220524092352-606d7b1e5f8a h1:etIrTD8BQqzColk9nKRusM9um5+1q0iOEJLqfBMIK64= github.com/dyatlov/go-opengraph/opengraph v0.0.0-20220524092352-606d7b1e5f8a h1:etIrTD8BQqzColk9nKRusM9um5+1q0iOEJLqfBMIK64=
github.com/dyatlov/go-opengraph/opengraph v0.0.0-20220524092352-606d7b1e5f8a/go.mod h1:emQhSYTXqB0xxjLITTw4EaWZ+8IIQYw+kx9GqNUKdLg= github.com/dyatlov/go-opengraph/opengraph v0.0.0-20220524092352-606d7b1e5f8a/go.mod h1:emQhSYTXqB0xxjLITTw4EaWZ+8IIQYw+kx9GqNUKdLg=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk=
github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY=
@ -94,26 +77,20 @@ github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nos
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.7 h1:DTX+lbVTWaTw1hQ+PbZPlnDZPEIs0SS/GCZAl535dDk=
github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-asn1-ber/asn1-ber v1.5.7/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-test/deep v1.0.4 h1:u2CU3YKy9I2pmu9pX0eq50wCgjfGIt539SqR7FbHiho= github.com/go-test/deep v1.0.4 h1:u2CU3YKy9I2pmu9pX0eq50wCgjfGIt539SqR7FbHiho=
github.com/go-test/deep v1.0.4/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-test/deep v1.0.4/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@ -149,55 +126,44 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd h1:gbpYu9NMq8jhDVbvlGkMFWCjLFlqqEZjEmObmhUy6Vo= github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd h1:gbpYu9NMq8jhDVbvlGkMFWCjLFlqqEZjEmObmhUy6Vo=
github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0=
github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=
github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg=
github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU=
github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
github.com/gopackage/ddp v0.0.3 h1:fd0DxScoiS+ogq22ktey6DjDSDybtJPAn69geMpUtFc= github.com/gopackage/ddp v0.0.3 h1:fd0DxScoiS+ogq22ktey6DjDSDybtJPAn69geMpUtFc=
github.com/gopackage/ddp v0.0.3/go.mod h1:3hUXYG6C/6JsoxKsQaK7st09+GP9RZBFPzyAlU/0SLg= github.com/gopackage/ddp v0.0.3/go.mod h1:3hUXYG6C/6JsoxKsQaK7st09+GP9RZBFPzyAlU/0SLg=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/schema v1.4.1 h1:jUg5hUjCSDZpNGLuXQOgIWGdlgrIdYvgQ0wZtdK1M3E=
github.com/gorilla/schema v1.3.0 h1:rbciOzXAx3IB8stEFnfTwO3sYa6EWlQk79XdyustPDA= github.com/gorilla/schema v1.4.1/go.mod h1:Dg5SSm5PV60mhF2NFaTV1xuYYj8tV8NOPRo4FggUMnM=
github.com/gorilla/schema v1.3.0/go.mod h1:Dg5SSm5PV60mhF2NFaTV1xuYYj8tV8NOPRo4FggUMnM=
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw=
github.com/harmony-development/shibshib v0.0.0-20220101224523-c98059d09cfa h1:0EefSRfsNrdEwmoGVz4+cMG8++5M2XhvJ1tTRmmrJu8= github.com/harmony-development/shibshib v0.0.0-20220101224523-c98059d09cfa h1:0EefSRfsNrdEwmoGVz4+cMG8++5M2XhvJ1tTRmmrJu8=
github.com/harmony-development/shibshib v0.0.0-20220101224523-c98059d09cfa/go.mod h1:+KEOMb29OC2kRa5BajwNM2NEjHTbQA/Z3gKYARLHREI= github.com/harmony-development/shibshib v0.0.0-20220101224523-c98059d09cfa/go.mod h1:+KEOMb29OC2kRa5BajwNM2NEjHTbQA/Z3gKYARLHREI=
github.com/hashicorp/consul/api v1.25.1/go.mod h1:iiLVwR/htV7mas/sy0O+XSuEnrdBUUydemjxcUrAt4g=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k=
github.com/hashicorp/go-hclog v1.6.2 h1:NOtoftovWkDheyUM/8JW3QMiXyxJK3uHRK7wV04nD2I= github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
github.com/hashicorp/go-hclog v1.6.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/hashicorp/go-plugin v1.6.0 h1:wgd4KxHJTVGGqWBq4QPB1i5BZNEx9BR8+OFmHDmTk8A= github.com/hashicorp/go-plugin v1.6.1 h1:P7MR2UP6gNKGPp+y7EZw2kOiq4IR9WiqLvp0XOsVdwI=
github.com/hashicorp/go-plugin v1.6.0/go.mod h1:lBS5MtSSBZk0SHc66KACcjjlU6WzEVP/8pwz68aMkCI= github.com/hashicorp/go-plugin v1.6.1/go.mod h1:XPHFku2tFo3o3QKFgSYo+cghcUhw1NA1hZyMK0PWAw0=
github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c=
github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4=
github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE=
github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ=
github.com/howeyc/gopass v0.0.0-20190910152052-7cb4b85ec19c/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs= github.com/howeyc/gopass v0.0.0-20190910152052-7cb4b85ec19c/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c=
@ -207,18 +173,14 @@ github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgb
github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
github.com/kettek/apng v0.0.0-20191108220231-414630eed80f h1:dnCYnTSltLuPMfc7dMrkz2uBUcEf/OFBR8yRh3oRT98= github.com/kettek/apng v0.0.0-20191108220231-414630eed80f h1:dnCYnTSltLuPMfc7dMrkz2uBUcEf/OFBR8yRh3oRT98=
github.com/kettek/apng v0.0.0-20191108220231-414630eed80f/go.mod h1:x78/VRQYKuCftMWS0uK5e+F5RJ7S4gSlESRWI0Prl6Q= github.com/kettek/apng v0.0.0-20191108220231-414630eed80f/go.mod h1:x78/VRQYKuCftMWS0uK5e+F5RJ7S4gSlESRWI0Prl6Q=
github.com/keybase/go-keybase-chat-bot v0.0.0-20221220212439-e48d9abd2c20 h1:imPu/fy8VhpzD318SnouRyvIgJAoouEyph6+7XAZbbk= github.com/keybase/go-keybase-chat-bot v0.0.0-20221220212439-e48d9abd2c20 h1:imPu/fy8VhpzD318SnouRyvIgJAoouEyph6+7XAZbbk=
github.com/keybase/go-keybase-chat-bot v0.0.0-20221220212439-e48d9abd2c20/go.mod h1:Yan1Krk0q1FglHdCkNrF5hFQ4Sgq8LnuG4gI2U4xQAk= github.com/keybase/go-keybase-chat-bot v0.0.0-20221220212439-e48d9abd2c20/go.mod h1:Yan1Krk0q1FglHdCkNrF5hFQ4Sgq8LnuG4gI2U4xQAk=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
@ -235,10 +197,8 @@ github.com/labstack/echo/v4 v4.12.0 h1:IKpw49IMryVB2p1a4dzwlhP1O2Tf2E0Ir/450lH+k
github.com/labstack/echo/v4 v4.12.0/go.mod h1:UP9Cr2DJXbOK3Kr9ONYzNowSh7HP0aG0ShAyycHSJvM= github.com/labstack/echo/v4 v4.12.0/go.mod h1:UP9Cr2DJXbOK3Kr9ONYzNowSh7HP0aG0ShAyycHSJvM=
github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0= github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0=
github.com/labstack/gommon v0.4.2/go.mod h1:QlUFxVM+SNXhDL/Z7YhocGIBYOiwB0mXm1+1bAPHPyU= github.com/labstack/gommon v0.4.2/go.mod h1:QlUFxVM+SNXhDL/Z7YhocGIBYOiwB0mXm1+1bAPHPyU=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lrstanley/girc v0.0.0-20240823210506-80555f2adb03 h1:faIblcMAYLrio/galHoXD0opafk7Ajkjlv4di3Gs8Mc=
github.com/lrstanley/girc v0.0.0-20240519163535-a518c5b87a79 h1:6yveo9g55i+VPr+Dinsp/Z7z/msCAq0E+Nag8lTl25k= github.com/lrstanley/girc v0.0.0-20240823210506-80555f2adb03/go.mod h1:lgrnhcF8bg/Bd5HA5DOb4Z+uGqUqGnp4skr+J2GwVgI=
github.com/lrstanley/girc v0.0.0-20240519163535-a518c5b87a79/go.mod h1:lgrnhcF8bg/Bd5HA5DOb4Z+uGqUqGnp4skr+J2GwVgI=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
@ -253,8 +213,8 @@ github.com/matterbridge/gozulipbot v0.0.0-20211023205727-a19d6c1f3b75 h1:GslZKF7
github.com/matterbridge/gozulipbot v0.0.0-20211023205727-a19d6c1f3b75/go.mod h1:yAjnZ34DuDyPHMPHHjOsTk/FefW4JJjoMMCGt/8uuQA= github.com/matterbridge/gozulipbot v0.0.0-20211023205727-a19d6c1f3b75/go.mod h1:yAjnZ34DuDyPHMPHHjOsTk/FefW4JJjoMMCGt/8uuQA=
github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba h1:XleOY4IjAEIcxAh+IFwT5JT5Ze3RHiYz6m+4ZfZ0rc0= github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba h1:XleOY4IjAEIcxAh+IFwT5JT5Ze3RHiYz6m+4ZfZ0rc0=
github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba/go.mod h1:iXGEotOvwI1R1SjLxRc+BF5rUORTMtE0iMZBT2lxqAU= github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba/go.mod h1:iXGEotOvwI1R1SjLxRc+BF5rUORTMtE0iMZBT2lxqAU=
github.com/matterbridge/matterclient v0.0.0-20240523235056-57f299489168 h1:tbrHr4V6PYCM9uOd4kGvzpeSFcVziQBZUlRfcgAI0Bw= github.com/matterbridge/matterclient v0.0.0-20240817214420-3d4c3aef3dc1 h1:LHzlbT3VIcRFhSPwKpZfT2TU2rUzuA8liF57gSEBuaI=
github.com/matterbridge/matterclient v0.0.0-20240523235056-57f299489168/go.mod h1:quMZkUhnTp/YfbJU6sCgD6qVSPgH1Uxig9/AjgJQHF8= github.com/matterbridge/matterclient v0.0.0-20240817214420-3d4c3aef3dc1/go.mod h1:quMZkUhnTp/YfbJU6sCgD6qVSPgH1Uxig9/AjgJQHF8=
github.com/matterbridge/telegram-bot-api/v6 v6.5.0 h1:wCnHWvt4WGhfognQsuu2OnHyqENBdJRf2mReYTCXggQ= github.com/matterbridge/telegram-bot-api/v6 v6.5.0 h1:wCnHWvt4WGhfognQsuu2OnHyqENBdJRf2mReYTCXggQ=
github.com/matterbridge/telegram-bot-api/v6 v6.5.0/go.mod h1:/hSLrs8h/xNsQglQXjwXJ92iZU8XfTGkYUQ7KVDWEVo= github.com/matterbridge/telegram-bot-api/v6 v6.5.0/go.mod h1:/hSLrs8h/xNsQglQXjwXJ92iZU8XfTGkYUQ7KVDWEVo=
github.com/mattermost/go-i18n v1.11.1-0.20211013152124-5c415071e404 h1:Khvh6waxG1cHc4Cz5ef9n3XVCxRWpAKUtqg9PJl5+y8= github.com/mattermost/go-i18n v1.11.1-0.20211013152124-5c415071e404 h1:Khvh6waxG1cHc4Cz5ef9n3XVCxRWpAKUtqg9PJl5+y8=
@ -263,8 +223,8 @@ github.com/mattermost/ldap v0.0.0-20231116144001-0f480c025956 h1:Y1Tu/swM31pVwwb
github.com/mattermost/ldap v0.0.0-20231116144001-0f480c025956/go.mod h1:SRl30Lb7/QoYyohYeVBuqYvvmXSZJxZgiV3Zf6VbxjI= github.com/mattermost/ldap v0.0.0-20231116144001-0f480c025956/go.mod h1:SRl30Lb7/QoYyohYeVBuqYvvmXSZJxZgiV3Zf6VbxjI=
github.com/mattermost/logr/v2 v2.0.21 h1:CMHsP+nrbRlEC4g7BwOk1GAnMtHkniFhlSQPXy52be4= github.com/mattermost/logr/v2 v2.0.21 h1:CMHsP+nrbRlEC4g7BwOk1GAnMtHkniFhlSQPXy52be4=
github.com/mattermost/logr/v2 v2.0.21/go.mod h1:kZkB/zqKL9e+RY5gB3vGpsyenC+TpuiOenjMkvJJbzc= github.com/mattermost/logr/v2 v2.0.21/go.mod h1:kZkB/zqKL9e+RY5gB3vGpsyenC+TpuiOenjMkvJJbzc=
github.com/mattermost/mattermost/server/public v0.1.3 h1:A3hQ3rNCwHfKAVxe7Hk3Zd9p2pyUKRmxtRPnkWP5SFM= github.com/mattermost/mattermost/server/public v0.1.6 h1:k3upRnYfDY9CtVifQ+hQS6ZP4dGsU6I3oG1DCcBYy0c=
github.com/mattermost/mattermost/server/public v0.1.3/go.mod h1:PDPb/iqzJJ5ZvK/m70oDF55AXN/cOvVFj96Yu4e6j+Q= github.com/mattermost/mattermost/server/public v0.1.6/go.mod h1:Dm5uf3z8ckDOKYD1cbnb1Uqm/G9WYIaouSP/HnH+Rbs=
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
@ -282,7 +242,6 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D
github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/mattn/godown v0.0.1 h1:39uk50ufLVQFs0eapIJVX5fCS74a1Fs2g5f1MVqIHdE= github.com/mattn/godown v0.0.1 h1:39uk50ufLVQFs0eapIJVX5fCS74a1Fs2g5f1MVqIHdE=
github.com/mattn/godown v0.0.1/go.mod h1:/ivCKurgV/bx6yqtP/Jtc2Xmrv3beCYBvlfAUl4X5g4= github.com/mattn/godown v0.0.1/go.mod h1:/ivCKurgV/bx6yqtP/Jtc2Xmrv3beCYBvlfAUl4X5g4=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
@ -292,32 +251,26 @@ github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyex
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI= github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI=
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU=
github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/monaco-io/request v1.0.5 h1:QAJb5m1pCPZUGv3zzTZn7GlQI3q+uJWi7fH9QxDGbm4= github.com/monaco-io/request v1.0.5 h1:QAJb5m1pCPZUGv3zzTZn7GlQI3q+uJWi7fH9QxDGbm4=
github.com/monaco-io/request v1.0.5/go.mod h1:EmggwHktBsbJmCgwZXqy7o0H1NNsAstQBWZrFVd3xtQ= github.com/monaco-io/request v1.0.5/go.mod h1:EmggwHktBsbJmCgwZXqy7o0H1NNsAstQBWZrFVd3xtQ=
github.com/nats-io/nats.go v1.31.0/go.mod h1:di3Bm5MLsoB4Bx61CBTsxuarI36WbhAwOm8QrW39+i8=
github.com/nats-io/nkeys v0.4.6/go.mod h1:4DxZNzenSVd1cYQoAa8948QY3QDjrHfcfVADymtkpts=
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4= github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo=
github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM=
github.com/nelsonken/gomf v0.0.0-20190423072027-c65cc0469e94 h1:GRBho7BMw6le5OVegxDeFX+Ul1WPykzQs9CVrifrjik= github.com/nelsonken/gomf v0.0.0-20190423072027-c65cc0469e94 h1:GRBho7BMw6le5OVegxDeFX+Ul1WPykzQs9CVrifrjik=
github.com/nelsonken/gomf v0.0.0-20190423072027-c65cc0469e94/go.mod h1:UT7a3UHzG7jEEeoW/AI2/e0RuLbkntdsiY94qt6Jv7Q= github.com/nelsonken/gomf v0.0.0-20190423072027-c65cc0469e94/go.mod h1:UT7a3UHzG7jEEeoW/AI2/e0RuLbkntdsiY94qt6Jv7Q=
github.com/nicksnyder/go-i18n/v2 v2.4.0/go.mod h1:nxYSZE9M0bf3Y70gPQjN9ha7XNHX7gMc814+6wVyEI4=
github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY=
github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc=
github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA=
github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU=
github.com/olahol/melody v1.1.4 h1:RQHfKZkQmDxI0+SLZRNBCn4LiXdqxLKRGSkT8Dyoe/E= github.com/olahol/melody v1.2.1 h1:xdwRkzHxf+B0w4TKbGpUSSkV516ZucQZJIWLztOWICQ=
github.com/olahol/melody v1.1.4/go.mod h1:GgkTl6Y7yWj/HtfD48Q5vLKPVoZOH+Qqgfa7CvJgJM4= github.com/olahol/melody v1.2.1/go.mod h1:GgkTl6Y7yWj/HtfD48Q5vLKPVoZOH+Qqgfa7CvJgJM4=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
@ -332,18 +285,16 @@ github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtP
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 h1:jYi87L8j62qkXzaYHAQAhEapgukhenIMZRBKTNRLHJ4=
github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@ -359,30 +310,26 @@ github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJ
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc=
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/rs/zerolog v1.32.0 h1:keLypqrlIjaFsbmJOBdB/qvyF8KEtCWHwobLp5l/mQ0= github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8=
github.com/rs/zerolog v1.32.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
github.com/rudderlabs/analytics-go v3.3.3+incompatible/go.mod h1:LF8/ty9kUX4PTY3l5c97K3nZZaX5Hwsvt+NBaRL/f30=
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=
github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
github.com/sagikazarmark/crypt v0.17.0/go.mod h1:SMtHTvdmsZMuY/bpZoqokSoChIrcJ/epOxZN58PbZDg=
github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d h1:hrujxIzL1woJ7AwssoOcM/tq5JjjG2yYOc8odClEiXA= github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d h1:hrujxIzL1woJ7AwssoOcM/tq5JjjG2yYOc8odClEiXA=
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU= github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU=
github.com/segmentio/backo-go v1.0.1/go.mod h1:9/Rh6yILuLysoQnZ2oNooD2g7aBnvM7r/fNVxRNWfBc=
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/shazow/rateio v0.0.0-20200113175441-4461efc8bdc4 h1:zwQ1HBo5FYwn1ksMd19qBCKO8JAWE9wmHivEpkw/DvE= github.com/shazow/rateio v0.0.0-20200113175441-4461efc8bdc4 h1:zwQ1HBo5FYwn1ksMd19qBCKO8JAWE9wmHivEpkw/DvE=
github.com/shazow/rateio v0.0.0-20200113175441-4461efc8bdc4/go.mod h1:vt2jWY/3Qw1bIzle5thrJWucsLuuX9iUNnp20CqCciI= github.com/shazow/rateio v0.0.0-20200113175441-4461efc8bdc4/go.mod h1:vt2jWY/3Qw1bIzle5thrJWucsLuuX9iUNnp20CqCciI=
github.com/shazow/ssh-chat v1.10.1 h1:ePS+ngEYqm+yUuXegDPutysqLV2WoI22XDOeRgI6CE0= github.com/shazow/ssh-chat v1.10.1 h1:ePS+ngEYqm+yUuXegDPutysqLV2WoI22XDOeRgI6CE0=
github.com/shazow/ssh-chat v1.10.1/go.mod h1:0+7szsKylcre0vljkVnbuI6q7Odtc+QCDHxa+fFNV54= github.com/shazow/ssh-chat v1.10.1/go.mod h1:0+7szsKylcre0vljkVnbuI6q7Odtc+QCDHxa+fFNV54=
github.com/shirou/gopsutil/v3 v3.23.1/go.mod h1:NN6mnm5/0k8jw4cBfCnJtr5L7ErOTg18tMNpgFkn0hA=
github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY=
github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM=
github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0=
@ -411,8 +358,8 @@ github.com/sizeofint/webpanimation v0.0.0-20210809145948-1d2b32119882 h1:A7o8tOE
github.com/sizeofint/webpanimation v0.0.0-20210809145948-1d2b32119882/go.mod h1:5IwJoz9Pw7JsrCN4/skkxUtSWT7myuUPLhCgv6Q5vvQ= github.com/sizeofint/webpanimation v0.0.0-20210809145948-1d2b32119882/go.mod h1:5IwJoz9Pw7JsrCN4/skkxUtSWT7myuUPLhCgv6Q5vvQ=
github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9 h1:lpEzuenPuO1XNTeikEmvqYFcU37GVLl8SRNblzyvGBE= github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9 h1:lpEzuenPuO1XNTeikEmvqYFcU37GVLl8SRNblzyvGBE=
github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9/go.mod h1:PLPIyL7ikehBD1OAjmKKiOEhbvWyHGaNDjquXMcYABo= github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9/go.mod h1:PLPIyL7ikehBD1OAjmKKiOEhbvWyHGaNDjquXMcYABo=
github.com/slack-go/slack v0.13.0 h1:7my/pR2ubZJ9912p9FtvALYpbt0cQPAqkRy2jaSI1PQ= github.com/slack-go/slack v0.14.0 h1:6c0UTfbRnvRssZUsZ2qe0Iu07VAMPjRqOa6oX8ewF4k=
github.com/slack-go/slack v0.13.0/go.mod h1:hlGi5oXA+Gt+yWTPP0plCdRKmjsDxecdHxYQdlMQKOw= github.com/slack-go/slack v0.14.0/go.mod h1:hlGi5oXA+Gt+yWTPP0plCdRKmjsDxecdHxYQdlMQKOw=
github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM=
github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM=
github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs=
@ -424,11 +371,10 @@ github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0=
github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI=
github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
@ -446,11 +392,8 @@ github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA=
github.com/tidwall/gjson v1.17.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tinylib/msgp v1.2.0 h1:0uKB/662twsVBpYUPbokj4sTSKhWFKB7LopO2kWK8lY=
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tinylib/msgp v1.2.0/go.mod h1:2vIGs3lcUo8izAATNobrCHevYZC/LMsJtw4JPiYPHro=
github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU=
github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k=
github.com/tj/assert v0.0.0-20171129193455-018094318fb0/go.mod h1:mZ9/Rh9oLWpLLDRpvE+3b7gP/C2YyLFYxNmcLnPTMe0= github.com/tj/assert v0.0.0-20171129193455-018094318fb0/go.mod h1:mZ9/Rh9oLWpLLDRpvE+3b7gP/C2YyLFYxNmcLnPTMe0=
github.com/tj/assert v0.0.3 h1:Df/BlaZ20mq6kuai7f5z2TvPFiwC3xaWJSDQNiIS3Rk= github.com/tj/assert v0.0.3 h1:Df/BlaZ20mq6kuai7f5z2TvPFiwC3xaWJSDQNiIS3Rk=
github.com/tj/assert v0.0.3/go.mod h1:Ne6X72Q+TB1AteidzQncjw9PabbMp4PBMZ1k+vd1Pvk= github.com/tj/assert v0.0.3/go.mod h1:Ne6X72Q+TB1AteidzQncjw9PabbMp4PBMZ1k+vd1Pvk=
@ -458,8 +401,6 @@ github.com/tj/go-buffer v1.1.0/go.mod h1:iyiJpfFcR2B9sXu7KvjbT9fpM4mOelRSDTbntVj
github.com/tj/go-elastic v0.0.0-20171221160941-36157cbbebc2/go.mod h1:WjeM0Oo1eNAjXGDx2yma7uG2XoyRZTq1uv3M/o7imD0= github.com/tj/go-elastic v0.0.0-20171221160941-36157cbbebc2/go.mod h1:WjeM0Oo1eNAjXGDx2yma7uG2XoyRZTq1uv3M/o7imD0=
github.com/tj/go-kinesis v0.0.0-20171128231115-08b17f58cb1b/go.mod h1:/yhzCV0xPfx6jb1bBgRFjl5lytqVqZXEaeqWP8lTEao= github.com/tj/go-kinesis v0.0.0-20171128231115-08b17f58cb1b/go.mod h1:/yhzCV0xPfx6jb1bBgRFjl5lytqVqZXEaeqWP8lTEao=
github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKwh4= github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKwh4=
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=
@ -480,32 +421,22 @@ github.com/writeas/go-strip-markdown v2.0.1+incompatible h1:IIqxTM5Jr7RzhigcL6Fk
github.com/writeas/go-strip-markdown v2.0.1+incompatible/go.mod h1:Rsyu10ZhbEK9pXdk8V6MVnZmTzRG0alMNLMwa0J01fE= github.com/writeas/go-strip-markdown v2.0.1+incompatible/go.mod h1:Rsyu10ZhbEK9pXdk8V6MVnZmTzRG0alMNLMwa0J01fE=
github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg= github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg=
github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE=
github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c/go.mod h1:UrdRz5enIKZ63MEE3IF9l2/ebyx59GyGgPi+tICQdmM=
github.com/yaegashi/msgraph.go v0.1.4 h1:leDXSczAbwBpYFSmmZrdByTiPoUw8dbTfNMetAjJvbw= github.com/yaegashi/msgraph.go v0.1.4 h1:leDXSczAbwBpYFSmmZrdByTiPoUw8dbTfNMetAjJvbw=
github.com/yaegashi/msgraph.go v0.1.4/go.mod h1:vgeYhHa5skJt/3lTyjGXThTZhwbhRnGo6uUxzoJIGME= github.com/yaegashi/msgraph.go v0.1.4/go.mod h1:vgeYhHa5skJt/3lTyjGXThTZhwbhRnGo6uUxzoJIGME=
github.com/yaegashi/wtz.go v0.0.2/go.mod h1:nOLA5QXsmdkRxBkP5tljhua13ADHCKirLBrzPf4PEJc= github.com/yaegashi/wtz.go v0.0.2/go.mod h1:nOLA5QXsmdkRxBkP5tljhua13ADHCKirLBrzPf4PEJc=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
github.com/zfjagann/golang-ring v0.0.0-20220330170733-19bcea1b6289 h1:dEdcEes8Aki8XrgZFyrZvtazFlW4U7eNvX9NuyFJAtQ= github.com/zfjagann/golang-ring v0.0.0-20220330170733-19bcea1b6289 h1:dEdcEes8Aki8XrgZFyrZvtazFlW4U7eNvX9NuyFJAtQ=
github.com/zfjagann/golang-ring v0.0.0-20220330170733-19bcea1b6289/go.mod h1:0MsIttMJIF/8Y7x0XjonJP7K99t3sR6bjj4m5S4JmqU= github.com/zfjagann/golang-ring v0.0.0-20220330170733-19bcea1b6289/go.mod h1:0MsIttMJIF/8Y7x0XjonJP7K99t3sR6bjj4m5S4JmqU=
go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI= go.mau.fi/libsignal v0.1.1 h1:m/0PGBh4QKP/I1MQ44ti4C0fMbLMuHb95cmDw01FIpI=
go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U= go.mau.fi/libsignal v0.1.1/go.mod h1:QLs89F/OA3ThdSL2Wz2p+o+fi8uuQUz0e1BRa6ExdBw=
go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= go.mau.fi/util v0.6.0 h1:W6SyB3Bm/GjenQ5iq8Z8WWdN85Gy2xS6L0wmnR7SVjg=
go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc= go.mau.fi/util v0.6.0/go.mod h1:ljYdq3sPfpICc3zMU+/mHV/sa4z0nKxc67hSBwnrk8U=
go.mau.fi/libsignal v0.1.0 h1:vAKI/nJ5tMhdzke4cTK1fb0idJzz1JuEIpmjprueC+c= go.mau.fi/whatsmeow v0.0.0-20240821142752-3d63c6fcc1a7 h1:Aa4uov0rM0SQQ7Fc/TZZpmQEGksie2SVTv/UuCJwViI=
go.mau.fi/libsignal v0.1.0/go.mod h1:R8ovrTezxtUNzCQE5PH30StOQWWeBskBsWE55vMfY9I= go.mau.fi/whatsmeow v0.0.0-20240821142752-3d63c6fcc1a7/go.mod h1:BhHKalSq0qNtSCuGIUIvoJyU5KbT4a7k8DQ5yw1Ssk4=
go.mau.fi/util v0.4.1 h1:3EC9KxIXo5+h869zDGf5OOZklRd/FjeVnimTwtm3owg=
go.mau.fi/util v0.4.1/go.mod h1:GjkTEBsehYZbSh2LlE6cWEn+6ZIZTGrTMM/5DMNlmFY=
go.mau.fi/whatsmeow v0.0.0-20240520180327-81f8f07f1dfb h1:FW5W0ewNOmunylB3Pmru8PvxYkhI6ZphCJtimM2aB6o=
go.mau.fi/whatsmeow v0.0.0-20240520180327-81f8f07f1dfb/go.mod h1:0+65CYaE6r4dWzr0dN8i+UZKy0gIfJ79VuSqIl0nKRM=
go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE=
golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw=
golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@ -516,21 +447,21 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30=
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20240314144324-c7f7c6466f7f h1:3CW0unweImhOzd5FmYuRsD4Y4oQFKZIjAnKbjV4WIrw= golang.org/x/exp v0.0.0-20240707233637-46b078467d37 h1:uLDX+AfeFCct3a2C7uIWBKMJIR3CJMhcgfrUAqjRK6w=
golang.org/x/exp v0.0.0-20240314144324-c7f7c6466f7f/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= golang.org/x/exp v0.0.0-20240707233637-46b078467d37/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
golang.org/x/image v0.16.0 h1:9kloLAKhUufZhA12l5fwnx2NZW39/we1UhBesW433jw= golang.org/x/image v0.19.0 h1:D9FX4QWkLfkeqaC62SonffIIuYdOk/UE2XKUBgRIBIQ=
golang.org/x/image v0.16.0/go.mod h1:ugSZItdV4nOxyqp56HmXwH0Ry0nBCpjnZdpDaIHdoPs= golang.org/x/image v0.19.0/go.mod h1:y0zrRqlQRWQ5PXaYCOMLTW2fpsxZ8Qh9I/ohnInJEys=
golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@ -547,15 +478,15 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA=
golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -564,7 +495,8 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -587,20 +519,20 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk=
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
@ -615,24 +547,21 @@ golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBn
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200529172331-a64b76657301/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200529172331-a64b76657301/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200731060945-b5fad4ed8dd6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200731060945-b5fad4ed8dd6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg=
golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
gomod.garykim.dev/nc-talk v0.3.0 h1:MZxLc/gX2/+bdOw4xt6pi+qQFUQld1woGfw1hEJ0fbM= gomod.garykim.dev/nc-talk v0.3.0 h1:MZxLc/gX2/+bdOw4xt6pi+qQFUQld1woGfw1hEJ0fbM=
gomod.garykim.dev/nc-talk v0.3.0/go.mod h1:q/Adot/H7iqi+H4lANopV7/xcMf+sX3AZXUXqiITwok= gomod.garykim.dev/nc-talk v0.3.0/go.mod h1:q/Adot/H7iqi+H4lANopV7/xcMf+sX3AZXUXqiITwok=
google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y=
google.golang.org/api v0.153.0/go.mod h1:3qNJX5eOmhiWYc67jRA/3GsDw97UFb5ivv7Y2PrriAY=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
@ -640,18 +569,16 @@ google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk
google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade h1:oCRSWfwGXQsqlVdErcyTt4A93Y8fo0/9D4b1gnI++qo=
google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio=
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc=
google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@ -664,8 +591,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
@ -694,21 +621,18 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
layeh.com/gopus v0.0.0-20161224163843-0ebf989153aa/go.mod h1:AOef7vHz0+v4sWwJnr0jSyHiX/1NgsMoaxl+rEPz/I0= layeh.com/gopus v0.0.0-20161224163843-0ebf989153aa/go.mod h1:AOef7vHz0+v4sWwJnr0jSyHiX/1NgsMoaxl+rEPz/I0=
layeh.com/gumble v0.0.0-20221205141517-d1df60a3cc14 h1:wY8eeq7DpM5iAugNbFrvuhdtmN8XM1iU+Ki5YZWjukg= layeh.com/gumble v0.0.0-20221205141517-d1df60a3cc14 h1:wY8eeq7DpM5iAugNbFrvuhdtmN8XM1iU+Ki5YZWjukg=
layeh.com/gumble v0.0.0-20221205141517-d1df60a3cc14/go.mod h1:tWPVA9ZAfImNwabjcd9uDE+Mtz0Hfs7a7G3vxrnrwyc= layeh.com/gumble v0.0.0-20221205141517-d1df60a3cc14/go.mod h1:tWPVA9ZAfImNwabjcd9uDE+Mtz0Hfs7a7G3vxrnrwyc=
lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/cc/v4 v4.21.4 h1:3Be/Rdo1fpr8GrQ7IVw9OHtplU4gWbb+wNgeoBMmGLQ=
modernc.org/cc/v3 v3.41.0/go.mod h1:Ni4zjJYJ04CDOhG7dn640WGfwBzfE0ecX8TyMB0Fv0Y= modernc.org/cc/v4 v4.21.4/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ=
modernc.org/cc/v4 v4.20.0 h1:45Or8mQfbUqJOG9WaxvlFYOAQO0lQ5RvqBcFCXngjxk= modernc.org/ccgo/v4 v4.19.2 h1:lwQZgvboKD0jBwdaeVCTouxhxAyN6iawF3STraAal8Y=
modernc.org/cc/v4 v4.20.0/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ= modernc.org/ccgo/v4 v4.19.2/go.mod h1:ysS3mxiMV38XGRTTcgo0DQTeTmAO4oCmJl1nX9VFI3s=
modernc.org/ccgo/v3 v3.17.0/go.mod h1:Sg3fwVpmLvCUTaqEUjiBDAvshIaKDB0RXaf+zgqFu8I=
modernc.org/ccgo/v4 v4.16.0 h1:ofwORa6vx2FMm0916/CkZjpFPSR70VwTjUCe2Eg5BnA=
modernc.org/ccgo/v4 v4.16.0/go.mod h1:dkNyWIjFrVIZ68DTo36vHK+6/ShBn4ysU61So6PIqCI=
modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE= modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE=
modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ= modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ=
modernc.org/gc/v2 v2.4.1 h1:9cNzOqPyMJBvrUipmynX0ZohMhcxPtMccYgGOJdOiBw= modernc.org/gc/v2 v2.4.1 h1:9cNzOqPyMJBvrUipmynX0ZohMhcxPtMccYgGOJdOiBw=
modernc.org/gc/v2 v2.4.1/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU= modernc.org/gc/v2 v2.4.1/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU=
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 h1:5D53IMaUuA5InSeMu9eJtlQXS2NxAhyWQvkKEgXZhHI= modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 h1:5D53IMaUuA5InSeMu9eJtlQXS2NxAhyWQvkKEgXZhHI=
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4= modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4=
modernc.org/libc v1.49.3 h1:j2MRCRdwJI2ls/sGbeSk0t2bypOG/uvPZUsGQFDulqg= modernc.org/libc v1.55.3 h1:AzcW1mhlPNrRtjS5sS+eW2ISCgSOLLNyFzRh/V3Qj/U=
modernc.org/libc v1.49.3/go.mod h1:yMZuGkn7pXbKfoT/M35gFJOAEdSKdxL0q64sF7KqCDo= modernc.org/libc v1.55.3/go.mod h1:qFXepLhz+JjFThQ4kzwzOjA/y/artDeg+pcYnY+Q83w=
modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4= modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4=
modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo= modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo=
modernc.org/memory v1.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E= modernc.org/memory v1.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E=
@ -717,13 +641,12 @@ modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc= modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc=
modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss= modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss=
modernc.org/sqlite v1.29.10 h1:3u93dz83myFnMilBGCOLbr+HjklS6+5rJLx4q86RDAg= modernc.org/sqlite v1.32.0 h1:6BM4uGza7bWypsw4fdLRsLxut6bHe4c58VeqjRgST8s=
modernc.org/sqlite v1.29.10/go.mod h1:ItX2a1OVGgNsFh6Dv60JQvGfJfTPHPVpV6DF59akYOA= modernc.org/sqlite v1.32.0/go.mod h1:UqoylwmTb9F+IqXERT8bW9zzOWN8qwAIcLdzeBZs4hA=
modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA= modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA=
modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0= modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0=
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
rsc.io/goversion v1.2.0/go.mod h1:Eih9y/uIBS3ulggl7KNJ09xGSLcuNaLgmvvqa07sgfo=
rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY= rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY=
rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs= rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs=
sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck=

View File

@ -9,6 +9,6 @@ Read the docs at [pkg.go.dev/filippo.io/edwards25519](https://pkg.go.dev/filippo
The code is originally derived from Adam Langley's internal implementation in the Go standard library, and includes George Tankersley's [performance improvements](https://golang.org/cl/71950). It was then further developed by Henry de Valence for use in ristretto255, and was finally [merged back into the Go standard library](https://golang.org/cl/276272) as of Go 1.17. It now tracks the upstream codebase and extends it with additional functionality. The code is originally derived from Adam Langley's internal implementation in the Go standard library, and includes George Tankersley's [performance improvements](https://golang.org/cl/71950). It was then further developed by Henry de Valence for use in ristretto255, and was finally [merged back into the Go standard library](https://golang.org/cl/276272) as of Go 1.17. It now tracks the upstream codebase and extends it with additional functionality.
Most users don't need this package, and should instead use `crypto/ed25519` for signatures, `golang.org/x/crypto/curve25519` for Diffie-Hellman, or `github.com/gtank/ristretto255` for prime order group logic. However, for anyone currently using a fork of `crypto/ed25519/internal/edwards25519` or `github.com/agl/edwards25519`, this package should be a safer, faster, and more powerful alternative. Most users don't need this package, and should instead use `crypto/ed25519` for signatures, `golang.org/x/crypto/curve25519` for Diffie-Hellman, or `github.com/gtank/ristretto255` for prime order group logic. However, for anyone currently using a fork of `crypto/internal/edwards25519`/`crypto/ed25519/internal/edwards25519` or `github.com/agl/edwards25519`, this package should be a safer, faster, and more powerful alternative.
Since this package is meant to curb proliferation of edwards25519 implementations in the Go ecosystem, it welcomes requests for new APIs or reviewable performance improvements. Since this package is meant to curb proliferation of edwards25519 implementations in the Go ecosystem, it welcomes requests for new APIs or reviewable performance improvements.

View File

@ -15,6 +15,6 @@
// //
// However, developers who do need to interact with low-level edwards25519 // However, developers who do need to interact with low-level edwards25519
// operations can use this package, which is an extended version of // operations can use this package, which is an extended version of
// crypto/ed25519/internal/edwards25519 from the standard library repackaged as // crypto/internal/edwards25519 from the standard library repackaged as
// an importable module. // an importable module.
package edwards25519 package edwards25519

View File

@ -27,13 +27,13 @@ type projP2 struct {
// //
// The zero value is NOT valid, and it may be used only as a receiver. // The zero value is NOT valid, and it may be used only as a receiver.
type Point struct { type Point struct {
// The point is internally represented in extended coordinates (X, Y, Z, T)
// where x = X/Z, y = Y/Z, and xy = T/Z per https://eprint.iacr.org/2008/522.
x, y, z, t field.Element
// Make the type not comparable (i.e. used with == or as a map key), as // Make the type not comparable (i.e. used with == or as a map key), as
// equivalent points can be represented by different Go values. // equivalent points can be represented by different Go values.
_ incomparable _ incomparable
// The point is internally represented in extended coordinates (X, Y, Z, T)
// where x = X/Z, y = Y/Z, and xy = T/Z per https://eprint.iacr.org/2008/522.
x, y, z, t field.Element
} }
type incomparable [0]func() type incomparable [0]func()
@ -148,9 +148,8 @@ func (v *Point) SetBytes(x []byte) (*Point, error) {
// (*field.Element).SetBytes docs) and // (*field.Element).SetBytes docs) and
// 2) the ones where the x-coordinate is zero and the sign bit is set. // 2) the ones where the x-coordinate is zero and the sign bit is set.
// //
// This is consistent with crypto/ed25519/internal/edwards25519. Read more // Read more at https://hdevalence.ca/blog/2020-10-04-its-25519am,
// at https://hdevalence.ca/blog/2020-10-04-its-25519am, specifically the // specifically the "Canonical A, R" section.
// "Canonical A, R" section.
y, err := new(field.Element).SetBytes(x) y, err := new(field.Element).SetBytes(x)
if err != nil { if err != nil {

View File

@ -5,7 +5,7 @@
package edwards25519 package edwards25519
// This file contains additional functionality that is not included in the // This file contains additional functionality that is not included in the
// upstream crypto/ed25519/internal/edwards25519 package. // upstream crypto/internal/edwards25519 package.
import ( import (
"errors" "errors"
@ -79,6 +79,12 @@ func isOnCurve(X, Y, Z, T *field.Element) bool {
// Note that BytesMontgomery only encodes the u-coordinate, so v and -v encode // Note that BytesMontgomery only encodes the u-coordinate, so v and -v encode
// to the same value. If v is the identity point, BytesMontgomery returns 32 // to the same value. If v is the identity point, BytesMontgomery returns 32
// zero bytes, analogously to the X25519 function. // zero bytes, analogously to the X25519 function.
//
// The lack of an inverse operation (such as SetMontgomeryBytes) is deliberate:
// while every valid edwards25519 point has a unique u-coordinate Montgomery
// encoding, X25519 accepts inputs on the quadratic twist, which don't correspond
// to any edwards25519 point, and every other X25519 input corresponds to two
// edwards25519 points.
func (v *Point) BytesMontgomery() []byte { func (v *Point) BytesMontgomery() []byte {
// This function is outlined to make the allocations inline in the caller // This function is outlined to make the allocations inline in the caller
// rather than happen on the heap. // rather than happen on the heap.
@ -137,7 +143,7 @@ func (s *Scalar) Invert(t *Scalar) *Scalar {
for i := 0; i < 7; i++ { for i := 0; i < 7; i++ {
table[i+1].Multiply(&table[i], &tt) table[i+1].Multiply(&table[i], &tt)
} }
// Now table = [t**1, t**3, t**7, t**11, t**13, t**15] // Now table = [t**1, t**3, t**5, t**7, t**9, t**11, t**13, t**15]
// so t**k = t[k/2] for odd k // so t**k = t[k/2] for odd k
// To compute the sliding window digits, use the following Sage script: // To compute the sliding window digits, use the following Sage script:

View File

@ -1,13 +1,16 @@
// Code generated by command: go run fe_amd64_asm.go -out ../fe_amd64.s -stubs ../fe_amd64.go -pkg field. DO NOT EDIT. // Code generated by command: go run fe_amd64_asm.go -out ../fe_amd64.s -stubs ../fe_amd64.go -pkg field. DO NOT EDIT.
//go:build amd64 && gc && !purego
// +build amd64,gc,!purego // +build amd64,gc,!purego
package field package field
// feMul sets out = a * b. It works like feMulGeneric. // feMul sets out = a * b. It works like feMulGeneric.
//
//go:noescape //go:noescape
func feMul(out *Element, a *Element, b *Element) func feMul(out *Element, a *Element, b *Element)
// feSquare sets out = a * a. It works like feSquareGeneric. // feSquare sets out = a * a. It works like feSquareGeneric.
//
//go:noescape //go:noescape
func feSquare(out *Element, a *Element) func feSquare(out *Element, a *Element)

View File

@ -1,5 +1,6 @@
// Code generated by command: go run fe_amd64_asm.go -out ../fe_amd64.s -stubs ../fe_amd64.go -pkg field. DO NOT EDIT. // Code generated by command: go run fe_amd64_asm.go -out ../fe_amd64.s -stubs ../fe_amd64.go -pkg field. DO NOT EDIT.
//go:build amd64 && gc && !purego
// +build amd64,gc,!purego // +build amd64,gc,!purego
#include "textflag.h" #include "textflag.h"

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// +build arm64,gc,!purego //go:build arm64 && gc && !purego
#include "textflag.h" #include "textflag.h"

View File

@ -7,7 +7,7 @@ package field
import "errors" import "errors"
// This file contains additional functionality that is not included in the // This file contains additional functionality that is not included in the
// upstream crypto/ed25519/internal/edwards25519/field package. // upstream crypto/ed25519/edwards25519/field package.
// SetWideBytes sets v to x, where x is a 64-byte little-endian encoding, which // SetWideBytes sets v to x, where x is a 64-byte little-endian encoding, which
// is reduced modulo the field order. If x is not of the right length, // is reduced modulo the field order. If x is not of the right length,

View File

@ -156,7 +156,7 @@ func feMulGeneric(v, a, b *Element) {
rr4 := r4.lo&maskLow51Bits + c3 rr4 := r4.lo&maskLow51Bits + c3
// Now all coefficients fit into 64-bit registers but are still too large to // Now all coefficients fit into 64-bit registers but are still too large to
// be passed around as a Element. We therefore do one last carry chain, // be passed around as an Element. We therefore do one last carry chain,
// where the carries will be small enough to fit in the wiggle room above 2⁵¹. // where the carries will be small enough to fit in the wiggle room above 2⁵¹.
*v = Element{rr0, rr1, rr2, rr3, rr4} *v = Element{rr0, rr1, rr2, rr3, rr4}
v.carryPropagate() v.carryPropagate()
@ -245,7 +245,7 @@ func feSquareGeneric(v, a *Element) {
v.carryPropagate() v.carryPropagate()
} }
// carryPropagate brings the limbs below 52 bits by applying the reduction // carryPropagateGeneric brings the limbs below 52 bits by applying the reduction
// identity (a * 2²⁵⁵ + b = a * 19 + b) to the l4 carry. // identity (a * 2²⁵⁵ + b = a * 19 + b) to the l4 carry.
func (v *Element) carryPropagateGeneric() *Element { func (v *Element) carryPropagateGeneric() *Element {
c0 := v.l0 >> 51 c0 := v.l0 >> 51

File diff suppressed because it is too large Load Diff

1147
vendor/filippo.io/edwards25519/scalar_fiat.go generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -38,9 +38,9 @@ func (v *projLookupTable) FromP3(q *Point) {
tmpP3 := Point{} tmpP3 := Point{}
tmpP1xP1 := projP1xP1{} tmpP1xP1 := projP1xP1{}
for i := 0; i < 7; i++ { for i := 0; i < 7; i++ {
// Compute (i+1)*Q as Q + i*Q and convert to a ProjCached // Compute (i+1)*Q as Q + i*Q and convert to a projCached
// This is needlessly complicated because the API has explicit // This is needlessly complicated because the API has explicit
// recievers instead of creating stack objects and relying on RVO // receivers instead of creating stack objects and relying on RVO
v.points[i+1].FromP3(tmpP3.fromP1xP1(tmpP1xP1.Add(q, &v.points[i]))) v.points[i+1].FromP3(tmpP3.fromP1xP1(tmpP1xP1.Add(q, &v.points[i])))
} }
} }
@ -53,7 +53,7 @@ func (v *affineLookupTable) FromP3(q *Point) {
tmpP3 := Point{} tmpP3 := Point{}
tmpP1xP1 := projP1xP1{} tmpP1xP1 := projP1xP1{}
for i := 0; i < 7; i++ { for i := 0; i < 7; i++ {
// Compute (i+1)*Q as Q + i*Q and convert to AffineCached // Compute (i+1)*Q as Q + i*Q and convert to affineCached
v.points[i+1].FromP3(tmpP3.fromP1xP1(tmpP1xP1.AddAffine(q, &v.points[i]))) v.points[i+1].FromP3(tmpP3.fromP1xP1(tmpP1xP1.AddAffine(q, &v.points[i])))
} }
} }

View File

@ -67,6 +67,19 @@ linters:
- gocheckcompilerdirectives - gocheckcompilerdirectives
- asasalint - asasalint
- musttag
- gosmopolitan
- mirror
- tagalign
- gochecksumtype
- inamedparam
- perfsprint
- sloglint
- testifylint
# - musttag # TODO: need update golangci-lint # - musttag # TODO: need update golangci-lint
# - wrapcheck # TODO: v3 Fix # - wrapcheck # TODO: v3 Fix
# - testpackage # TODO: Fix testpackage # - testpackage # TODO: Fix testpackage
@ -106,6 +119,10 @@ linters:
# - ginkgolinter # - ginkgolinter
# - zerologlint
# - protogetter
# - spancheck
# depricated # depricated
# - maligned # - maligned
# - interfacer # - interfacer
@ -138,3 +155,9 @@ issues:
text: "G307:" text: "G307:"
exclude-use-default: false exclude-use-default: false
linters-settings:
testifylint:
enable-all: true
disable:
- require-error # f func false positive

View File

@ -6,7 +6,7 @@
Требования: Требования:
- [Go 1.18+](https://golang.org/doc/install) - [Go 1.21+](https://golang.org/doc/install)
- [golangci-lint](https://github.com/golangci/golangci-lint) - [golangci-lint](https://github.com/golangci/golangci-lint)
- [global .gitignore](https://help.github.com/en/articles/ignoring-files#create-a-global-gitignore) - [global .gitignore](https://help.github.com/en/articles/ignoring-files#create-a-global-gitignore)

View File

@ -1,13 +1,13 @@
# API # API
[![PkgGoDev](https://pkg.go.dev/badge/github.com/SevereCloud/vksdk/v2/api)](https://pkg.go.dev/github.com/SevereCloud/vksdk/v2/api) [![PkgGoDev](https://pkg.go.dev/badge/github.com/SevereCloud/vksdk/v2/api)](https://pkg.go.dev/github.com/SevereCloud/vksdk/v2/api)
[![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://vk.com/dev/first_guide) [![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://dev.vk.com/ru/api/getting-started)
Данная библиотека поддерживает версию API **5.131**. Данная библиотека поддерживает версию API **5.131**.
## Запросы ## Запросы
В начале необходимо инициализировать api с помощью [ключа доступа](https://vk.com/dev/access_token): В начале необходимо инициализировать api с помощью [ключа доступа](https://dev.vk.com/ru/api/access-token/getting-started):
```go ```go
vk := api.NewVK("<TOKEN>") vk := api.NewVK("<TOKEN>")
@ -21,7 +21,7 @@ vk := api.NewVK("<TOKEN>")
Список всех методов можно найти на Список всех методов можно найти на
[данной странице](https://pkg.go.dev/github.com/SevereCloud/vksdk/v2/api?tab=doc#VK). [данной странице](https://pkg.go.dev/github.com/SevereCloud/vksdk/v2/api?tab=doc#VK).
Пример запроса [`users.get`](https://vk.com/dev/users.get) Пример запроса [`users.get`](https://dev.vk.com/method/users.get)
```go ```go
users, err := vk.UsersGet(api.Params{ users, err := vk.UsersGet(api.Params{
@ -52,7 +52,7 @@ res, err = api.MessageSend(b.Params)
### Обработка ошибок ### Обработка ошибок
[![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://vk.com/dev/errors) [![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://dev.vk.com/ru/reference/errors)
Обработка ошибок полностью поддерживает методы Обработка ошибок полностью поддерживает методы
[go 1.13](https://blog.golang.org/go1.13-errors) [go 1.13](https://blog.golang.org/go1.13-errors)
@ -130,7 +130,7 @@ log.Println("msgpack:", len(r)) // msgpack: 650775
### Запрос любого метода ### Запрос любого метода
Пример запроса [users.get](https://vk.com/dev/users.get) Пример запроса [users.get](https://dev.vk.com/method/users.get)
```go ```go
// Определяем структуру, которую вернет API // Определяем структуру, которую вернет API
@ -153,7 +153,7 @@ log.Print(response)
### Execute ### Execute
[![PkgGoDev](https://pkg.go.dev/badge/github.com/SevereCloud/vksdk/v2/errors)](https://pkg.go.dev/github.com/SevereCloud/vksdk/v2/api#VK.Execute) [![PkgGoDev](https://pkg.go.dev/badge/github.com/SevereCloud/vksdk/v2/errors)](https://pkg.go.dev/github.com/SevereCloud/vksdk/v2/api#VK.Execute)
[![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://vk.com/dev/execute) [![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://dev.vk.com/ru/method/execute)
Универсальный метод, который позволяет запускать последовательность других Универсальный метод, который позволяет запускать последовательность других
методов, сохраняя и фильтруя промежуточные результаты. методов, сохраняя и фильтруя промежуточные результаты.
@ -199,7 +199,7 @@ vk.Handler = func(method string, params ...api.Params) (api.Response, error) {
позволяет совершить до 25 обращений к разным методам в рамках одного запроса. позволяет совершить до 25 обращений к разным методам в рамках одного запроса.
Для методов секции ads действуют собственные ограничения, ознакомиться с ними Для методов секции ads действуют собственные ограничения, ознакомиться с ними
Вы можете на [этой странице](https://vk.com/dev/ads_limits). Вы можете на [этой странице](https://dev.vk.com/ru/method/ads).
Максимальное число обращений к методам секции secure зависит от числа Максимальное число обращений к методам секции secure зависит от числа
пользователей, установивших приложение. Если приложение установило меньше 10 пользователей, установивших приложение. Если приложение установило меньше 10
@ -236,7 +236,7 @@ vk.Client = client
### Ошибка с Captcha ### Ошибка с Captcha
[![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://vk.com/dev/captcha_error) [![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://dev.vk.com/ru/api/captcha-error)
Если какое-либо действие (например, отправка сообщения) выполняется Если какое-либо действие (например, отправка сообщения) выполняется
пользователем слишком часто, то запрос к API может возвращать ошибку пользователем слишком часто, то запрос к API может возвращать ошибку
@ -262,7 +262,7 @@ vk.Client = client
## Загрузка файлов ## Загрузка файлов
[![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://vk.com/dev/upload_files) [![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://dev.vk.com/ru/api/upload/overview)
### 1. Загрузка фотографий в альбом ### 1. Загрузка фотографий в альбом
@ -392,7 +392,7 @@ photosPhoto, err = vk.UploadMarketAlbumPhoto(groupID, file)
Допустимые форматы: AVI, MP4, 3GP, MPEG, MOV, MP3, FLV, WMV. Допустимые форматы: AVI, MP4, 3GP, MPEG, MOV, MP3, FLV, WMV.
[Параметры](https://vk.com/dev/video.save) [Параметры](https://dev.vk.com/method/video.save)
```go ```go
videoUploadResponse, err = vk.UploadVideo(params, file) videoUploadResponse, err = vk.UploadVideo(params, file)
@ -476,13 +476,13 @@ docsDoc, err = vk.UploadMessagesDoc(peerID, "audio_message", title, tags, file)
не более 10МБ. Формат видео: h264 video, aac audio, не более 10МБ. Формат видео: h264 video, aac audio,
максимальное разрешение 720х1280, 30fps. максимальное разрешение 720х1280, 30fps.
Загрузить историю с фотографией. [Параметры](https://vk.com/dev/stories.getPhotoUploadServer) Загрузить историю с фотографией. [Параметры](https://dev.vk.com/method/stories.getPhotoUploadServer)
```go ```go
uploadInfo, err = vk.UploadStoriesPhoto(params, file) uploadInfo, err = vk.UploadStoriesPhoto(params, file)
``` ```
Загрузить историю с видео. [Параметры](https://vk.com/dev/stories.getVideoUploadServer) Загрузить историю с видео. [Параметры](https://dev.vk.com/method/stories.getVideoUploadServer)
```go ```go
uploadInfo, err = vk.UploadStoriesVideo(params, file) uploadInfo, err = vk.UploadStoriesVideo(params, file)
@ -529,14 +529,14 @@ photo, err = vk.UploadLeadFormsPhoto(file)
``` ```
Полученные данные можно использовать в методах Полученные данные можно использовать в методах
[leadForms.create](https://vk.com/dev/leadForms.create) [leadForms.create](https://dev.vk.com/method/leadForms.create)
и и
[leadForms.edit](https://vk.com/dev/leadForms.edit). [leadForms.edit](https://dev.vk.com/method/leadForms.edit).
Полученные данные можно использовать в методах Полученные данные можно использовать в методах
[prettyCards.create](https://vk.com/dev/prettyCards.create) [prettyCards.create](https://dev.vk.com/method/prettyCards.create)
и и
[prettyCards.edit](https://vk.com/dev/prettyCards.edit). [prettyCards.edit](https://dev.vk.com/method/prettyCards.edit).
### Загрузки фотографии в коллекцию приложения для виджетов приложений сообществ ### Загрузки фотографии в коллекцию приложения для виджетов приложений сообществ

View File

@ -6,7 +6,7 @@ import (
// AccountBan account.ban. // AccountBan account.ban.
// //
// https://vk.com/dev/account.ban // https://dev.vk.com/method/account.ban
func (vk *VK) AccountBan(params Params) (response int, err error) { func (vk *VK) AccountBan(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.ban", &response, params) err = vk.RequestUnmarshal("account.ban", &response, params)
return return
@ -19,7 +19,7 @@ type AccountChangePasswordResponse struct {
// AccountChangePassword changes a user password after access is successfully restored with the auth.restore method. // AccountChangePassword changes a user password after access is successfully restored with the auth.restore method.
// //
// https://vk.com/dev/account.changePassword // https://dev.vk.com/method/account.changePassword
func (vk *VK) AccountChangePassword(params Params) (response AccountChangePasswordResponse, err error) { func (vk *VK) AccountChangePassword(params Params) (response AccountChangePasswordResponse, err error) {
err = vk.RequestUnmarshal("account.changePassword", &response, params) err = vk.RequestUnmarshal("account.changePassword", &response, params)
return return
@ -35,7 +35,7 @@ type AccountGetActiveOffersResponse struct {
// If the user fulfill their conditions, he will be able to get // If the user fulfill their conditions, he will be able to get
// the appropriate number of votes to his balance. // the appropriate number of votes to his balance.
// //
// https://vk.com/dev/account.getActiveOffers // https://dev.vk.com/method/account.getActiveOffers
func (vk *VK) AccountGetActiveOffers(params Params) (response AccountGetActiveOffersResponse, err error) { func (vk *VK) AccountGetActiveOffers(params Params) (response AccountGetActiveOffersResponse, err error) {
err = vk.RequestUnmarshal("account.getActiveOffers", &response, params) err = vk.RequestUnmarshal("account.getActiveOffers", &response, params)
return return
@ -43,7 +43,7 @@ func (vk *VK) AccountGetActiveOffers(params Params) (response AccountGetActiveOf
// AccountGetAppPermissions gets settings of the user in this application. // AccountGetAppPermissions gets settings of the user in this application.
// //
// https://vk.com/dev/account.getAppPermissions // https://dev.vk.com/method/account.getAppPermissions
func (vk *VK) AccountGetAppPermissions(params Params) (response int, err error) { func (vk *VK) AccountGetAppPermissions(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.getAppPermissions", &response, params) err = vk.RequestUnmarshal("account.getAppPermissions", &response, params)
return return
@ -58,7 +58,7 @@ type AccountGetBannedResponse struct {
// AccountGetBanned returns a user's blacklist. // AccountGetBanned returns a user's blacklist.
// //
// https://vk.com/dev/account.getBanned // https://dev.vk.com/method/account.getBanned
func (vk *VK) AccountGetBanned(params Params) (response AccountGetBannedResponse, err error) { func (vk *VK) AccountGetBanned(params Params) (response AccountGetBannedResponse, err error) {
err = vk.RequestUnmarshal("account.getBanned", &response, params) err = vk.RequestUnmarshal("account.getBanned", &response, params)
return return
@ -69,7 +69,7 @@ type AccountGetCountersResponse object.AccountAccountCounters
// AccountGetCounters returns non-null values of user counters. // AccountGetCounters returns non-null values of user counters.
// //
// https://vk.com/dev/account.getCounters // https://dev.vk.com/method/account.getCounters
func (vk *VK) AccountGetCounters(params Params) (response AccountGetCountersResponse, err error) { func (vk *VK) AccountGetCounters(params Params) (response AccountGetCountersResponse, err error) {
err = vk.RequestUnmarshal("account.getCounters", &response, params) err = vk.RequestUnmarshal("account.getCounters", &response, params)
return return
@ -80,7 +80,7 @@ type AccountGetInfoResponse object.AccountInfo
// AccountGetInfo returns current account info. // AccountGetInfo returns current account info.
// //
// https://vk.com/dev/account.getInfo // https://dev.vk.com/method/account.getInfo
func (vk *VK) AccountGetInfo(params Params) (response AccountGetInfoResponse, err error) { func (vk *VK) AccountGetInfo(params Params) (response AccountGetInfoResponse, err error) {
err = vk.RequestUnmarshal("account.getInfo", &response, params) err = vk.RequestUnmarshal("account.getInfo", &response, params)
return return
@ -91,7 +91,7 @@ type AccountGetProfileInfoResponse object.AccountUserSettings
// AccountGetProfileInfo returns the current account info. // AccountGetProfileInfo returns the current account info.
// //
// https://vk.com/dev/account.getProfileInfo // https://dev.vk.com/method/account.getProfileInfo
func (vk *VK) AccountGetProfileInfo(params Params) (response AccountGetProfileInfoResponse, err error) { func (vk *VK) AccountGetProfileInfo(params Params) (response AccountGetProfileInfoResponse, err error) {
err = vk.RequestUnmarshal("account.getProfileInfo", &response, params) err = vk.RequestUnmarshal("account.getProfileInfo", &response, params)
return return
@ -102,7 +102,7 @@ type AccountGetPushSettingsResponse object.AccountPushSettings
// AccountGetPushSettings account.getPushSettings Gets settings of push notifications. // AccountGetPushSettings account.getPushSettings Gets settings of push notifications.
// //
// https://vk.com/dev/account.getPushSettings // https://dev.vk.com/method/account.getPushSettings
func (vk *VK) AccountGetPushSettings(params Params) (response AccountGetPushSettingsResponse, err error) { func (vk *VK) AccountGetPushSettings(params Params) (response AccountGetPushSettingsResponse, err error) {
err = vk.RequestUnmarshal("account.getPushSettings", &response, params) err = vk.RequestUnmarshal("account.getPushSettings", &response, params)
return return
@ -110,7 +110,7 @@ func (vk *VK) AccountGetPushSettings(params Params) (response AccountGetPushSett
// AccountRegisterDevice subscribes an iOS/Android/Windows/Mac based device to receive push notifications. // AccountRegisterDevice subscribes an iOS/Android/Windows/Mac based device to receive push notifications.
// //
// https://vk.com/dev/account.registerDevice // https://dev.vk.com/method/account.registerDevice
func (vk *VK) AccountRegisterDevice(params Params) (response int, err error) { func (vk *VK) AccountRegisterDevice(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.registerDevice", &response, params) err = vk.RequestUnmarshal("account.registerDevice", &response, params)
return return
@ -124,7 +124,7 @@ type AccountSaveProfileInfoResponse struct {
// AccountSaveProfileInfo edits current profile info. // AccountSaveProfileInfo edits current profile info.
// //
// https://vk.com/dev/account.saveProfileInfo // https://dev.vk.com/method/account.saveProfileInfo
func (vk *VK) AccountSaveProfileInfo(params Params) (response AccountSaveProfileInfoResponse, err error) { func (vk *VK) AccountSaveProfileInfo(params Params) (response AccountSaveProfileInfoResponse, err error) {
err = vk.RequestUnmarshal("account.saveProfileInfo", &response, params) err = vk.RequestUnmarshal("account.saveProfileInfo", &response, params)
return return
@ -132,7 +132,7 @@ func (vk *VK) AccountSaveProfileInfo(params Params) (response AccountSaveProfile
// AccountSetInfo allows to edit the current account info. // AccountSetInfo allows to edit the current account info.
// //
// https://vk.com/dev/account.setInfo // https://dev.vk.com/method/account.setInfo
func (vk *VK) AccountSetInfo(params Params) (response int, err error) { func (vk *VK) AccountSetInfo(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.setInfo", &response, params) err = vk.RequestUnmarshal("account.setInfo", &response, params)
return return
@ -143,7 +143,7 @@ func (vk *VK) AccountSetInfo(params Params) (response int, err error) {
// //
// Deprecated: This method is deprecated and may be disabled soon, please avoid // Deprecated: This method is deprecated and may be disabled soon, please avoid
// //
// https://vk.com/dev/account.setNameInMenu // https://dev.vk.com/method/account.setNameInMenu
func (vk *VK) AccountSetNameInMenu(params Params) (response int, err error) { func (vk *VK) AccountSetNameInMenu(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.setNameInMenu", &response, params) err = vk.RequestUnmarshal("account.setNameInMenu", &response, params)
return return
@ -151,7 +151,7 @@ func (vk *VK) AccountSetNameInMenu(params Params) (response int, err error) {
// AccountSetOffline marks a current user as offline. // AccountSetOffline marks a current user as offline.
// //
// https://vk.com/dev/account.setOffline // https://dev.vk.com/method/account.setOffline
func (vk *VK) AccountSetOffline(params Params) (response int, err error) { func (vk *VK) AccountSetOffline(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.setOffline", &response, params) err = vk.RequestUnmarshal("account.setOffline", &response, params)
return return
@ -159,7 +159,7 @@ func (vk *VK) AccountSetOffline(params Params) (response int, err error) {
// AccountSetOnline marks the current user as online for 5 minutes. // AccountSetOnline marks the current user as online for 5 minutes.
// //
// https://vk.com/dev/account.setOnline // https://dev.vk.com/method/account.setOnline
func (vk *VK) AccountSetOnline(params Params) (response int, err error) { func (vk *VK) AccountSetOnline(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.setOnline", &response, params) err = vk.RequestUnmarshal("account.setOnline", &response, params)
return return
@ -167,7 +167,7 @@ func (vk *VK) AccountSetOnline(params Params) (response int, err error) {
// AccountSetPushSettings change push settings. // AccountSetPushSettings change push settings.
// //
// https://vk.com/dev/account.setPushSettings // https://dev.vk.com/method/account.setPushSettings
func (vk *VK) AccountSetPushSettings(params Params) (response int, err error) { func (vk *VK) AccountSetPushSettings(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.setPushSettings", &response, params) err = vk.RequestUnmarshal("account.setPushSettings", &response, params)
return return
@ -175,7 +175,7 @@ func (vk *VK) AccountSetPushSettings(params Params) (response int, err error) {
// AccountSetSilenceMode mutes push notifications for the set period of time. // AccountSetSilenceMode mutes push notifications for the set period of time.
// //
// https://vk.com/dev/account.setSilenceMode // https://dev.vk.com/method/account.setSilenceMode
func (vk *VK) AccountSetSilenceMode(params Params) (response int, err error) { func (vk *VK) AccountSetSilenceMode(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.setSilenceMode", &response, params) err = vk.RequestUnmarshal("account.setSilenceMode", &response, params)
return return
@ -183,7 +183,7 @@ func (vk *VK) AccountSetSilenceMode(params Params) (response int, err error) {
// AccountUnban account.unban. // AccountUnban account.unban.
// //
// https://vk.com/dev/account.unban // https://dev.vk.com/method/account.unban
func (vk *VK) AccountUnban(params Params) (response int, err error) { func (vk *VK) AccountUnban(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.unban", &response, params) err = vk.RequestUnmarshal("account.unban", &response, params)
return return
@ -191,7 +191,7 @@ func (vk *VK) AccountUnban(params Params) (response int, err error) {
// AccountUnregisterDevice unsubscribes a device from push notifications. // AccountUnregisterDevice unsubscribes a device from push notifications.
// //
// https://vk.com/dev/account.unregisterDevice // https://dev.vk.com/method/account.unregisterDevice
func (vk *VK) AccountUnregisterDevice(params Params) (response int, err error) { func (vk *VK) AccountUnregisterDevice(params Params) (response int, err error) {
err = vk.RequestUnmarshal("account.unregisterDevice", &response, params) err = vk.RequestUnmarshal("account.unregisterDevice", &response, params)
return return

View File

@ -45,7 +45,7 @@ type AdsAddOfficeUsersResponse []AdsAddOfficeUsersItem
// AdsAddOfficeUsers adds managers and/or supervisors to advertising account. // AdsAddOfficeUsers adds managers and/or supervisors to advertising account.
// //
// https://vk.com/dev/ads.addOfficeUsers // https://dev.vk.com/method/ads.addOfficeUsers
func (vk *VK) AdsAddOfficeUsers(params Params) (response AdsAddOfficeUsersResponse, err error) { func (vk *VK) AdsAddOfficeUsers(params Params) (response AdsAddOfficeUsersResponse, err error) {
err = vk.RequestUnmarshal("ads.addOfficeUsers", &response, params) err = vk.RequestUnmarshal("ads.addOfficeUsers", &response, params)
return return
@ -65,7 +65,7 @@ type AdsCheckLinkResponse struct {
// AdsCheckLink allows to check the ad link. // AdsCheckLink allows to check the ad link.
// //
// https://vk.com/dev/ads.checkLink // https://dev.vk.com/method/ads.checkLink
func (vk *VK) AdsCheckLink(params Params) (response AdsCheckLinkResponse, err error) { func (vk *VK) AdsCheckLink(params Params) (response AdsCheckLinkResponse, err error) {
err = vk.RequestUnmarshal("ads.checkLink", &response, params) err = vk.RequestUnmarshal("ads.checkLink", &response, params)
return return
@ -82,7 +82,7 @@ type AdsCreateAdsResponse []struct {
// Please note! Maximum allowed number of ads created in one request is 5. // Please note! Maximum allowed number of ads created in one request is 5.
// Minimum size of ad audience is 50 people. // Minimum size of ad audience is 50 people.
// //
// https://vk.com/dev/ads.createAds // https://dev.vk.com/method/ads.createAds
func (vk *VK) AdsCreateAds(params Params) (response AdsCreateAdsResponse, err error) { func (vk *VK) AdsCreateAds(params Params) (response AdsCreateAdsResponse, err error) {
err = vk.RequestUnmarshal("ads.createAds", &response, params) err = vk.RequestUnmarshal("ads.createAds", &response, params)
return return
@ -98,7 +98,7 @@ type AdsCreateCampaignsResponse []struct {
// //
// Please note! Allowed number of campaigns created in one request is 50. // Please note! Allowed number of campaigns created in one request is 50.
// //
// https://vk.com/dev/ads.createCampaigns // https://dev.vk.com/method/ads.createCampaigns
func (vk *VK) AdsCreateCampaigns(params Params) (response AdsCreateCampaignsResponse, err error) { func (vk *VK) AdsCreateCampaigns(params Params) (response AdsCreateCampaignsResponse, err error) {
err = vk.RequestUnmarshal("ads.createCampaigns", &response, params) err = vk.RequestUnmarshal("ads.createCampaigns", &response, params)
return return
@ -116,7 +116,7 @@ type AdsCreateClientsResponse []struct {
// //
// Please note! Allowed number of clients created in one request is 50. // Please note! Allowed number of clients created in one request is 50.
// //
// https://vk.com/dev/ads.createClients // https://dev.vk.com/method/ads.createClients
func (vk *VK) AdsCreateClients(params Params) (response AdsCreateClientsResponse, err error) { func (vk *VK) AdsCreateClients(params Params) (response AdsCreateClientsResponse, err error) {
err = vk.RequestUnmarshal("ads.createClients", &response, params) err = vk.RequestUnmarshal("ads.createClients", &response, params)
return return
@ -129,7 +129,7 @@ type AdsCreateLookalikeRequestResponse struct {
// AdsCreateLookalikeRequest creates a request to find a similar audience. // AdsCreateLookalikeRequest creates a request to find a similar audience.
// //
// https://vk.com/dev/ads.createLookalikeRequest // https://dev.vk.com/method/ads.createLookalikeRequest
func (vk *VK) AdsCreateLookalikeRequest(params Params) (response AdsCreateLookalikeRequestResponse, err error) { func (vk *VK) AdsCreateLookalikeRequest(params Params) (response AdsCreateLookalikeRequestResponse, err error) {
err = vk.RequestUnmarshal("ads.createLookalikeRequest", &response, params) err = vk.RequestUnmarshal("ads.createLookalikeRequest", &response, params)
return return
@ -154,7 +154,7 @@ type AdsCreateTargetGroupResponse struct {
// Please note! Maximum allowed number of groups for one advertising // Please note! Maximum allowed number of groups for one advertising
// account is 100. // account is 100.
// //
// https://vk.com/dev/ads.createTargetGroup // https://dev.vk.com/method/ads.createTargetGroup
func (vk *VK) AdsCreateTargetGroup(params Params) (response AdsCreateTargetGroupResponse, err error) { func (vk *VK) AdsCreateTargetGroup(params Params) (response AdsCreateTargetGroupResponse, err error) {
err = vk.RequestUnmarshal("ads.createTargetGroup", &response, params) err = vk.RequestUnmarshal("ads.createTargetGroup", &response, params)
return return
@ -175,7 +175,7 @@ type AdsCreateTargetPixelResponse struct {
// //
// Maximum pixels number per advertising account is 25. // Maximum pixels number per advertising account is 25.
// //
// https://vk.com/dev/ads.createTargetPixel // https://dev.vk.com/method/ads.createTargetPixel
func (vk *VK) AdsCreateTargetPixel(params Params) (response AdsCreateTargetPixelResponse, err error) { func (vk *VK) AdsCreateTargetPixel(params Params) (response AdsCreateTargetPixelResponse, err error) {
err = vk.RequestUnmarshal("ads.createTargetPixel", &response, params) err = vk.RequestUnmarshal("ads.createTargetPixel", &response, params)
return return
@ -190,7 +190,7 @@ type AdsDeleteAdsResponse []ErrorType
// //
// Warning! Maximum allowed number of ads archived in one request is 100. // Warning! Maximum allowed number of ads archived in one request is 100.
// //
// https://vk.com/dev/ads.deleteAds // https://dev.vk.com/method/ads.deleteAds
func (vk *VK) AdsDeleteAds(params Params) (response AdsDeleteAdsResponse, err error) { func (vk *VK) AdsDeleteAds(params Params) (response AdsDeleteAdsResponse, err error) {
err = vk.RequestUnmarshal("ads.deleteAds", &response, params) err = vk.RequestUnmarshal("ads.deleteAds", &response, params)
return return
@ -205,7 +205,7 @@ type AdsDeleteCampaignsResponse []ErrorType
// //
// Warning! Maximum allowed number of campaigns archived in one request is 100. // Warning! Maximum allowed number of campaigns archived in one request is 100.
// //
// https://vk.com/dev/ads.deleteCampaigns // https://dev.vk.com/method/ads.deleteCampaigns
func (vk *VK) AdsDeleteCampaigns(params Params) (response AdsDeleteCampaignsResponse, err error) { func (vk *VK) AdsDeleteCampaigns(params Params) (response AdsDeleteCampaignsResponse, err error) {
err = vk.RequestUnmarshal("ads.deleteCampaigns", &response, params) err = vk.RequestUnmarshal("ads.deleteCampaigns", &response, params)
return return
@ -222,7 +222,7 @@ type AdsDeleteClientsResponse []ErrorType
// //
// Please note! Maximum allowed number of clients edited in one request is 10. // Please note! Maximum allowed number of clients edited in one request is 10.
// //
// https://vk.com/dev/ads.deleteClients // https://dev.vk.com/method/ads.deleteClients
func (vk *VK) AdsDeleteClients(params Params) (response AdsDeleteClientsResponse, err error) { func (vk *VK) AdsDeleteClients(params Params) (response AdsDeleteClientsResponse, err error) {
err = vk.RequestUnmarshal("ads.deleteClients", &response, params) err = vk.RequestUnmarshal("ads.deleteClients", &response, params)
return return
@ -230,7 +230,7 @@ func (vk *VK) AdsDeleteClients(params Params) (response AdsDeleteClientsResponse
// AdsDeleteTargetGroup deletes target group. // AdsDeleteTargetGroup deletes target group.
// //
// https://vk.com/dev/ads.deleteTargetGroup // https://dev.vk.com/method/ads.deleteTargetGroup
func (vk *VK) AdsDeleteTargetGroup(params Params) (response int, err error) { func (vk *VK) AdsDeleteTargetGroup(params Params) (response int, err error) {
err = vk.RequestUnmarshal("ads.deleteTargetGroup", &response, params) err = vk.RequestUnmarshal("ads.deleteTargetGroup", &response, params)
return return
@ -238,7 +238,7 @@ func (vk *VK) AdsDeleteTargetGroup(params Params) (response int, err error) {
// AdsDeleteTargetPixel deletes target pixel. // AdsDeleteTargetPixel deletes target pixel.
// //
// https://vk.com/dev/ads.deleteTargetPixel // https://dev.vk.com/method/ads.deleteTargetPixel
func (vk *VK) AdsDeleteTargetPixel(params Params) (response int, err error) { func (vk *VK) AdsDeleteTargetPixel(params Params) (response int, err error) {
err = vk.RequestUnmarshal("ads.deleteTargetPixel", &response, params) err = vk.RequestUnmarshal("ads.deleteTargetPixel", &response, params)
return return
@ -249,7 +249,7 @@ type AdsGetAccountsResponse []object.AdsAccount
// AdsGetAccounts returns a list of advertising accounts. // AdsGetAccounts returns a list of advertising accounts.
// //
// https://vk.com/dev/ads.getAccounts // https://dev.vk.com/method/ads.getAccounts
func (vk *VK) AdsGetAccounts(params Params) (response AdsGetAccountsResponse, err error) { func (vk *VK) AdsGetAccounts(params Params) (response AdsGetAccountsResponse, err error) {
err = vk.RequestUnmarshal("ads.getAccounts", &response, params) err = vk.RequestUnmarshal("ads.getAccounts", &response, params)
return return
@ -260,7 +260,7 @@ type AdsGetAdsResponse []object.AdsAd
// AdsGetAds returns a list of ads. // AdsGetAds returns a list of ads.
// //
// https://vk.com/dev/ads.getAds // https://dev.vk.com/method/ads.getAds
func (vk *VK) AdsGetAds(params Params) (response AdsGetAdsResponse, err error) { func (vk *VK) AdsGetAds(params Params) (response AdsGetAdsResponse, err error) {
err = vk.RequestUnmarshal("ads.getAds", &response, params) err = vk.RequestUnmarshal("ads.getAds", &response, params)
return return
@ -271,7 +271,7 @@ type AdsGetAdsLayoutResponse []object.AdsAdLayout
// AdsGetAdsLayout returns descriptions of ad layouts. // AdsGetAdsLayout returns descriptions of ad layouts.
// //
// https://vk.com/dev/ads.getAdsLayout // https://dev.vk.com/method/ads.getAdsLayout
func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse, err error) { func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse, err error) {
err = vk.RequestUnmarshal("ads.getAdsLayout", &response, params) err = vk.RequestUnmarshal("ads.getAdsLayout", &response, params)
return return
@ -282,7 +282,7 @@ func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse,
// TODO: AdsGetAdsTargeting ... // TODO: AdsGetAdsTargeting ...
// //
// https://vk.com/dev/ads.getAdsTargeting // https://dev.vk.com/method/ads.getAdsTargeting
// func (vk *VK) AdsGetAdsTargeting(params Params) (response AdsGetAdsTargetingResponse, err error) { // func (vk *VK) AdsGetAdsTargeting(params Params) (response AdsGetAdsTargetingResponse, err error) {
// err = vk.RequestUnmarshal("ads.getAdsTargeting", &response, params) // err = vk.RequestUnmarshal("ads.getAdsTargeting", &response, params)
// return // return
@ -293,7 +293,7 @@ func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse,
// TODO: AdsGetBudget ... // TODO: AdsGetBudget ...
// //
// https://vk.com/dev/ads.getBudget // https://dev.vk.com/method/ads.getBudget
// func (vk *VK) AdsGetBudget(params Params) (response AdsGetBudgetResponse, err error) { // func (vk *VK) AdsGetBudget(params Params) (response AdsGetBudgetResponse, err error) {
// err = vk.RequestUnmarshal("ads.getBudget", &response, params) // err = vk.RequestUnmarshal("ads.getBudget", &response, params)
// return // return
@ -304,7 +304,7 @@ func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse,
// TODO: AdsGetCampaigns ... // TODO: AdsGetCampaigns ...
// //
// https://vk.com/dev/ads.getCampaigns // https://dev.vk.com/method/ads.getCampaigns
// func (vk *VK) AdsGetCampaigns(params Params) (response AdsGetCampaignsResponse, err error) { // func (vk *VK) AdsGetCampaigns(params Params) (response AdsGetCampaignsResponse, err error) {
// err = vk.RequestUnmarshal("ads.getCampaigns", &response, params) // err = vk.RequestUnmarshal("ads.getCampaigns", &response, params)
// return // return
@ -315,7 +315,7 @@ func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse,
// TODO: AdsGetCategories ... // TODO: AdsGetCategories ...
// //
// https://vk.com/dev/ads.getCategories // https://dev.vk.com/method/ads.getCategories
// func (vk *VK) AdsGetCategories(params Params) (response AdsGetCategoriesResponse, err error) { // func (vk *VK) AdsGetCategories(params Params) (response AdsGetCategoriesResponse, err error) {
// err = vk.RequestUnmarshal("ads.getCategories", &response, params) // err = vk.RequestUnmarshal("ads.getCategories", &response, params)
// return // return
@ -326,7 +326,7 @@ func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse,
// TODO: AdsGetClients ... // TODO: AdsGetClients ...
// //
// https://vk.com/dev/ads.getClients // https://dev.vk.com/method/ads.getClients
// func (vk *VK) AdsGetClients(params Params) (response AdsGetClientsResponse, err error) { // func (vk *VK) AdsGetClients(params Params) (response AdsGetClientsResponse, err error) {
// err = vk.RequestUnmarshal("ads.getClients", &response, params) // err = vk.RequestUnmarshal("ads.getClients", &response, params)
// return // return
@ -337,7 +337,7 @@ func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse,
// TODO: AdsGetDemographics ... // TODO: AdsGetDemographics ...
// //
// https://vk.com/dev/ads.getDemographics // https://dev.vk.com/method/ads.getDemographics
// func (vk *VK) AdsGetDemographics(params Params) (response AdsGetDemographicsResponse, err error) { // func (vk *VK) AdsGetDemographics(params Params) (response AdsGetDemographicsResponse, err error) {
// err = vk.RequestUnmarshal("ads.getDemographics", &response, params) // err = vk.RequestUnmarshal("ads.getDemographics", &response, params)
// return // return
@ -348,7 +348,7 @@ func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse,
// TODO: AdsGetFloodStats ... // TODO: AdsGetFloodStats ...
// //
// https://vk.com/dev/ads.getFloodStats // https://dev.vk.com/method/ads.getFloodStats
// func (vk *VK) AdsGetFloodStats(params Params) (response AdsGetFloodStatsResponse, err error) { // func (vk *VK) AdsGetFloodStats(params Params) (response AdsGetFloodStatsResponse, err error) {
// err = vk.RequestUnmarshal("ads.getFloodStats", &response, params) // err = vk.RequestUnmarshal("ads.getFloodStats", &response, params)
// return // return
@ -359,7 +359,7 @@ func (vk *VK) AdsGetAdsLayout(params Params) (response AdsGetAdsLayoutResponse,
// TODO: AdsGetLookalikeRequests ... // TODO: AdsGetLookalikeRequests ...
// //
// https://vk.com/dev/ads.getLookalikeRequests // https://dev.vk.com/method/ads.getLookalikeRequests
// func (vk *VK) AdsGetLookalikeRequests(params Params) (response AdsGetLookalikeRequestsResponse, err error) { // func (vk *VK) AdsGetLookalikeRequests(params Params) (response AdsGetLookalikeRequestsResponse, err error) {
// err = vk.RequestUnmarshal("ads.getLookalikeRequests", &response, params) // err = vk.RequestUnmarshal("ads.getLookalikeRequests", &response, params)
// return // return
@ -372,7 +372,7 @@ type AdsGetMusiciansResponse struct {
// AdsGetMusicians returns a list of musicians. // AdsGetMusicians returns a list of musicians.
// //
// https://vk.com/dev/ads.getMusicians // https://dev.vk.com/method/ads.getMusicians
func (vk *VK) AdsGetMusicians(params Params) (response AdsGetMusiciansResponse, err error) { func (vk *VK) AdsGetMusicians(params Params) (response AdsGetMusiciansResponse, err error) {
err = vk.RequestUnmarshal("ads.getMusicians", &response, params) err = vk.RequestUnmarshal("ads.getMusicians", &response, params)
return return
@ -383,7 +383,7 @@ func (vk *VK) AdsGetMusicians(params Params) (response AdsGetMusiciansResponse,
// TODO: AdsGetOfficeUsers ... // TODO: AdsGetOfficeUsers ...
// //
// https://vk.com/dev/ads.getOfficeUsers // https://dev.vk.com/method/ads.getOfficeUsers
// func (vk *VK) AdsGetOfficeUsers(params Params) (response AdsGetOfficeUsersResponse, err error) { // func (vk *VK) AdsGetOfficeUsers(params Params) (response AdsGetOfficeUsersResponse, err error) {
// err = vk.RequestUnmarshal("ads.getOfficeUsers", &response, params) // err = vk.RequestUnmarshal("ads.getOfficeUsers", &response, params)
// return // return
@ -394,7 +394,7 @@ func (vk *VK) AdsGetMusicians(params Params) (response AdsGetMusiciansResponse,
// TODO: AdsGetPostsReach ... // TODO: AdsGetPostsReach ...
// //
// https://vk.com/dev/ads.getPostsReach // https://dev.vk.com/method/ads.getPostsReach
// func (vk *VK) AdsGetPostsReach(params Params) (response AdsGetPostsReachResponse, err error) { // func (vk *VK) AdsGetPostsReach(params Params) (response AdsGetPostsReachResponse, err error) {
// err = vk.RequestUnmarshal("ads.getPostsReach", &response, params) // err = vk.RequestUnmarshal("ads.getPostsReach", &response, params)
// return // return
@ -405,7 +405,7 @@ func (vk *VK) AdsGetMusicians(params Params) (response AdsGetMusiciansResponse,
// TODO: AdsGetRejectionReason ... // TODO: AdsGetRejectionReason ...
// //
// https://vk.com/dev/ads.getRejectionReason // https://dev.vk.com/method/ads.getRejectionReason
// func (vk *VK) AdsGetRejectionReason(params Params) (response AdsGetRejectionReasonResponse, err error) { // func (vk *VK) AdsGetRejectionReason(params Params) (response AdsGetRejectionReasonResponse, err error) {
// err = vk.RequestUnmarshal("ads.getRejectionReason", &response, params) // err = vk.RequestUnmarshal("ads.getRejectionReason", &response, params)
// return // return
@ -416,7 +416,7 @@ func (vk *VK) AdsGetMusicians(params Params) (response AdsGetMusiciansResponse,
// TODO: AdsGetStatistics ... // TODO: AdsGetStatistics ...
// //
// https://vk.com/dev/ads.getStatistics // https://dev.vk.com/method/ads.getStatistics
// func (vk *VK) AdsGetStatistics(params Params) (response AdsGetStatisticsResponse, err error) { // func (vk *VK) AdsGetStatistics(params Params) (response AdsGetStatisticsResponse, err error) {
// err = vk.RequestUnmarshal("ads.getStatistics", &response, params) // err = vk.RequestUnmarshal("ads.getStatistics", &response, params)
// return // return
@ -427,7 +427,7 @@ func (vk *VK) AdsGetMusicians(params Params) (response AdsGetMusiciansResponse,
// TODO: AdsGetSuggestions ... // TODO: AdsGetSuggestions ...
// //
// https://vk.com/dev/ads.getSuggestions // https://dev.vk.com/method/ads.getSuggestions
// func (vk *VK) AdsGetSuggestions(params Params) (response AdsGetSuggestionsResponse, err error) { // func (vk *VK) AdsGetSuggestions(params Params) (response AdsGetSuggestionsResponse, err error) {
// err = vk.RequestUnmarshal("ads.getSuggestions", &response, params) // err = vk.RequestUnmarshal("ads.getSuggestions", &response, params)
// return // return
@ -438,7 +438,7 @@ type AdsGetTargetGroupsResponse []object.AdsTargetGroup
// AdsGetTargetGroups returns a list of target groups. // AdsGetTargetGroups returns a list of target groups.
// //
// https://vk.com/dev/ads.getTargetGroups // https://dev.vk.com/method/ads.getTargetGroups
func (vk *VK) AdsGetTargetGroups(params Params) (response AdsGetTargetGroupsResponse, err error) { func (vk *VK) AdsGetTargetGroups(params Params) (response AdsGetTargetGroupsResponse, err error) {
err = vk.RequestUnmarshal("ads.getTargetGroups", &response, params) err = vk.RequestUnmarshal("ads.getTargetGroups", &response, params)
return return
@ -449,7 +449,7 @@ func (vk *VK) AdsGetTargetGroups(params Params) (response AdsGetTargetGroupsResp
// TODO: AdsGetTargetPixels ... // TODO: AdsGetTargetPixels ...
// //
// https://vk.com/dev/ads.getTargetPixels // https://dev.vk.com/method/ads.getTargetPixels
// func (vk *VK) AdsGetTargetPixels(params Params) (response AdsGetTargetPixelsResponse, err error) { // func (vk *VK) AdsGetTargetPixels(params Params) (response AdsGetTargetPixelsResponse, err error) {
// err = vk.RequestUnmarshal("ads.getTargetPixels", &response, params) // err = vk.RequestUnmarshal("ads.getTargetPixels", &response, params)
// return // return
@ -460,7 +460,7 @@ func (vk *VK) AdsGetTargetGroups(params Params) (response AdsGetTargetGroupsResp
// TODO: AdsGetTargetingStats ... // TODO: AdsGetTargetingStats ...
// //
// https://vk.com/dev/ads.getTargetingStats // https://dev.vk.com/method/ads.getTargetingStats
// func (vk *VK) AdsGetTargetingStats(params Params) (response AdsGetTargetingStatsResponse, err error) { // func (vk *VK) AdsGetTargetingStats(params Params) (response AdsGetTargetingStatsResponse, err error) {
// err = vk.RequestUnmarshal("ads.getTargetingStats", &response, params) // err = vk.RequestUnmarshal("ads.getTargetingStats", &response, params)
// return // return
@ -471,7 +471,7 @@ func (vk *VK) AdsGetTargetGroups(params Params) (response AdsGetTargetGroupsResp
// TODO: AdsGetUploadURL ... // TODO: AdsGetUploadURL ...
// //
// https://vk.com/dev/ads.getUploadURL // https://dev.vk.com/method/ads.getUploadURL
// func (vk *VK) AdsGetUploadURL(params Params) (response AdsGetUploadURLResponse, err error) { // func (vk *VK) AdsGetUploadURL(params Params) (response AdsGetUploadURLResponse, err error) {
// err = vk.RequestUnmarshal("ads.getUploadURL", &response, params) // err = vk.RequestUnmarshal("ads.getUploadURL", &response, params)
// return // return
@ -482,7 +482,7 @@ func (vk *VK) AdsGetTargetGroups(params Params) (response AdsGetTargetGroupsResp
// TODO: AdsGetVideoUploadURL ... // TODO: AdsGetVideoUploadURL ...
// //
// https://vk.com/dev/ads.getVideoUploadURL // https://dev.vk.com/method/ads.getVideoUploadURL
// func (vk *VK) AdsGetVideoUploadURL(params Params) (response AdsGetVideoUploadURLResponse, err error) { // func (vk *VK) AdsGetVideoUploadURL(params Params) (response AdsGetVideoUploadURLResponse, err error) {
// err = vk.RequestUnmarshal("ads.getVideoUploadURL", &response, params) // err = vk.RequestUnmarshal("ads.getVideoUploadURL", &response, params)
// return // return
@ -493,7 +493,7 @@ func (vk *VK) AdsGetTargetGroups(params Params) (response AdsGetTargetGroupsResp
// TODO: AdsImportTargetContacts ... // TODO: AdsImportTargetContacts ...
// //
// https://vk.com/dev/ads.importTargetContacts // https://dev.vk.com/method/ads.importTargetContacts
// func (vk *VK) AdsImportTargetContacts(params Params) (response AdsImportTargetContactsResponse, err error) { // func (vk *VK) AdsImportTargetContacts(params Params) (response AdsImportTargetContactsResponse, err error) {
// err = vk.RequestUnmarshal("ads.importTargetContacts", &response, params) // err = vk.RequestUnmarshal("ads.importTargetContacts", &response, params)
// return // return
@ -504,7 +504,7 @@ func (vk *VK) AdsGetTargetGroups(params Params) (response AdsGetTargetGroupsResp
// TODO: AdsRemoveOfficeUsers ... // TODO: AdsRemoveOfficeUsers ...
// //
// https://vk.com/dev/ads.removeOfficeUsers // https://dev.vk.com/method/ads.removeOfficeUsers
// func (vk *VK) AdsRemoveOfficeUsers(params Params) (response AdsRemoveOfficeUsersResponse, err error) { // func (vk *VK) AdsRemoveOfficeUsers(params Params) (response AdsRemoveOfficeUsersResponse, err error) {
// err = vk.RequestUnmarshal("ads.removeOfficeUsers", &response, params) // err = vk.RequestUnmarshal("ads.removeOfficeUsers", &response, params)
// return // return
@ -518,7 +518,7 @@ func (vk *VK) AdsGetTargetGroups(params Params) (response AdsGetTargetGroupsResp
// //
// Contacts are excluded within a few hours of the request. // Contacts are excluded within a few hours of the request.
// //
// https://vk.com/dev/ads.removeTargetContacts // https://dev.vk.com/method/ads.removeTargetContacts
func (vk *VK) AdsRemoveTargetContacts(params Params) (response int, err error) { func (vk *VK) AdsRemoveTargetContacts(params Params) (response int, err error) {
err = vk.RequestUnmarshal("ads.removeTargetContacts", &response, params) err = vk.RequestUnmarshal("ads.removeTargetContacts", &response, params)
return return
@ -529,7 +529,7 @@ func (vk *VK) AdsRemoveTargetContacts(params Params) (response int, err error) {
// TODO: AdsSaveLookalikeRequestResult ... // TODO: AdsSaveLookalikeRequestResult ...
// //
// https://vk.com/dev/ads.saveLookalikeRequestResult // https://dev.vk.com/method/ads.saveLookalikeRequestResult
// func (vk *VK) AdsSaveLookalikeRequestResult(params Params) ( // func (vk *VK) AdsSaveLookalikeRequestResult(params Params) (
// response AdsSaveLookalikeRequestResultResponse, // response AdsSaveLookalikeRequestResultResponse,
// err error, // err error,
@ -543,7 +543,7 @@ func (vk *VK) AdsRemoveTargetContacts(params Params) (response int, err error) {
// TODO: AdsShareTargetGroup ... // TODO: AdsShareTargetGroup ...
// //
// https://vk.com/dev/ads.shareTargetGroup // https://dev.vk.com/method/ads.shareTargetGroup
// func (vk *VK) AdsShareTargetGroup(params Params) (response AdsShareTargetGroupResponse, err error) { // func (vk *VK) AdsShareTargetGroup(params Params) (response AdsShareTargetGroupResponse, err error) {
// err = vk.RequestUnmarshal("ads.shareTargetGroup", &response, params) // err = vk.RequestUnmarshal("ads.shareTargetGroup", &response, params)
// return // return
@ -554,7 +554,7 @@ func (vk *VK) AdsRemoveTargetContacts(params Params) (response int, err error) {
// TODO: AdsUpdateAds ... // TODO: AdsUpdateAds ...
// //
// https://vk.com/dev/ads.updateAds // https://dev.vk.com/method/ads.updateAds
// func (vk *VK) AdsUpdateAds(params Params) (response AdsUpdateAdsResponse, err error) { // func (vk *VK) AdsUpdateAds(params Params) (response AdsUpdateAdsResponse, err error) {
// err = vk.RequestUnmarshal("ads.updateAds", &response, params) // err = vk.RequestUnmarshal("ads.updateAds", &response, params)
// return // return
@ -565,7 +565,7 @@ func (vk *VK) AdsRemoveTargetContacts(params Params) (response int, err error) {
// TODO: AdsUpdateCampaigns ... // TODO: AdsUpdateCampaigns ...
// //
// https://vk.com/dev/ads.updateCampaigns // https://dev.vk.com/method/ads.updateCampaigns
// func (vk *VK) AdsUpdateCampaigns(params Params) (response AdsUpdateCampaignsResponse, err error) { // func (vk *VK) AdsUpdateCampaigns(params Params) (response AdsUpdateCampaignsResponse, err error) {
// err = vk.RequestUnmarshal("ads.updateCampaigns", &response, params) // err = vk.RequestUnmarshal("ads.updateCampaigns", &response, params)
// return // return
@ -576,7 +576,7 @@ func (vk *VK) AdsRemoveTargetContacts(params Params) (response int, err error) {
// TODO: AdsUpdateClients ... // TODO: AdsUpdateClients ...
// //
// https://vk.com/dev/ads.updateClients // https://dev.vk.com/method/ads.updateClients
// func (vk *VK) AdsUpdateClients(params Params) (response AdsUpdateClientsResponse, err error) { // func (vk *VK) AdsUpdateClients(params Params) (response AdsUpdateClientsResponse, err error) {
// err = vk.RequestUnmarshal("ads.updateClients", &response, params) // err = vk.RequestUnmarshal("ads.updateClients", &response, params)
// return // return
@ -584,7 +584,7 @@ func (vk *VK) AdsRemoveTargetContacts(params Params) (response int, err error) {
// AdsUpdateTargetGroup edits target group. // AdsUpdateTargetGroup edits target group.
// //
// https://vk.com/dev/ads.updateTargetGroup // https://dev.vk.com/method/ads.updateTargetGroup
func (vk *VK) AdsUpdateTargetGroup(params Params) (response int, err error) { func (vk *VK) AdsUpdateTargetGroup(params Params) (response int, err error) {
err = vk.RequestUnmarshal("ads.updateTargetGroup", &response, params) err = vk.RequestUnmarshal("ads.updateTargetGroup", &response, params)
return return
@ -592,7 +592,7 @@ func (vk *VK) AdsUpdateTargetGroup(params Params) (response int, err error) {
// AdsUpdateTargetPixel edits target pixel. // AdsUpdateTargetPixel edits target pixel.
// //
// https://vk.com/dev/ads.updateTargetPixel // https://dev.vk.com/method/ads.updateTargetPixel
func (vk *VK) AdsUpdateTargetPixel(params Params) (response int, err error) { func (vk *VK) AdsUpdateTargetPixel(params Params) (response int, err error) {
err = vk.RequestUnmarshal("ads. updateTargetPixel", &response, params) err = vk.RequestUnmarshal("ads. updateTargetPixel", &response, params)
return return

View File

@ -1,7 +1,7 @@
/* /*
Package api implements VK API. Package api implements VK API.
See more https://vk.com/dev/api_requests See more https://dev.vk.com/ru/api/api-requests
*/ */
package api // import "github.com/SevereCloud/vksdk/v2/api" package api // import "github.com/SevereCloud/vksdk/v2/api"
@ -46,7 +46,7 @@ const (
// 1 000 000+ 35 requests. // 1 000 000+ 35 requests.
// //
// The ads section methods are subject to their own limitations, // The ads section methods are subject to their own limitations,
// you can read them on this page - https://vk.com/dev/ads_limits // you can read them on this page - https://dev.vk.com/ru/method/ads
// //
// If one of this limits is exceeded, the server will return following error: // If one of this limits is exceeded, the server will return following error:
// "Too many requests per second". (errors.TooMany). // "Too many requests per second". (errors.TooMany).
@ -58,7 +58,7 @@ const (
// quantitative restrictions on calling the same type of methods. // quantitative restrictions on calling the same type of methods.
// //
// After exceeding the quantitative limit, access to a particular method may // After exceeding the quantitative limit, access to a particular method may
// require entering a captcha (see https://vk.com/dev/captcha_error), // require entering a captcha (see https://dev.vk.com/ru/api/captcha-error),
// and may also be temporarily restricted (in this case, the server does // and may also be temporarily restricted (in this case, the server does
// not return a response to the call of a particular method, but handles // not return a response to the call of a particular method, but handles
// any other requests without problems). // any other requests without problems).
@ -78,7 +78,7 @@ const (
// //
// captcha_key - text entered by the user. // captcha_key - text entered by the user.
// //
// More info: https://vk.com/dev/api_requests // More info: https://dev.vk.com/ru/api/api-requests
const ( const (
LimitUserToken = 3 LimitUserToken = 3
LimitGroupToken = 20 LimitGroupToken = 20
@ -169,7 +169,7 @@ func (p Params) TestMode(v bool) Params {
// CaptchaSID received ID. // CaptchaSID received ID.
// //
// See https://vk.com/dev/captcha_error // See https://dev.vk.com/ru/api/captcha-error
func (p Params) CaptchaSID(v string) Params { func (p Params) CaptchaSID(v string) Params {
p["captcha_sid"] = v p["captcha_sid"] = v
return p return p
@ -177,7 +177,7 @@ func (p Params) CaptchaSID(v string) Params {
// CaptchaKey text input. // CaptchaKey text input.
// //
// See https://vk.com/dev/captcha_error // See https://dev.vk.com/ru/api/captcha-error
func (p Params) CaptchaKey(v string) Params { func (p Params) CaptchaKey(v string) Params {
p["captcha_key"] = v p["captcha_key"] = v
return p return p
@ -185,7 +185,7 @@ func (p Params) CaptchaKey(v string) Params {
// Confirm parameter. // Confirm parameter.
// //
// See https://vk.com/dev/need_confirmation // See https://dev.vk.com/ru/api/confirmation-required-error
func (p Params) Confirm(v bool) Params { func (p Params) Confirm(v bool) Params {
p["confirm"] = v p["confirm"] = v
return p return p
@ -241,6 +241,7 @@ func (vk *VK) DefaultHandler(method string, sliceParams ...Params) (Response, er
vk.lastTime = time.Now() vk.lastTime = time.Now()
vk.rps = 0 vk.rps = 0
} }
vk.rps++ vk.rps++
vk.mux.Unlock() vk.mux.Unlock()

View File

@ -6,7 +6,7 @@ import (
// AppsAddUsersToTestingGroup method. // AppsAddUsersToTestingGroup method.
// //
// https://vk.com/dev/apps.addUsersToTestingGroup // https://dev.vk.com/method/apps.addUsersToTestingGroup
func (vk *VK) AppsAddUsersToTestingGroup(params Params) (response int, err error) { func (vk *VK) AppsAddUsersToTestingGroup(params Params) (response int, err error) {
err = vk.RequestUnmarshal("apps.addUsersToTestingGroup", &response, params) err = vk.RequestUnmarshal("apps.addUsersToTestingGroup", &response, params)
return return
@ -14,7 +14,7 @@ func (vk *VK) AppsAddUsersToTestingGroup(params Params) (response int, err error
// AppsDeleteAppRequests deletes all request notifications from the current app. // AppsDeleteAppRequests deletes all request notifications from the current app.
// //
// https://vk.com/dev/apps.deleteAppRequests // https://dev.vk.com/method/apps.deleteAppRequests
func (vk *VK) AppsDeleteAppRequests(params Params) (response int, err error) { func (vk *VK) AppsDeleteAppRequests(params Params) (response int, err error) {
err = vk.RequestUnmarshal("apps.deleteAppRequests", &response, params) err = vk.RequestUnmarshal("apps.deleteAppRequests", &response, params)
return return
@ -29,7 +29,7 @@ type AppsGetResponse struct {
// AppsGet returns applications data. // AppsGet returns applications data.
// //
// https://vk.com/dev/apps.get // https://dev.vk.com/method/apps.get
func (vk *VK) AppsGet(params Params) (response AppsGetResponse, err error) { func (vk *VK) AppsGet(params Params) (response AppsGetResponse, err error) {
err = vk.RequestUnmarshal("apps.get", &response, params) err = vk.RequestUnmarshal("apps.get", &response, params)
return return
@ -44,7 +44,7 @@ type AppsGetCatalogResponse struct {
// AppsGetCatalog returns a list of applications (apps) available to users in the App Catalog. // AppsGetCatalog returns a list of applications (apps) available to users in the App Catalog.
// //
// https://vk.com/dev/apps.getCatalog // https://dev.vk.com/method/apps.getCatalog
func (vk *VK) AppsGetCatalog(params Params) (response AppsGetCatalogResponse, err error) { func (vk *VK) AppsGetCatalog(params Params) (response AppsGetCatalogResponse, err error) {
err = vk.RequestUnmarshal("apps.getCatalog", &response, params) err = vk.RequestUnmarshal("apps.getCatalog", &response, params)
return return
@ -60,7 +60,7 @@ type AppsGetFriendsListResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/apps.getFriendsList // https://dev.vk.com/method/apps.getFriendsList
func (vk *VK) AppsGetFriendsList(params Params) (response AppsGetFriendsListResponse, err error) { func (vk *VK) AppsGetFriendsList(params Params) (response AppsGetFriendsListResponse, err error) {
err = vk.RequestUnmarshal("apps.getFriendsList", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("apps.getFriendsList", &response, params, Params{"extended": false})
@ -77,7 +77,7 @@ type AppsGetFriendsListExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/apps.getFriendsList // https://dev.vk.com/method/apps.getFriendsList
func (vk *VK) AppsGetFriendsListExtended(params Params) (response AppsGetFriendsListExtendedResponse, err error) { func (vk *VK) AppsGetFriendsListExtended(params Params) (response AppsGetFriendsListExtendedResponse, err error) {
err = vk.RequestUnmarshal("apps.getFriendsList", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("apps.getFriendsList", &response, params, Params{"extended": true})
@ -94,7 +94,7 @@ type AppsGetLeaderboardResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/apps.getLeaderboard // https://dev.vk.com/method/apps.getLeaderboard
func (vk *VK) AppsGetLeaderboard(params Params) (response AppsGetLeaderboardResponse, err error) { func (vk *VK) AppsGetLeaderboard(params Params) (response AppsGetLeaderboardResponse, err error) {
err = vk.RequestUnmarshal("apps.getLeaderboard", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("apps.getLeaderboard", &response, params, Params{"extended": false})
@ -115,7 +115,7 @@ type AppsGetLeaderboardExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/apps.getLeaderboard // https://dev.vk.com/method/apps.getLeaderboard
func (vk *VK) AppsGetLeaderboardExtended(params Params) (response AppsGetLeaderboardExtendedResponse, err error) { func (vk *VK) AppsGetLeaderboardExtended(params Params) (response AppsGetLeaderboardExtendedResponse, err error) {
err = vk.RequestUnmarshal("apps.getLeaderboard", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("apps.getLeaderboard", &response, params, Params{"extended": true})
@ -132,7 +132,7 @@ type AppsGetScopesResponse struct {
// //
// TODO: write docs. // TODO: write docs.
// //
// https://vk.com/dev/apps.getScopes // https://dev.vk.com/method/apps.getScopes
func (vk *VK) AppsGetScopes(params Params) (response AppsGetScopesResponse, err error) { func (vk *VK) AppsGetScopes(params Params) (response AppsGetScopesResponse, err error) {
err = vk.RequestUnmarshal("apps.getScopes", &response, params) err = vk.RequestUnmarshal("apps.getScopes", &response, params)
return return
@ -142,7 +142,7 @@ func (vk *VK) AppsGetScopes(params Params) (response AppsGetScopesResponse, err
// //
// NOTE: vk wtf!? // NOTE: vk wtf!?
// //
// https://vk.com/dev/apps.getScore // https://dev.vk.com/method/apps.getScore
func (vk *VK) AppsGetScore(params Params) (response string, err error) { func (vk *VK) AppsGetScore(params Params) (response string, err error) {
err = vk.RequestUnmarshal("apps.getScore", &response, params) err = vk.RequestUnmarshal("apps.getScore", &response, params)
return return
@ -153,7 +153,7 @@ type AppsGetTestingGroupsResponse []object.AppsTestingGroup
// AppsGetTestingGroups method. // AppsGetTestingGroups method.
// //
// https://vk.com/dev/apps.getTestingGroups // https://dev.vk.com/method/apps.getTestingGroups
func (vk *VK) AppsGetTestingGroups(params Params) (response AppsGetTestingGroupsResponse, err error) { func (vk *VK) AppsGetTestingGroups(params Params) (response AppsGetTestingGroupsResponse, err error) {
err = vk.RequestUnmarshal("apps.getTestingGroups", &response, params) err = vk.RequestUnmarshal("apps.getTestingGroups", &response, params)
return return
@ -161,7 +161,7 @@ func (vk *VK) AppsGetTestingGroups(params Params) (response AppsGetTestingGroups
// AppsRemoveTestingGroup method. // AppsRemoveTestingGroup method.
// //
// https://vk.com/dev/apps.removeTestingGroup // https://dev.vk.com/method/apps.removeTestingGroup
func (vk *VK) AppsRemoveTestingGroup(params Params) (response int, err error) { func (vk *VK) AppsRemoveTestingGroup(params Params) (response int, err error) {
err = vk.RequestUnmarshal("apps.removeTestingGroup", &response, params) err = vk.RequestUnmarshal("apps.removeTestingGroup", &response, params)
return return
@ -169,7 +169,7 @@ func (vk *VK) AppsRemoveTestingGroup(params Params) (response int, err error) {
// AppsRemoveUsersFromTestingGroups method. // AppsRemoveUsersFromTestingGroups method.
// //
// https://vk.com/dev/apps.removeUsersFromTestingGroups // https://dev.vk.com/method/apps.removeUsersFromTestingGroups
func (vk *VK) AppsRemoveUsersFromTestingGroups(params Params) (response int, err error) { func (vk *VK) AppsRemoveUsersFromTestingGroups(params Params) (response int, err error) {
err = vk.RequestUnmarshal("apps.removeUsersFromTestingGroups", &response, params) err = vk.RequestUnmarshal("apps.removeUsersFromTestingGroups", &response, params)
return return
@ -177,7 +177,7 @@ func (vk *VK) AppsRemoveUsersFromTestingGroups(params Params) (response int, err
// AppsSendRequest sends a request to another user in an app that uses VK authorization. // AppsSendRequest sends a request to another user in an app that uses VK authorization.
// //
// https://vk.com/dev/apps.sendRequest // https://dev.vk.com/method/apps.sendRequest
func (vk *VK) AppsSendRequest(params Params) (response int, err error) { func (vk *VK) AppsSendRequest(params Params) (response int, err error) {
err = vk.RequestUnmarshal("apps.sendRequest", &response, params) err = vk.RequestUnmarshal("apps.sendRequest", &response, params)
return return
@ -190,7 +190,7 @@ type AppsUpdateMetaForTestingGroupResponse struct {
// AppsUpdateMetaForTestingGroup method. // AppsUpdateMetaForTestingGroup method.
// //
// https://vk.com/dev/apps.updateMetaForTestingGroup // https://dev.vk.com/method/apps.updateMetaForTestingGroup
func (vk *VK) AppsUpdateMetaForTestingGroup(params Params) (response AppsUpdateMetaForTestingGroupResponse, err error) { func (vk *VK) AppsUpdateMetaForTestingGroup(params Params) (response AppsUpdateMetaForTestingGroupResponse, err error) {
err = vk.RequestUnmarshal("apps.updateMetaForTestingGroup", &response, params) err = vk.RequestUnmarshal("apps.updateMetaForTestingGroup", &response, params)
return return

View File

@ -12,7 +12,7 @@ type AppWidgetsGetAppImageUploadServerResponse struct {
// AppWidgetsGetAppImageUploadServer returns a URL for uploading a // AppWidgetsGetAppImageUploadServer returns a URL for uploading a
// photo to the app collection for community app widgets. // photo to the app collection for community app widgets.
// //
// https://vk.com/dev/appWidgets.getAppImageUploadServer // https://dev.vk.com/method/appWidgets.getAppImageUploadServer
func (vk *VK) AppWidgetsGetAppImageUploadServer(params Params) ( func (vk *VK) AppWidgetsGetAppImageUploadServer(params Params) (
response AppWidgetsGetAppImageUploadServerResponse, response AppWidgetsGetAppImageUploadServerResponse,
err error, err error,
@ -29,7 +29,7 @@ type AppWidgetsGetAppImagesResponse struct {
// AppWidgetsGetAppImages returns an app collection of images for community app widgets. // AppWidgetsGetAppImages returns an app collection of images for community app widgets.
// //
// https://vk.com/dev/appWidgets.getAppImages // https://dev.vk.com/method/appWidgets.getAppImages
func (vk *VK) AppWidgetsGetAppImages(params Params) (response AppWidgetsGetAppImagesResponse, err error) { func (vk *VK) AppWidgetsGetAppImages(params Params) (response AppWidgetsGetAppImagesResponse, err error) {
err = vk.RequestUnmarshal("appWidgets.getAppImages", &response, params) err = vk.RequestUnmarshal("appWidgets.getAppImages", &response, params)
return return
@ -43,7 +43,7 @@ type AppWidgetsGetGroupImageUploadServerResponse struct {
// AppWidgetsGetGroupImageUploadServer returns a URL for uploading // AppWidgetsGetGroupImageUploadServer returns a URL for uploading
// a photo to the community collection for community app widgets. // a photo to the community collection for community app widgets.
// //
// https://vk.com/dev/appWidgets.getGroupImageUploadServer // https://dev.vk.com/method/appWidgets.getGroupImageUploadServer
func (vk *VK) AppWidgetsGetGroupImageUploadServer(params Params) ( func (vk *VK) AppWidgetsGetGroupImageUploadServer(params Params) (
response AppWidgetsGetGroupImageUploadServerResponse, response AppWidgetsGetGroupImageUploadServerResponse,
err error, err error,
@ -60,7 +60,7 @@ type AppWidgetsGetGroupImagesResponse struct {
// AppWidgetsGetGroupImages returns a community collection of images for community app widgets. // AppWidgetsGetGroupImages returns a community collection of images for community app widgets.
// //
// https://vk.com/dev/appWidgets.getGroupImages // https://dev.vk.com/method/appWidgets.getGroupImages
func (vk *VK) AppWidgetsGetGroupImages(params Params) (response AppWidgetsGetGroupImagesResponse, err error) { func (vk *VK) AppWidgetsGetGroupImages(params Params) (response AppWidgetsGetGroupImagesResponse, err error) {
err = vk.RequestUnmarshal("appWidgets.getGroupImages", &response, params) err = vk.RequestUnmarshal("appWidgets.getGroupImages", &response, params)
return return
@ -68,7 +68,7 @@ func (vk *VK) AppWidgetsGetGroupImages(params Params) (response AppWidgetsGetGro
// AppWidgetsGetImagesByID returns an image for community app widgets by its ID. // AppWidgetsGetImagesByID returns an image for community app widgets by its ID.
// //
// https://vk.com/dev/appWidgets.getImagesById // https://dev.vk.com/method/appWidgets.getImagesById
func (vk *VK) AppWidgetsGetImagesByID(params Params) (response object.AppWidgetsImage, err error) { func (vk *VK) AppWidgetsGetImagesByID(params Params) (response object.AppWidgetsImage, err error) {
err = vk.RequestUnmarshal("appWidgets.getImagesById", &response, params) err = vk.RequestUnmarshal("appWidgets.getImagesById", &response, params)
return return
@ -76,7 +76,7 @@ func (vk *VK) AppWidgetsGetImagesByID(params Params) (response object.AppWidgets
// AppWidgetsSaveAppImage allows to save image into app collection for community app widgets. // AppWidgetsSaveAppImage allows to save image into app collection for community app widgets.
// //
// https://vk.com/dev/appWidgets.saveAppImage // https://dev.vk.com/method/appWidgets.saveAppImage
func (vk *VK) AppWidgetsSaveAppImage(params Params) (response object.AppWidgetsImage, err error) { func (vk *VK) AppWidgetsSaveAppImage(params Params) (response object.AppWidgetsImage, err error) {
err = vk.RequestUnmarshal("appWidgets.saveAppImage", &response, params) err = vk.RequestUnmarshal("appWidgets.saveAppImage", &response, params)
return return
@ -84,7 +84,7 @@ func (vk *VK) AppWidgetsSaveAppImage(params Params) (response object.AppWidgetsI
// AppWidgetsSaveGroupImage allows to save image into community collection for community app widgets. // AppWidgetsSaveGroupImage allows to save image into community collection for community app widgets.
// //
// https://vk.com/dev/appWidgets.saveGroupImage // https://dev.vk.com/method/appWidgets.saveGroupImage
func (vk *VK) AppWidgetsSaveGroupImage(params Params) (response object.AppWidgetsImage, err error) { func (vk *VK) AppWidgetsSaveGroupImage(params Params) (response object.AppWidgetsImage, err error) {
err = vk.RequestUnmarshal("appWidgets.saveGroupImage", &response, params) err = vk.RequestUnmarshal("appWidgets.saveGroupImage", &response, params)
return return
@ -92,7 +92,7 @@ func (vk *VK) AppWidgetsSaveGroupImage(params Params) (response object.AppWidget
// AppWidgetsUpdate allows to update community app widget. // AppWidgetsUpdate allows to update community app widget.
// //
// https://vk.com/dev/appWidgets.update // https://dev.vk.com/method/appWidgets.update
func (vk *VK) AppWidgetsUpdate(params Params) (response int, err error) { func (vk *VK) AppWidgetsUpdate(params Params) (response int, err error) {
err = vk.RequestUnmarshal("appWidgets.update", &response, params) err = vk.RequestUnmarshal("appWidgets.update", &response, params)

View File

@ -6,7 +6,7 @@ import (
// AuthCheckPhone checks a user's phone number for correctness. // AuthCheckPhone checks a user's phone number for correctness.
// //
// https://vk.com/dev/auth.checkPhone // https://dev.vk.com/method/auth.checkPhone
// //
// Deprecated: This method is deprecated and may be disabled soon, please avoid // Deprecated: This method is deprecated and may be disabled soon, please avoid
// using it. // using it.
@ -23,7 +23,7 @@ type AuthRestoreResponse struct {
// AuthRestore allows to restore account access using a code received via SMS. // AuthRestore allows to restore account access using a code received via SMS.
// //
// https://vk.com/dev/auth.restore // https://dev.vk.com/method/auth.restore
func (vk *VK) AuthRestore(params Params) (response AuthRestoreResponse, err error) { func (vk *VK) AuthRestore(params Params) (response AuthRestoreResponse, err error) {
err = vk.RequestUnmarshal("auth.restore", &response, params) err = vk.RequestUnmarshal("auth.restore", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// BoardAddTopic creates a new topic on a community's discussion board. // BoardAddTopic creates a new topic on a community's discussion board.
// //
// https://vk.com/dev/board.addTopic // https://dev.vk.com/method/board.addTopic
func (vk *VK) BoardAddTopic(params Params) (response int, err error) { func (vk *VK) BoardAddTopic(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.addTopic", &response, params) err = vk.RequestUnmarshal("board.addTopic", &response, params)
return return
@ -14,7 +14,7 @@ func (vk *VK) BoardAddTopic(params Params) (response int, err error) {
// BoardCloseTopic closes a topic on a community's discussion board so that comments cannot be posted. // BoardCloseTopic closes a topic on a community's discussion board so that comments cannot be posted.
// //
// https://vk.com/dev/board.closeTopic // https://dev.vk.com/method/board.closeTopic
func (vk *VK) BoardCloseTopic(params Params) (response int, err error) { func (vk *VK) BoardCloseTopic(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.closeTopic", &response, params) err = vk.RequestUnmarshal("board.closeTopic", &response, params)
return return
@ -22,7 +22,7 @@ func (vk *VK) BoardCloseTopic(params Params) (response int, err error) {
// BoardCreateComment adds a comment on a topic on a community's discussion board. // BoardCreateComment adds a comment on a topic on a community's discussion board.
// //
// https://vk.com/dev/board.createComment // https://dev.vk.com/method/board.createComment
func (vk *VK) BoardCreateComment(params Params) (response int, err error) { func (vk *VK) BoardCreateComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.createComment", &response, params) err = vk.RequestUnmarshal("board.createComment", &response, params)
return return
@ -30,7 +30,7 @@ func (vk *VK) BoardCreateComment(params Params) (response int, err error) {
// BoardDeleteComment deletes a comment on a topic on a community's discussion board. // BoardDeleteComment deletes a comment on a topic on a community's discussion board.
// //
// https://vk.com/dev/board.deleteComment // https://dev.vk.com/method/board.deleteComment
func (vk *VK) BoardDeleteComment(params Params) (response int, err error) { func (vk *VK) BoardDeleteComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.deleteComment", &response, params) err = vk.RequestUnmarshal("board.deleteComment", &response, params)
return return
@ -38,7 +38,7 @@ func (vk *VK) BoardDeleteComment(params Params) (response int, err error) {
// BoardDeleteTopic deletes a topic from a community's discussion board. // BoardDeleteTopic deletes a topic from a community's discussion board.
// //
// https://vk.com/dev/board.deleteTopic // https://dev.vk.com/method/board.deleteTopic
func (vk *VK) BoardDeleteTopic(params Params) (response int, err error) { func (vk *VK) BoardDeleteTopic(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.deleteTopic", &response, params) err = vk.RequestUnmarshal("board.deleteTopic", &response, params)
return return
@ -46,7 +46,7 @@ func (vk *VK) BoardDeleteTopic(params Params) (response int, err error) {
// BoardEditComment edits a comment on a topic on a community's discussion board. // BoardEditComment edits a comment on a topic on a community's discussion board.
// //
// https://vk.com/dev/board.editComment // https://dev.vk.com/method/board.editComment
func (vk *VK) BoardEditComment(params Params) (response int, err error) { func (vk *VK) BoardEditComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.editComment", &response, params) err = vk.RequestUnmarshal("board.editComment", &response, params)
return return
@ -54,7 +54,7 @@ func (vk *VK) BoardEditComment(params Params) (response int, err error) {
// BoardEditTopic edits the title of a topic on a community's discussion board. // BoardEditTopic edits the title of a topic on a community's discussion board.
// //
// https://vk.com/dev/board.editTopic // https://dev.vk.com/method/board.editTopic
func (vk *VK) BoardEditTopic(params Params) (response int, err error) { func (vk *VK) BoardEditTopic(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.editTopic", &response, params) err = vk.RequestUnmarshal("board.editTopic", &response, params)
return return
@ -62,7 +62,7 @@ func (vk *VK) BoardEditTopic(params Params) (response int, err error) {
// BoardFixTopic pins a topic (fixes its place) to the top of a community's discussion board. // BoardFixTopic pins a topic (fixes its place) to the top of a community's discussion board.
// //
// https://vk.com/dev/board.fixTopic // https://dev.vk.com/method/board.fixTopic
func (vk *VK) BoardFixTopic(params Params) (response int, err error) { func (vk *VK) BoardFixTopic(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.fixTopic", &response, params) err = vk.RequestUnmarshal("board.fixTopic", &response, params)
return return
@ -80,7 +80,7 @@ type BoardGetCommentsResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/board.getComments // https://dev.vk.com/method/board.getComments
func (vk *VK) BoardGetComments(params Params) (response BoardGetCommentsResponse, err error) { func (vk *VK) BoardGetComments(params Params) (response BoardGetCommentsResponse, err error) {
err = vk.RequestUnmarshal("board.getComments", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("board.getComments", &response, params, Params{"extended": false})
@ -101,7 +101,7 @@ type BoardGetCommentsExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/board.getComments // https://dev.vk.com/method/board.getComments
func (vk *VK) BoardGetCommentsExtended(params Params) (response BoardGetCommentsExtendedResponse, err error) { func (vk *VK) BoardGetCommentsExtended(params Params) (response BoardGetCommentsExtendedResponse, err error) {
err = vk.RequestUnmarshal("board.getComments", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("board.getComments", &response, params, Params{"extended": true})
@ -120,7 +120,7 @@ type BoardGetTopicsResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/board.getTopics // https://dev.vk.com/method/board.getTopics
func (vk *VK) BoardGetTopics(params Params) (response BoardGetTopicsResponse, err error) { func (vk *VK) BoardGetTopics(params Params) (response BoardGetTopicsResponse, err error) {
err = vk.RequestUnmarshal("board.getTopics", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("board.getTopics", &response, params, Params{"extended": false})
@ -141,7 +141,7 @@ type BoardGetTopicsExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/board.getTopics // https://dev.vk.com/method/board.getTopics
func (vk *VK) BoardGetTopicsExtended(params Params) (response BoardGetTopicsExtendedResponse, err error) { func (vk *VK) BoardGetTopicsExtended(params Params) (response BoardGetTopicsExtendedResponse, err error) {
err = vk.RequestUnmarshal("board.getTopics", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("board.getTopics", &response, params, Params{"extended": true})
@ -150,7 +150,7 @@ func (vk *VK) BoardGetTopicsExtended(params Params) (response BoardGetTopicsExte
// BoardOpenTopic re-opens a previously closed topic on a community's discussion board. // BoardOpenTopic re-opens a previously closed topic on a community's discussion board.
// //
// https://vk.com/dev/board.openTopic // https://dev.vk.com/method/board.openTopic
func (vk *VK) BoardOpenTopic(params Params) (response int, err error) { func (vk *VK) BoardOpenTopic(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.openTopic", &response, params) err = vk.RequestUnmarshal("board.openTopic", &response, params)
return return
@ -158,7 +158,7 @@ func (vk *VK) BoardOpenTopic(params Params) (response int, err error) {
// BoardRestoreComment restores a comment deleted from a topic on a community's discussion board. // BoardRestoreComment restores a comment deleted from a topic on a community's discussion board.
// //
// https://vk.com/dev/board.restoreComment // https://dev.vk.com/method/board.restoreComment
func (vk *VK) BoardRestoreComment(params Params) (response int, err error) { func (vk *VK) BoardRestoreComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.restoreComment", &response, params) err = vk.RequestUnmarshal("board.restoreComment", &response, params)
return return
@ -166,7 +166,7 @@ func (vk *VK) BoardRestoreComment(params Params) (response int, err error) {
// BoardUnfixTopic unpins a pinned topic from the top of a community's discussion board. // BoardUnfixTopic unpins a pinned topic from the top of a community's discussion board.
// //
// https://vk.com/dev/board.unfixTopic // https://dev.vk.com/method/board.unfixTopic
func (vk *VK) BoardUnfixTopic(params Params) (response int, err error) { func (vk *VK) BoardUnfixTopic(params Params) (response int, err error) {
err = vk.RequestUnmarshal("board.unfixTopic", &response, params) err = vk.RequestUnmarshal("board.unfixTopic", &response, params)
return return

View File

@ -8,7 +8,7 @@ type CallsStartResponse struct {
// CallsStart method. // CallsStart method.
// //
// https://vk.com/dev/calls.start // https://dev.vk.com/method/calls.start
func (vk *VK) CallsStart(params Params) (response CallsStartResponse, err error) { func (vk *VK) CallsStart(params Params) (response CallsStartResponse, err error) {
err = vk.RequestUnmarshal("calls.start", &response, params) err = vk.RequestUnmarshal("calls.start", &response, params)
return return
@ -16,7 +16,7 @@ func (vk *VK) CallsStart(params Params) (response CallsStartResponse, err error)
// CallsForceFinish method. // CallsForceFinish method.
// //
// https://vk.com/dev/calls.forceFinish // https://dev.vk.com/method/calls.forceFinish
func (vk *VK) CallsForceFinish(params Params) (response int, err error) { func (vk *VK) CallsForceFinish(params Params) (response int, err error) {
err = vk.RequestUnmarshal("calls.forceFinish", &response, params) err = vk.RequestUnmarshal("calls.forceFinish", &response, params)
return return

View File

@ -12,7 +12,7 @@ type DatabaseGetChairsResponse struct {
// DatabaseGetChairs returns list of chairs on a specified faculty. // DatabaseGetChairs returns list of chairs on a specified faculty.
// //
// https://vk.com/dev/database.getChairs // https://dev.vk.com/method/database.getChairs
func (vk *VK) DatabaseGetChairs(params Params) (response DatabaseGetChairsResponse, err error) { func (vk *VK) DatabaseGetChairs(params Params) (response DatabaseGetChairsResponse, err error) {
err = vk.RequestUnmarshal("database.getChairs", &response, params) err = vk.RequestUnmarshal("database.getChairs", &response, params)
return return
@ -26,7 +26,7 @@ type DatabaseGetCitiesResponse struct {
// DatabaseGetCities returns a list of cities. // DatabaseGetCities returns a list of cities.
// //
// https://vk.com/dev/database.getCities // https://dev.vk.com/method/database.getCities
func (vk *VK) DatabaseGetCities(params Params) (response DatabaseGetCitiesResponse, err error) { func (vk *VK) DatabaseGetCities(params Params) (response DatabaseGetCitiesResponse, err error) {
err = vk.RequestUnmarshal("database.getCities", &response, params) err = vk.RequestUnmarshal("database.getCities", &response, params)
return return
@ -37,7 +37,7 @@ type DatabaseGetCitiesByIDResponse []object.DatabaseCity
// DatabaseGetCitiesByID returns information about cities by their IDs. // DatabaseGetCitiesByID returns information about cities by their IDs.
// //
// https://vk.com/dev/database.getCitiesByID // https://dev.vk.com/method/database.getCitiesByID
func (vk *VK) DatabaseGetCitiesByID(params Params) (response DatabaseGetCitiesByIDResponse, err error) { func (vk *VK) DatabaseGetCitiesByID(params Params) (response DatabaseGetCitiesByIDResponse, err error) {
err = vk.RequestUnmarshal("database.getCitiesById", &response, params) err = vk.RequestUnmarshal("database.getCitiesById", &response, params)
return return
@ -51,7 +51,7 @@ type DatabaseGetCountriesResponse struct {
// DatabaseGetCountries returns a list of countries. // DatabaseGetCountries returns a list of countries.
// //
// https://vk.com/dev/database.getCountries // https://dev.vk.com/method/database.getCountries
func (vk *VK) DatabaseGetCountries(params Params) (response DatabaseGetCountriesResponse, err error) { func (vk *VK) DatabaseGetCountries(params Params) (response DatabaseGetCountriesResponse, err error) {
err = vk.RequestUnmarshal("database.getCountries", &response, params) err = vk.RequestUnmarshal("database.getCountries", &response, params)
return return
@ -62,7 +62,7 @@ type DatabaseGetCountriesByIDResponse []object.BaseObject
// DatabaseGetCountriesByID returns information about countries by their IDs. // DatabaseGetCountriesByID returns information about countries by their IDs.
// //
// https://vk.com/dev/database.getCountriesByID // https://dev.vk.com/method/database.getCountriesByID
func (vk *VK) DatabaseGetCountriesByID(params Params) (response DatabaseGetCountriesByIDResponse, err error) { func (vk *VK) DatabaseGetCountriesByID(params Params) (response DatabaseGetCountriesByIDResponse, err error) {
err = vk.RequestUnmarshal("database.getCountriesById", &response, params) err = vk.RequestUnmarshal("database.getCountriesById", &response, params)
return return
@ -76,7 +76,7 @@ type DatabaseGetFacultiesResponse struct {
// DatabaseGetFaculties returns a list of faculties (i.e., university departments). // DatabaseGetFaculties returns a list of faculties (i.e., university departments).
// //
// https://vk.com/dev/database.getFaculties // https://dev.vk.com/method/database.getFaculties
func (vk *VK) DatabaseGetFaculties(params Params) (response DatabaseGetFacultiesResponse, err error) { func (vk *VK) DatabaseGetFaculties(params Params) (response DatabaseGetFacultiesResponse, err error) {
err = vk.RequestUnmarshal("database.getFaculties", &response, params) err = vk.RequestUnmarshal("database.getFaculties", &response, params)
return return
@ -90,7 +90,7 @@ type DatabaseGetMetroStationsResponse struct {
// DatabaseGetMetroStations returns the list of metro stations. // DatabaseGetMetroStations returns the list of metro stations.
// //
// https://vk.com/dev/database.getMetroStations // https://dev.vk.com/method/database.getMetroStations
func (vk *VK) DatabaseGetMetroStations(params Params) (response DatabaseGetMetroStationsResponse, err error) { func (vk *VK) DatabaseGetMetroStations(params Params) (response DatabaseGetMetroStationsResponse, err error) {
err = vk.RequestUnmarshal("database.getMetroStations", &response, params) err = vk.RequestUnmarshal("database.getMetroStations", &response, params)
return return
@ -101,7 +101,7 @@ type DatabaseGetMetroStationsByIDResponse []object.DatabaseMetroStation
// DatabaseGetMetroStationsByID returns information about one or several metro stations by their identifiers. // DatabaseGetMetroStationsByID returns information about one or several metro stations by their identifiers.
// //
// https://vk.com/dev/database.getMetroStationsById // https://dev.vk.com/method/database.getMetroStationsById
func (vk *VK) DatabaseGetMetroStationsByID(params Params) (response DatabaseGetMetroStationsByIDResponse, err error) { func (vk *VK) DatabaseGetMetroStationsByID(params Params) (response DatabaseGetMetroStationsByIDResponse, err error) {
err = vk.RequestUnmarshal("database.getMetroStationsById", &response, params) err = vk.RequestUnmarshal("database.getMetroStationsById", &response, params)
return return
@ -115,7 +115,7 @@ type DatabaseGetRegionsResponse struct {
// DatabaseGetRegions returns a list of regions. // DatabaseGetRegions returns a list of regions.
// //
// https://vk.com/dev/database.getRegions // https://dev.vk.com/method/database.getRegions
func (vk *VK) DatabaseGetRegions(params Params) (response DatabaseGetRegionsResponse, err error) { func (vk *VK) DatabaseGetRegions(params Params) (response DatabaseGetRegionsResponse, err error) {
err = vk.RequestUnmarshal("database.getRegions", &response, params) err = vk.RequestUnmarshal("database.getRegions", &response, params)
return return
@ -128,7 +128,7 @@ type DatabaseGetSchoolClassesResponse [][]interface{}
// //
// BUG(VK): database.getSchoolClasses bad return. // BUG(VK): database.getSchoolClasses bad return.
// //
// https://vk.com/dev/database.getSchoolClasses // https://dev.vk.com/method/database.getSchoolClasses
func (vk *VK) DatabaseGetSchoolClasses(params Params) (response DatabaseGetSchoolClassesResponse, err error) { func (vk *VK) DatabaseGetSchoolClasses(params Params) (response DatabaseGetSchoolClassesResponse, err error) {
err = vk.RequestUnmarshal("database.getSchoolClasses", &response, params) err = vk.RequestUnmarshal("database.getSchoolClasses", &response, params)
return return
@ -142,7 +142,7 @@ type DatabaseGetSchoolsResponse struct {
// DatabaseGetSchools returns a list of schools. // DatabaseGetSchools returns a list of schools.
// //
// https://vk.com/dev/database.getSchools // https://dev.vk.com/method/database.getSchools
func (vk *VK) DatabaseGetSchools(params Params) (response DatabaseGetSchoolsResponse, err error) { func (vk *VK) DatabaseGetSchools(params Params) (response DatabaseGetSchoolsResponse, err error) {
err = vk.RequestUnmarshal("database.getSchools", &response, params) err = vk.RequestUnmarshal("database.getSchools", &response, params)
return return
@ -156,7 +156,7 @@ type DatabaseGetUniversitiesResponse struct {
// DatabaseGetUniversities returns a list of higher education institutions. // DatabaseGetUniversities returns a list of higher education institutions.
// //
// https://vk.com/dev/database.getUniversities // https://dev.vk.com/method/database.getUniversities
func (vk *VK) DatabaseGetUniversities(params Params) (response DatabaseGetUniversitiesResponse, err error) { func (vk *VK) DatabaseGetUniversities(params Params) (response DatabaseGetUniversitiesResponse, err error) {
err = vk.RequestUnmarshal("database.getUniversities", &response, params) err = vk.RequestUnmarshal("database.getUniversities", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// DocsAdd copies a document to a user's or community's document list. // DocsAdd copies a document to a user's or community's document list.
// //
// https://vk.com/dev/docs.add // https://dev.vk.com/method/docs.add
func (vk *VK) DocsAdd(params Params) (response int, err error) { func (vk *VK) DocsAdd(params Params) (response int, err error) {
err = vk.RequestUnmarshal("docs.add", &response, params) err = vk.RequestUnmarshal("docs.add", &response, params)
return return
@ -14,7 +14,7 @@ func (vk *VK) DocsAdd(params Params) (response int, err error) {
// DocsDelete deletes a user or community document. // DocsDelete deletes a user or community document.
// //
// https://vk.com/dev/docs.delete // https://dev.vk.com/method/docs.delete
func (vk *VK) DocsDelete(params Params) (response int, err error) { func (vk *VK) DocsDelete(params Params) (response int, err error) {
err = vk.RequestUnmarshal("docs.delete", &response, params) err = vk.RequestUnmarshal("docs.delete", &response, params)
return return
@ -22,7 +22,7 @@ func (vk *VK) DocsDelete(params Params) (response int, err error) {
// DocsEdit edits a document. // DocsEdit edits a document.
// //
// https://vk.com/dev/docs.edit // https://dev.vk.com/method/docs.edit
func (vk *VK) DocsEdit(params Params) (response int, err error) { func (vk *VK) DocsEdit(params Params) (response int, err error) {
err = vk.RequestUnmarshal("docs.edit", &response, params) err = vk.RequestUnmarshal("docs.edit", &response, params)
return return
@ -36,7 +36,7 @@ type DocsGetResponse struct {
// DocsGet returns detailed information about user or community documents. // DocsGet returns detailed information about user or community documents.
// //
// https://vk.com/dev/docs.get // https://dev.vk.com/method/docs.get
func (vk *VK) DocsGet(params Params) (response DocsGetResponse, err error) { func (vk *VK) DocsGet(params Params) (response DocsGetResponse, err error) {
err = vk.RequestUnmarshal("docs.get", &response, params) err = vk.RequestUnmarshal("docs.get", &response, params)
return return
@ -47,7 +47,7 @@ type DocsGetByIDResponse []object.DocsDoc
// DocsGetByID returns information about documents by their IDs. // DocsGetByID returns information about documents by their IDs.
// //
// https://vk.com/dev/docs.getById // https://dev.vk.com/method/docs.getById
func (vk *VK) DocsGetByID(params Params) (response DocsGetByIDResponse, err error) { func (vk *VK) DocsGetByID(params Params) (response DocsGetByIDResponse, err error) {
err = vk.RequestUnmarshal("docs.getById", &response, params) err = vk.RequestUnmarshal("docs.getById", &response, params)
return return
@ -60,7 +60,7 @@ type DocsGetMessagesUploadServerResponse struct {
// DocsGetMessagesUploadServer returns the server address for document upload. // DocsGetMessagesUploadServer returns the server address for document upload.
// //
// https://vk.com/dev/docs.getMessagesUploadServer // https://dev.vk.com/method/docs.getMessagesUploadServer
func (vk *VK) DocsGetMessagesUploadServer(params Params) (response DocsGetMessagesUploadServerResponse, err error) { func (vk *VK) DocsGetMessagesUploadServer(params Params) (response DocsGetMessagesUploadServerResponse, err error) {
err = vk.RequestUnmarshal("docs.getMessagesUploadServer", &response, params) err = vk.RequestUnmarshal("docs.getMessagesUploadServer", &response, params)
return return
@ -74,7 +74,7 @@ type DocsGetTypesResponse struct {
// DocsGetTypes returns documents types available for current user. // DocsGetTypes returns documents types available for current user.
// //
// https://vk.com/dev/docs.getTypes // https://dev.vk.com/method/docs.getTypes
func (vk *VK) DocsGetTypes(params Params) (response DocsGetTypesResponse, err error) { func (vk *VK) DocsGetTypes(params Params) (response DocsGetTypesResponse, err error) {
err = vk.RequestUnmarshal("docs.getTypes", &response, params) err = vk.RequestUnmarshal("docs.getTypes", &response, params)
return return
@ -87,7 +87,7 @@ type DocsGetUploadServerResponse struct {
// DocsGetUploadServer returns the server address for document upload. // DocsGetUploadServer returns the server address for document upload.
// //
// https://vk.com/dev/docs.getUploadServer // https://dev.vk.com/method/docs.getUploadServer
func (vk *VK) DocsGetUploadServer(params Params) (response DocsGetUploadServerResponse, err error) { func (vk *VK) DocsGetUploadServer(params Params) (response DocsGetUploadServerResponse, err error) {
err = vk.RequestUnmarshal("docs.getUploadServer", &response, params) err = vk.RequestUnmarshal("docs.getUploadServer", &response, params)
return return
@ -100,7 +100,7 @@ type DocsGetWallUploadServerResponse struct {
// DocsGetWallUploadServer returns the server address for document upload onto a user's or community's wall. // DocsGetWallUploadServer returns the server address for document upload onto a user's or community's wall.
// //
// https://vk.com/dev/docs.getWallUploadServer // https://dev.vk.com/method/docs.getWallUploadServer
func (vk *VK) DocsGetWallUploadServer(params Params) (response DocsGetWallUploadServerResponse, err error) { func (vk *VK) DocsGetWallUploadServer(params Params) (response DocsGetWallUploadServerResponse, err error) {
err = vk.RequestUnmarshal("docs.getWallUploadServer", &response, params) err = vk.RequestUnmarshal("docs.getWallUploadServer", &response, params)
return return
@ -116,7 +116,7 @@ type DocsSaveResponse struct {
// DocsSave saves a document after uploading it to a server. // DocsSave saves a document after uploading it to a server.
// //
// https://vk.com/dev/docs.save // https://dev.vk.com/method/docs.save
func (vk *VK) DocsSave(params Params) (response DocsSaveResponse, err error) { func (vk *VK) DocsSave(params Params) (response DocsSaveResponse, err error) {
err = vk.RequestUnmarshal("docs.save", &response, params) err = vk.RequestUnmarshal("docs.save", &response, params)
return return
@ -130,7 +130,7 @@ type DocsSearchResponse struct {
// DocsSearch returns a list of documents matching the search criteria. // DocsSearch returns a list of documents matching the search criteria.
// //
// https://vk.com/dev/docs.search // https://dev.vk.com/method/docs.search
func (vk *VK) DocsSearch(params Params) (response DocsSearchResponse, err error) { func (vk *VK) DocsSearch(params Params) (response DocsSearchResponse, err error) {
err = vk.RequestUnmarshal("docs.search", &response, params) err = vk.RequestUnmarshal("docs.search", &response, params)
return return

View File

@ -10,7 +10,7 @@ type DonutGetFriendsResponse struct {
// DonutGetFriends method. // DonutGetFriends method.
// //
// https://vk.com/dev/donut.getFriends // https://dev.vk.com/method/donut.getFriends
func (vk *VK) DonutGetFriends(params Params) (response DonutGetFriendsResponse, err error) { func (vk *VK) DonutGetFriends(params Params) (response DonutGetFriendsResponse, err error) {
err = vk.RequestUnmarshal("donut.getFriends", &response, params) err = vk.RequestUnmarshal("donut.getFriends", &response, params)
return return
@ -18,7 +18,7 @@ func (vk *VK) DonutGetFriends(params Params) (response DonutGetFriendsResponse,
// DonutGetSubscription method. // DonutGetSubscription method.
// //
// https://vk.com/dev/donut.getSubscription // https://dev.vk.com/method/donut.getSubscription
func (vk *VK) DonutGetSubscription(params Params) (response object.DonutDonatorSubscriptionInfo, err error) { func (vk *VK) DonutGetSubscription(params Params) (response object.DonutDonatorSubscriptionInfo, err error) {
err = vk.RequestUnmarshal("donut.getSubscription", &response, params) err = vk.RequestUnmarshal("donut.getSubscription", &response, params)
return return
@ -34,7 +34,7 @@ type DonutGetSubscriptionsResponse struct {
// DonutGetSubscriptions method. // DonutGetSubscriptions method.
// //
// https://vk.com/dev/donut.getSubscriptions // https://dev.vk.com/method/donut.getSubscriptions
func (vk *VK) DonutGetSubscriptions(params Params) (response DonutGetSubscriptionsResponse, err error) { func (vk *VK) DonutGetSubscriptions(params Params) (response DonutGetSubscriptionsResponse, err error) {
err = vk.RequestUnmarshal("donut.getSubscriptions", &response, params) err = vk.RequestUnmarshal("donut.getSubscriptions", &response, params)
return return
@ -42,7 +42,7 @@ func (vk *VK) DonutGetSubscriptions(params Params) (response DonutGetSubscriptio
// DonutIsDon method. // DonutIsDon method.
// //
// https://vk.com/dev/donut.isDon // https://dev.vk.com/method/donut.isDon
func (vk *VK) DonutIsDon(params Params) (response int, err error) { func (vk *VK) DonutIsDon(params Params) (response int, err error) {
err = vk.RequestUnmarshal("donut.isDon", &response, params) err = vk.RequestUnmarshal("donut.isDon", &response, params)
return return

View File

@ -11,7 +11,7 @@ type DownloadedGamesGetPaidStatusResponse struct {
// DownloadedGamesGetPaidStatus method. // DownloadedGamesGetPaidStatus method.
// //
// https://vk.com/dev/downloadedGames.getPaidStatus // https://dev.vk.com/method/downloadedGames.getPaidStatus
func (vk *VK) DownloadedGamesGetPaidStatus(params Params) (response DownloadedGamesGetPaidStatusResponse, err error) { func (vk *VK) DownloadedGamesGetPaidStatus(params Params) (response DownloadedGamesGetPaidStatusResponse, err error) {
err = vk.RequestUnmarshal("downloadedGames.getPaidStatus", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("downloadedGames.getPaidStatus", &response, params, Params{"extended": false})

View File

@ -7,15 +7,17 @@ import (
"github.com/SevereCloud/vksdk/v2/object" "github.com/SevereCloud/vksdk/v2/object"
) )
const errorMessagePrefix = "api: "
// ErrorType is the type of an error. // ErrorType is the type of an error.
type ErrorType int type ErrorType int
// Error returns the message of a ErrorType. // Error returns the message of a ErrorType.
func (e ErrorType) Error() string { func (e ErrorType) Error() string {
return fmt.Sprintf("api: error with code %d", e) return fmt.Sprintf(errorMessagePrefix+"error with code %d", e)
} }
// Error codes. See https://vk.com/dev/errors // Error codes. See https://dev.vk.com/ru/reference/errors
const ( const (
ErrNoType ErrorType = 0 // NoType error ErrNoType ErrorType = 0 // NoType error
@ -46,7 +48,7 @@ const (
// //
// Decrease the request frequency or use the execute method. // Decrease the request frequency or use the execute method.
// More details on frequency limits here: // More details on frequency limits here:
// https://vk.com/dev/api_requests // https://dev.vk.com/ru/api/api-requests
ErrTooMany ErrorType = 6 ErrTooMany ErrorType = 6
// Permission to perform this action is denied // Permission to perform this action is denied
@ -54,7 +56,7 @@ const (
// Make sure that your have received required permissions during the // Make sure that your have received required permissions during the
// authorization. // authorization.
// You can do it with the account.getAppPermissions method. // You can do it with the account.getAppPermissions method.
// https://vk.com/dev/permissions // https://dev.vk.com/ru/reference/access-rights
ErrPermission ErrorType = 7 ErrPermission ErrorType = 7
// Invalid request // Invalid request
@ -90,7 +92,7 @@ const (
// Captcha needed. // Captcha needed.
// //
// See https://vk.com/dev/captcha_error // See https://dev.vk.com/ru/api/captcha-error
ErrCaptcha ErrorType = 14 ErrCaptcha ErrorType = 14
// Access denied // Access denied
@ -111,7 +113,7 @@ const (
// http://vk.com/dev/auth_mobile for a request from the server. // http://vk.com/dev/auth_mobile for a request from the server.
// It's restricted. // It's restricted.
// //
// https://vk.com/dev/need_validation // https://dev.vk.com/ru/api/validation-required-error
ErrAuthValidation ErrorType = 17 ErrAuthValidation ErrorType = 17
ErrUserDeleted ErrorType = 18 // User was deleted or banned ErrUserDeleted ErrorType = 18 // User was deleted or banned
ErrBlocked ErrorType = 19 // Content blocked ErrBlocked ErrorType = 19 // Content blocked
@ -147,7 +149,7 @@ const (
// //
// confirm = 1. // confirm = 1.
// //
// https://vk.com/dev/need_confirmation // https://dev.vk.com/ru/api/confirmation-required-error
ErrNeedConfirmation ErrorType = 24 ErrNeedConfirmation ErrorType = 24
ErrNeedTokenConfirmation ErrorType = 25 // Token confirmation required ErrNeedTokenConfirmation ErrorType = 25 // Token confirmation required
ErrGroupAuth ErrorType = 27 // Group authorization failed ErrGroupAuth ErrorType = 27 // Group authorization failed
@ -155,7 +157,7 @@ const (
// Rate limit reached. // Rate limit reached.
// //
// More details on rate limits here: https://vk.com/dev/data_limits // More details on rate limits here: https://dev.vk.com/ru/reference/roadmap
ErrRateLimit ErrorType = 29 ErrRateLimit ErrorType = 29
ErrPrivateProfile ErrorType = 30 // This profile is private ErrPrivateProfile ErrorType = 30 // This profile is private
@ -850,7 +852,7 @@ type ErrorSubtype int
// Error returns the message of a ErrorSubtype. // Error returns the message of a ErrorSubtype.
func (e ErrorSubtype) Error() string { func (e ErrorSubtype) Error() string {
return fmt.Sprintf("api: error with subcode %d", e) return fmt.Sprintf(errorMessagePrefix+"error with subcode %d", e)
} }
// Error struct VK. // Error struct VK.
@ -878,7 +880,7 @@ type Error struct {
// confirms the action repeat the request with an extra parameter: // confirms the action repeat the request with an extra parameter:
// confirm = 1. // confirm = 1.
// //
// See https://vk.com/dev/need_confirmation // See https://dev.vk.com/ru/api/confirmation-required-error
ConfirmationText string `json:"confirmation_text"` ConfirmationText string `json:"confirmation_text"`
// In some cases VK requires a user validation procedure. . As a result // In some cases VK requires a user validation procedure. . As a result
@ -910,14 +912,14 @@ type Error struct {
// //
// https://oauth.vk.com/blank.html#fail=1 // https://oauth.vk.com/blank.html#fail=1
// //
// See https://vk.com/dev/need_validation // See https://dev.vk.com/ru/api/validation-required-error
RedirectURI string `json:"redirect_uri"` RedirectURI string `json:"redirect_uri"`
RequestParams []object.BaseRequestParam `json:"request_params"` RequestParams []object.BaseRequestParam `json:"request_params"`
} }
// Error returns the message of a Error. // Error returns the message of a Error.
func (e Error) Error() string { func (e Error) Error() string {
return "api: " + e.Message return errorMessagePrefix + e.Message
} }
// Is unwraps its first argument sequentially looking for an error that matches // Is unwraps its first argument sequentially looking for an error that matches
@ -974,7 +976,7 @@ type UploadError struct {
// Error returns the message of a UploadError. // Error returns the message of a UploadError.
func (e UploadError) Error() string { func (e UploadError) Error() string {
if e.Err != "" { if e.Err != "" {
return "api: " + e.Err return errorMessagePrefix + e.Err
} }
return fmt.Sprintf("api: upload code %d", e.Code) return fmt.Sprintf("api: upload code %d", e.Code)
@ -988,7 +990,7 @@ type AdsError struct {
// Error returns the message of a AdsError. // Error returns the message of a AdsError.
func (e AdsError) Error() string { func (e AdsError) Error() string {
return "api: " + e.Desc return errorMessagePrefix + e.Desc
} }
// Is unwraps its first argument sequentially looking for an error that matches // Is unwraps its first argument sequentially looking for an error that matches
@ -1016,7 +1018,7 @@ type AuthSilentTokenError struct {
// Error returns the description of a AuthSilentTokenError. // Error returns the description of a AuthSilentTokenError.
func (e AuthSilentTokenError) Error() string { func (e AuthSilentTokenError) Error() string {
return "api: " + e.Description return errorMessagePrefix + e.Description
} }
// Is unwraps its first argument sequentially looking for an error that matches // Is unwraps its first argument sequentially looking for an error that matches

View File

@ -16,7 +16,7 @@ import (
// return Args.code; // return parameter "code" // return Args.code; // return parameter "code"
// return Args.v; // return parameter "v" // return Args.v; // return parameter "v"
// //
// https://vk.com/dev/execute // https://dev.vk.com/ru/method/execute
func (vk *VK) ExecuteWithArgs(code string, params Params, obj interface{}) error { func (vk *VK) ExecuteWithArgs(code string, params Params, obj interface{}) error {
token := vk.getToken() token := vk.getToken()
@ -56,7 +56,7 @@ func (vk *VK) ExecuteWithArgs(code string, params Params, obj interface{}) error
// Execute a universal method for calling a sequence of other methods while // Execute a universal method for calling a sequence of other methods while
// saving and filtering interim results. // saving and filtering interim results.
// //
// https://vk.com/dev/execute // https://dev.vk.com/ru/method/execute
func (vk *VK) Execute(code string, obj interface{}) error { func (vk *VK) Execute(code string, obj interface{}) error {
return vk.ExecuteWithArgs(code, Params{}, obj) return vk.ExecuteWithArgs(code, Params{}, obj)
} }

View File

@ -6,7 +6,7 @@ import (
// FaveAddArticle adds a link to user faves. // FaveAddArticle adds a link to user faves.
// //
// https://vk.com/dev/fave.addArticle // https://dev.vk.com/method/fave.addArticle
func (vk *VK) FaveAddArticle(params Params) (response int, err error) { func (vk *VK) FaveAddArticle(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.addArticle", &response, params) err = vk.RequestUnmarshal("fave.addArticle", &response, params)
return return
@ -14,7 +14,7 @@ func (vk *VK) FaveAddArticle(params Params) (response int, err error) {
// FaveAddLink adds a link to user faves. // FaveAddLink adds a link to user faves.
// //
// https://vk.com/dev/fave.addLink // https://dev.vk.com/method/fave.addLink
func (vk *VK) FaveAddLink(params Params) (response int, err error) { func (vk *VK) FaveAddLink(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.addLink", &response, params) err = vk.RequestUnmarshal("fave.addLink", &response, params)
return return
@ -22,7 +22,7 @@ func (vk *VK) FaveAddLink(params Params) (response int, err error) {
// FaveAddPage method. // FaveAddPage method.
// //
// https://vk.com/dev/fave.addPage // https://dev.vk.com/method/fave.addPage
func (vk *VK) FaveAddPage(params Params) (response int, err error) { func (vk *VK) FaveAddPage(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.addPage", &response, params) err = vk.RequestUnmarshal("fave.addPage", &response, params)
return return
@ -30,7 +30,7 @@ func (vk *VK) FaveAddPage(params Params) (response int, err error) {
// FaveAddPost method. // FaveAddPost method.
// //
// https://vk.com/dev/fave.addPost // https://dev.vk.com/method/fave.addPost
func (vk *VK) FaveAddPost(params Params) (response int, err error) { func (vk *VK) FaveAddPost(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.addPost", &response, params) err = vk.RequestUnmarshal("fave.addPost", &response, params)
return return
@ -38,7 +38,7 @@ func (vk *VK) FaveAddPost(params Params) (response int, err error) {
// FaveAddProduct method. // FaveAddProduct method.
// //
// https://vk.com/dev/fave.addProduct // https://dev.vk.com/method/fave.addProduct
func (vk *VK) FaveAddProduct(params Params) (response int, err error) { func (vk *VK) FaveAddProduct(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.addProduct", &response, params) err = vk.RequestUnmarshal("fave.addProduct", &response, params)
return return
@ -49,7 +49,7 @@ type FaveAddTagResponse object.FaveTag
// FaveAddTag method. // FaveAddTag method.
// //
// https://vk.com/dev/fave.addTag // https://dev.vk.com/method/fave.addTag
func (vk *VK) FaveAddTag(params Params) (response FaveAddTagResponse, err error) { func (vk *VK) FaveAddTag(params Params) (response FaveAddTagResponse, err error) {
err = vk.RequestUnmarshal("fave.addTag", &response, params) err = vk.RequestUnmarshal("fave.addTag", &response, params)
return return
@ -57,7 +57,7 @@ func (vk *VK) FaveAddTag(params Params) (response FaveAddTagResponse, err error)
// FaveAddVideo method. // FaveAddVideo method.
// //
// https://vk.com/dev/fave.addVideo // https://dev.vk.com/method/fave.addVideo
func (vk *VK) FaveAddVideo(params Params) (response int, err error) { func (vk *VK) FaveAddVideo(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.addVideo", &response, params) err = vk.RequestUnmarshal("fave.addVideo", &response, params)
return return
@ -65,7 +65,7 @@ func (vk *VK) FaveAddVideo(params Params) (response int, err error) {
// FaveEditTag method. // FaveEditTag method.
// //
// https://vk.com/dev/fave.editTag // https://dev.vk.com/method/fave.editTag
func (vk *VK) FaveEditTag(params Params) (response int, err error) { func (vk *VK) FaveEditTag(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.editTag", &response, params) err = vk.RequestUnmarshal("fave.editTag", &response, params)
return return
@ -81,7 +81,7 @@ type FaveGetResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/fave.get // https://dev.vk.com/method/fave.get
func (vk *VK) FaveGet(params Params) (response FaveGetResponse, err error) { func (vk *VK) FaveGet(params Params) (response FaveGetResponse, err error) {
err = vk.RequestUnmarshal("fave.get", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("fave.get", &response, params, Params{"extended": false})
@ -99,7 +99,7 @@ type FaveGetExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/fave.get // https://dev.vk.com/method/fave.get
func (vk *VK) FaveGetExtended(params Params) (response FaveGetExtendedResponse, err error) { func (vk *VK) FaveGetExtended(params Params) (response FaveGetExtendedResponse, err error) {
err = vk.RequestUnmarshal("fave.get", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("fave.get", &response, params, Params{"extended": true})
@ -114,7 +114,7 @@ type FaveGetPagesResponse struct {
// FaveGetPages method. // FaveGetPages method.
// //
// https://vk.com/dev/fave.getPages // https://dev.vk.com/method/fave.getPages
func (vk *VK) FaveGetPages(params Params) (response FaveGetPagesResponse, err error) { func (vk *VK) FaveGetPages(params Params) (response FaveGetPagesResponse, err error) {
err = vk.RequestUnmarshal("fave.getPages", &response, params) err = vk.RequestUnmarshal("fave.getPages", &response, params)
return return
@ -128,7 +128,7 @@ type FaveGetTagsResponse struct {
// FaveGetTags method. // FaveGetTags method.
// //
// https://vk.com/dev/fave.getTags // https://dev.vk.com/method/fave.getTags
func (vk *VK) FaveGetTags(params Params) (response FaveGetTagsResponse, err error) { func (vk *VK) FaveGetTags(params Params) (response FaveGetTagsResponse, err error) {
err = vk.RequestUnmarshal("fave.getTags", &response, params) err = vk.RequestUnmarshal("fave.getTags", &response, params)
return return
@ -136,7 +136,7 @@ func (vk *VK) FaveGetTags(params Params) (response FaveGetTagsResponse, err erro
// FaveMarkSeen method. // FaveMarkSeen method.
// //
// https://vk.com/dev/fave.markSeen // https://dev.vk.com/method/fave.markSeen
func (vk *VK) FaveMarkSeen(params Params) (response int, err error) { func (vk *VK) FaveMarkSeen(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.markSeen", &response, params) err = vk.RequestUnmarshal("fave.markSeen", &response, params)
return return
@ -144,7 +144,7 @@ func (vk *VK) FaveMarkSeen(params Params) (response int, err error) {
// FaveRemoveArticle method. // FaveRemoveArticle method.
// //
// https://vk.com/dev/fave.removeArticle // https://dev.vk.com/method/fave.removeArticle
func (vk *VK) FaveRemoveArticle(params Params) (response int, err error) { func (vk *VK) FaveRemoveArticle(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.removeArticle", &response, params) err = vk.RequestUnmarshal("fave.removeArticle", &response, params)
return return
@ -152,7 +152,7 @@ func (vk *VK) FaveRemoveArticle(params Params) (response int, err error) {
// FaveRemoveLink removes link from the user's faves. // FaveRemoveLink removes link from the user's faves.
// //
// https://vk.com/dev/fave.removeLink // https://dev.vk.com/method/fave.removeLink
func (vk *VK) FaveRemoveLink(params Params) (response int, err error) { func (vk *VK) FaveRemoveLink(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.removeLink", &response, params) err = vk.RequestUnmarshal("fave.removeLink", &response, params)
return return
@ -160,7 +160,7 @@ func (vk *VK) FaveRemoveLink(params Params) (response int, err error) {
// FaveRemovePage method. // FaveRemovePage method.
// //
// https://vk.com/dev/fave.removePage // https://dev.vk.com/method/fave.removePage
func (vk *VK) FaveRemovePage(params Params) (response int, err error) { func (vk *VK) FaveRemovePage(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.removePage", &response, params) err = vk.RequestUnmarshal("fave.removePage", &response, params)
return return
@ -168,7 +168,7 @@ func (vk *VK) FaveRemovePage(params Params) (response int, err error) {
// FaveRemovePost method. // FaveRemovePost method.
// //
// https://vk.com/dev/fave.removePost // https://dev.vk.com/method/fave.removePost
func (vk *VK) FaveRemovePost(params Params) (response int, err error) { func (vk *VK) FaveRemovePost(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.removePost", &response, params) err = vk.RequestUnmarshal("fave.removePost", &response, params)
return return
@ -176,7 +176,7 @@ func (vk *VK) FaveRemovePost(params Params) (response int, err error) {
// FaveRemoveProduct method. // FaveRemoveProduct method.
// //
// https://vk.com/dev/fave.removeProduct // https://dev.vk.com/method/fave.removeProduct
func (vk *VK) FaveRemoveProduct(params Params) (response int, err error) { func (vk *VK) FaveRemoveProduct(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.removeProduct", &response, params) err = vk.RequestUnmarshal("fave.removeProduct", &response, params)
return return
@ -184,7 +184,7 @@ func (vk *VK) FaveRemoveProduct(params Params) (response int, err error) {
// FaveRemoveTag method. // FaveRemoveTag method.
// //
// https://vk.com/dev/fave.removeTag // https://dev.vk.com/method/fave.removeTag
func (vk *VK) FaveRemoveTag(params Params) (response int, err error) { func (vk *VK) FaveRemoveTag(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.removeTag", &response, params) err = vk.RequestUnmarshal("fave.removeTag", &response, params)
return return
@ -192,7 +192,7 @@ func (vk *VK) FaveRemoveTag(params Params) (response int, err error) {
// FaveRemoveVideo method. // FaveRemoveVideo method.
// //
// https://vk.com/dev/fave.removeVideo // https://dev.vk.com/method/fave.removeVideo
func (vk *VK) FaveRemoveVideo(params Params) (response int, err error) { func (vk *VK) FaveRemoveVideo(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.removeVideo", &response, params) err = vk.RequestUnmarshal("fave.removeVideo", &response, params)
return return
@ -200,7 +200,7 @@ func (vk *VK) FaveRemoveVideo(params Params) (response int, err error) {
// FaveReorderTags method. // FaveReorderTags method.
// //
// https://vk.com/dev/fave.reorderTags // https://dev.vk.com/method/fave.reorderTags
func (vk *VK) FaveReorderTags(params Params) (response int, err error) { func (vk *VK) FaveReorderTags(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.reorderTags", &response, params) err = vk.RequestUnmarshal("fave.reorderTags", &response, params)
return return
@ -208,7 +208,7 @@ func (vk *VK) FaveReorderTags(params Params) (response int, err error) {
// FaveSetPageTags method. // FaveSetPageTags method.
// //
// https://vk.com/dev/fave.setPageTags // https://dev.vk.com/method/fave.setPageTags
func (vk *VK) FaveSetPageTags(params Params) (response int, err error) { func (vk *VK) FaveSetPageTags(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.setPageTags", &response, params) err = vk.RequestUnmarshal("fave.setPageTags", &response, params)
return return
@ -216,7 +216,7 @@ func (vk *VK) FaveSetPageTags(params Params) (response int, err error) {
// FaveSetTags method. // FaveSetTags method.
// //
// https://vk.com/dev/fave.setTags // https://dev.vk.com/method/fave.setTags
func (vk *VK) FaveSetTags(params Params) (response int, err error) { func (vk *VK) FaveSetTags(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.setTags", &response, params) err = vk.RequestUnmarshal("fave.setTags", &response, params)
return return
@ -224,7 +224,7 @@ func (vk *VK) FaveSetTags(params Params) (response int, err error) {
// FaveTrackPageInteraction method. // FaveTrackPageInteraction method.
// //
// https://vk.com/dev/fave.trackPageInteraction // https://dev.vk.com/method/fave.trackPageInteraction
func (vk *VK) FaveTrackPageInteraction(params Params) (response int, err error) { func (vk *VK) FaveTrackPageInteraction(params Params) (response int, err error) {
err = vk.RequestUnmarshal("fave.trackPageInteraction", &response, params) err = vk.RequestUnmarshal("fave.trackPageInteraction", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// FriendsAdd approves or creates a friend request. // FriendsAdd approves or creates a friend request.
// //
// https://vk.com/dev/friends.add // https://dev.vk.com/method/friends.add
func (vk *VK) FriendsAdd(params Params) (response int, err error) { func (vk *VK) FriendsAdd(params Params) (response int, err error) {
err = vk.RequestUnmarshal("friends.add", &response, params) err = vk.RequestUnmarshal("friends.add", &response, params)
return return
@ -19,7 +19,7 @@ type FriendsAddListResponse struct {
// FriendsAddList creates a new friend list for the current user. // FriendsAddList creates a new friend list for the current user.
// //
// https://vk.com/dev/friends.addList // https://dev.vk.com/method/friends.addList
func (vk *VK) FriendsAddList(params Params) (response FriendsAddListResponse, err error) { func (vk *VK) FriendsAddList(params Params) (response FriendsAddListResponse, err error) {
err = vk.RequestUnmarshal("friends.addList", &response, params) err = vk.RequestUnmarshal("friends.addList", &response, params)
return return
@ -30,7 +30,7 @@ type FriendsAreFriendsResponse []object.FriendsFriendStatus
// FriendsAreFriends checks the current user's friendship status with other specified users. // FriendsAreFriends checks the current user's friendship status with other specified users.
// //
// https://vk.com/dev/friends.areFriends // https://dev.vk.com/method/friends.areFriends
func (vk *VK) FriendsAreFriends(params Params) (response FriendsAreFriendsResponse, err error) { func (vk *VK) FriendsAreFriends(params Params) (response FriendsAreFriendsResponse, err error) {
err = vk.RequestUnmarshal("friends.areFriends", &response, params) err = vk.RequestUnmarshal("friends.areFriends", &response, params)
return return
@ -47,7 +47,7 @@ type FriendsDeleteResponse struct {
// FriendsDelete declines a friend request or deletes a user from the current user's friend list. // FriendsDelete declines a friend request or deletes a user from the current user's friend list.
// //
// https://vk.com/dev/friends.delete // https://dev.vk.com/method/friends.delete
func (vk *VK) FriendsDelete(params Params) (response FriendsDeleteResponse, err error) { func (vk *VK) FriendsDelete(params Params) (response FriendsDeleteResponse, err error) {
err = vk.RequestUnmarshal("friends.delete", &response, params) err = vk.RequestUnmarshal("friends.delete", &response, params)
return return
@ -55,7 +55,7 @@ func (vk *VK) FriendsDelete(params Params) (response FriendsDeleteResponse, err
// FriendsDeleteAllRequests marks all incoming friend requests as viewed. // FriendsDeleteAllRequests marks all incoming friend requests as viewed.
// //
// https://vk.com/dev/friends.deleteAllRequests // https://dev.vk.com/method/friends.deleteAllRequests
func (vk *VK) FriendsDeleteAllRequests(params Params) (response int, err error) { func (vk *VK) FriendsDeleteAllRequests(params Params) (response int, err error) {
err = vk.RequestUnmarshal("friends.deleteAllRequests", &response, params) err = vk.RequestUnmarshal("friends.deleteAllRequests", &response, params)
return return
@ -63,7 +63,7 @@ func (vk *VK) FriendsDeleteAllRequests(params Params) (response int, err error)
// FriendsDeleteList deletes a friend list of the current user. // FriendsDeleteList deletes a friend list of the current user.
// //
// https://vk.com/dev/friends.deleteList // https://dev.vk.com/method/friends.deleteList
func (vk *VK) FriendsDeleteList(params Params) (response int, err error) { func (vk *VK) FriendsDeleteList(params Params) (response int, err error) {
err = vk.RequestUnmarshal("friends.deleteList", &response, params) err = vk.RequestUnmarshal("friends.deleteList", &response, params)
return return
@ -71,7 +71,7 @@ func (vk *VK) FriendsDeleteList(params Params) (response int, err error) {
// FriendsEdit edits the friend lists of the selected user. // FriendsEdit edits the friend lists of the selected user.
// //
// https://vk.com/dev/friends.edit // https://dev.vk.com/method/friends.edit
func (vk *VK) FriendsEdit(params Params) (response int, err error) { func (vk *VK) FriendsEdit(params Params) (response int, err error) {
err = vk.RequestUnmarshal("friends.edit", &response, params) err = vk.RequestUnmarshal("friends.edit", &response, params)
return return
@ -79,7 +79,7 @@ func (vk *VK) FriendsEdit(params Params) (response int, err error) {
// FriendsEditList edits a friend list of the current user. // FriendsEditList edits a friend list of the current user.
// //
// https://vk.com/dev/friends.editList // https://dev.vk.com/method/friends.editList
func (vk *VK) FriendsEditList(params Params) (response int, err error) { func (vk *VK) FriendsEditList(params Params) (response int, err error) {
err = vk.RequestUnmarshal("friends.editList", &response, params) err = vk.RequestUnmarshal("friends.editList", &response, params)
return return
@ -93,7 +93,7 @@ type FriendsGetResponse struct {
// FriendsGet returns a list of user IDs or detailed information about a user's friends. // FriendsGet returns a list of user IDs or detailed information about a user's friends.
// //
// https://vk.com/dev/friends.get // https://dev.vk.com/method/friends.get
func (vk *VK) FriendsGet(params Params) (response FriendsGetResponse, err error) { func (vk *VK) FriendsGet(params Params) (response FriendsGetResponse, err error) {
err = vk.RequestUnmarshal("friends.get", &response, params) err = vk.RequestUnmarshal("friends.get", &response, params)
return return
@ -107,7 +107,7 @@ type FriendsGetFieldsResponse struct {
// FriendsGetFields returns a list of user IDs or detailed information about a user's friends. // FriendsGetFields returns a list of user IDs or detailed information about a user's friends.
// //
// https://vk.com/dev/friends.get // https://dev.vk.com/method/friends.get
func (vk *VK) FriendsGetFields(params Params) (response FriendsGetFieldsResponse, err error) { func (vk *VK) FriendsGetFields(params Params) (response FriendsGetFieldsResponse, err error) {
reqParams := make(Params) reqParams := make(Params)
if v, prs := params["fields"]; v == "" || !prs { if v, prs := params["fields"]; v == "" || !prs {
@ -124,7 +124,7 @@ type FriendsGetAppUsersResponse []int
// FriendsGetAppUsers returns a list of IDs of the current user's friends who installed the application. // FriendsGetAppUsers returns a list of IDs of the current user's friends who installed the application.
// //
// https://vk.com/dev/friends.getAppUsers // https://dev.vk.com/method/friends.getAppUsers
func (vk *VK) FriendsGetAppUsers(params Params) (response FriendsGetAppUsersResponse, err error) { func (vk *VK) FriendsGetAppUsers(params Params) (response FriendsGetAppUsersResponse, err error) {
err = vk.RequestUnmarshal("friends.getAppUsers", &response, params) err = vk.RequestUnmarshal("friends.getAppUsers", &response, params)
return return
@ -136,7 +136,7 @@ type FriendsGetByPhonesResponse []object.FriendsUserXtrPhone
// FriendsGetByPhones returns a list of the current user's friends // FriendsGetByPhones returns a list of the current user's friends
// whose phone numbers, validated or specified in a profile, are in a given list. // whose phone numbers, validated or specified in a profile, are in a given list.
// //
// https://vk.com/dev/friends.getByPhones // https://dev.vk.com/method/friends.getByPhones
func (vk *VK) FriendsGetByPhones(params Params) (response FriendsGetByPhonesResponse, err error) { func (vk *VK) FriendsGetByPhones(params Params) (response FriendsGetByPhonesResponse, err error) {
err = vk.RequestUnmarshal("friends.getByPhones", &response, params) err = vk.RequestUnmarshal("friends.getByPhones", &response, params)
return return
@ -150,7 +150,7 @@ type FriendsGetListsResponse struct {
// FriendsGetLists returns a list of the user's friend lists. // FriendsGetLists returns a list of the user's friend lists.
// //
// https://vk.com/dev/friends.getLists // https://dev.vk.com/method/friends.getLists
func (vk *VK) FriendsGetLists(params Params) (response FriendsGetListsResponse, err error) { func (vk *VK) FriendsGetLists(params Params) (response FriendsGetListsResponse, err error) {
err = vk.RequestUnmarshal("friends.getLists", &response, params) err = vk.RequestUnmarshal("friends.getLists", &response, params)
return return
@ -161,7 +161,7 @@ type FriendsGetMutualResponse []int
// FriendsGetMutual returns a list of user IDs of the mutual friends of two users. // FriendsGetMutual returns a list of user IDs of the mutual friends of two users.
// //
// https://vk.com/dev/friends.getMutual // https://dev.vk.com/method/friends.getMutual
func (vk *VK) FriendsGetMutual(params Params) (response FriendsGetMutualResponse, err error) { func (vk *VK) FriendsGetMutual(params Params) (response FriendsGetMutualResponse, err error) {
err = vk.RequestUnmarshal("friends.getMutual", &response, params) err = vk.RequestUnmarshal("friends.getMutual", &response, params)
return return
@ -171,7 +171,7 @@ func (vk *VK) FriendsGetMutual(params Params) (response FriendsGetMutualResponse
// //
// online_mobile=0 // online_mobile=0
// //
// https://vk.com/dev/friends.getOnline // https://dev.vk.com/method/friends.getOnline
func (vk *VK) FriendsGetOnline(params Params) (response []int, err error) { func (vk *VK) FriendsGetOnline(params Params) (response []int, err error) {
err = vk.RequestUnmarshal("friends.getOnline", &response, params, Params{"online_mobile": false}) err = vk.RequestUnmarshal("friends.getOnline", &response, params, Params{"online_mobile": false})
@ -188,7 +188,7 @@ type FriendsGetOnlineOnlineMobileResponse struct {
// //
// online_mobile=1 // online_mobile=1
// //
// https://vk.com/dev/friends.getOnline // https://dev.vk.com/method/friends.getOnline
func (vk *VK) FriendsGetOnlineOnlineMobile(params Params) (response FriendsGetOnlineOnlineMobileResponse, err error) { func (vk *VK) FriendsGetOnlineOnlineMobile(params Params) (response FriendsGetOnlineOnlineMobileResponse, err error) {
err = vk.RequestUnmarshal("friends.getOnline", &response, params, Params{"online_mobile": true}) err = vk.RequestUnmarshal("friends.getOnline", &response, params, Params{"online_mobile": true})
@ -200,7 +200,7 @@ type FriendsGetRecentResponse []int
// FriendsGetRecent returns a list of user IDs of the current user's recently added friends. // FriendsGetRecent returns a list of user IDs of the current user's recently added friends.
// //
// https://vk.com/dev/friends.getRecent // https://dev.vk.com/method/friends.getRecent
func (vk *VK) FriendsGetRecent(params Params) (response FriendsGetRecentResponse, err error) { func (vk *VK) FriendsGetRecent(params Params) (response FriendsGetRecentResponse, err error) {
err = vk.RequestUnmarshal("friends.getRecent", &response, params) err = vk.RequestUnmarshal("friends.getRecent", &response, params)
return return
@ -214,7 +214,7 @@ type FriendsGetRequestsResponse struct {
// FriendsGetRequests returns information about the current user's incoming and outgoing friend requests. // FriendsGetRequests returns information about the current user's incoming and outgoing friend requests.
// //
// https://vk.com/dev/friends.getRequests // https://dev.vk.com/method/friends.getRequests
func (vk *VK) FriendsGetRequests(params Params) (response FriendsGetRequestsResponse, err error) { func (vk *VK) FriendsGetRequests(params Params) (response FriendsGetRequestsResponse, err error) {
reqParams := Params{ reqParams := Params{
"need_mutual": false, "need_mutual": false,
@ -234,7 +234,7 @@ type FriendsGetRequestsNeedMutualResponse struct {
// FriendsGetRequestsNeedMutual returns information about the current user's incoming and outgoing friend requests. // FriendsGetRequestsNeedMutual returns information about the current user's incoming and outgoing friend requests.
// //
// https://vk.com/dev/friends.getRequests // https://dev.vk.com/method/friends.getRequests
func (vk *VK) FriendsGetRequestsNeedMutual(params Params) (response FriendsGetRequestsNeedMutualResponse, err error) { func (vk *VK) FriendsGetRequestsNeedMutual(params Params) (response FriendsGetRequestsNeedMutualResponse, err error) {
reqParams := Params{ reqParams := Params{
"extended": false, "extended": false,
@ -254,7 +254,7 @@ type FriendsGetRequestsExtendedResponse struct {
// FriendsGetRequestsExtended returns information about the current user's incoming and outgoing friend requests. // FriendsGetRequestsExtended returns information about the current user's incoming and outgoing friend requests.
// //
// https://vk.com/dev/friends.getRequests // https://dev.vk.com/method/friends.getRequests
func (vk *VK) FriendsGetRequestsExtended(params Params) (response FriendsGetRequestsExtendedResponse, err error) { func (vk *VK) FriendsGetRequestsExtended(params Params) (response FriendsGetRequestsExtendedResponse, err error) {
reqParams := Params{ reqParams := Params{
"need_mutual": false, "need_mutual": false,
@ -274,7 +274,7 @@ type FriendsGetSuggestionsResponse struct {
// FriendsGetSuggestions returns a list of profiles of users whom the current user may know. // FriendsGetSuggestions returns a list of profiles of users whom the current user may know.
// //
// https://vk.com/dev/friends.getSuggestions // https://dev.vk.com/method/friends.getSuggestions
func (vk *VK) FriendsGetSuggestions(params Params) (response FriendsGetSuggestionsResponse, err error) { func (vk *VK) FriendsGetSuggestions(params Params) (response FriendsGetSuggestionsResponse, err error) {
err = vk.RequestUnmarshal("friends.getSuggestions", &response, params) err = vk.RequestUnmarshal("friends.getSuggestions", &response, params)
return return
@ -288,7 +288,7 @@ type FriendsSearchResponse struct {
// FriendsSearch returns a list of friends matching the search criteria. // FriendsSearch returns a list of friends matching the search criteria.
// //
// https://vk.com/dev/friends.search // https://dev.vk.com/method/friends.search
func (vk *VK) FriendsSearch(params Params) (response FriendsSearchResponse, err error) { func (vk *VK) FriendsSearch(params Params) (response FriendsSearchResponse, err error) {
err = vk.RequestUnmarshal("friends.search", &response, params) err = vk.RequestUnmarshal("friends.search", &response, params)
return return

View File

@ -10,7 +10,7 @@ type GiftsGetResponse struct {
// GiftsGet returns a list of user gifts. // GiftsGet returns a list of user gifts.
// //
// https://vk.com/dev/gifts.get // https://dev.vk.com/method/gifts.get
func (vk *VK) GiftsGet(params Params) (response GiftsGetResponse, err error) { func (vk *VK) GiftsGet(params Params) (response GiftsGetResponse, err error) {
err = vk.RequestUnmarshal("gifts.get", &response, params) err = vk.RequestUnmarshal("gifts.get", &response, params)
return return
@ -25,7 +25,7 @@ type GiftsGetCatalogResponse []struct {
// GiftsGetCatalog returns catalog. // GiftsGetCatalog returns catalog.
// //
// https://vk.com/dev/gifts.get // https://dev.vk.com/method/gifts.get
func (vk *VK) GiftsGetCatalog(params Params) (response GiftsGetCatalogResponse, err error) { func (vk *VK) GiftsGetCatalog(params Params) (response GiftsGetCatalogResponse, err error) {
err = vk.RequestUnmarshal("gifts.getCatalog", &response, params) err = vk.RequestUnmarshal("gifts.getCatalog", &response, params)
return return

View File

@ -9,7 +9,7 @@ type GroupsAddAddressResponse object.GroupsAddress
// GroupsAddAddress groups.addAddress. // GroupsAddAddress groups.addAddress.
// //
// https://vk.com/dev/groups.addAddress // https://dev.vk.com/method/groups.addAddress
func (vk *VK) GroupsAddAddress(params Params) (response GroupsAddAddressResponse, err error) { func (vk *VK) GroupsAddAddress(params Params) (response GroupsAddAddressResponse, err error) {
err = vk.RequestUnmarshal("groups.addAddress", &response, params) err = vk.RequestUnmarshal("groups.addAddress", &response, params)
return return
@ -22,7 +22,7 @@ type GroupsAddCallbackServerResponse struct {
// GroupsAddCallbackServer callback API server to the community. // GroupsAddCallbackServer callback API server to the community.
// //
// https://vk.com/dev/groups.addCallbackServer // https://dev.vk.com/method/groups.addCallbackServer
func (vk *VK) GroupsAddCallbackServer(params Params) (response GroupsAddCallbackServerResponse, err error) { func (vk *VK) GroupsAddCallbackServer(params Params) (response GroupsAddCallbackServerResponse, err error) {
err = vk.RequestUnmarshal("groups.addCallbackServer", &response, params) err = vk.RequestUnmarshal("groups.addCallbackServer", &response, params)
return return
@ -33,7 +33,7 @@ type GroupsAddLinkResponse object.GroupsGroupLink
// GroupsAddLink allows to add a link to the community. // GroupsAddLink allows to add a link to the community.
// //
// https://vk.com/dev/groups.addLink // https://dev.vk.com/method/groups.addLink
func (vk *VK) GroupsAddLink(params Params) (response GroupsAddLinkResponse, err error) { func (vk *VK) GroupsAddLink(params Params) (response GroupsAddLinkResponse, err error) {
err = vk.RequestUnmarshal("groups.addLink", &response, params) err = vk.RequestUnmarshal("groups.addLink", &response, params)
return return
@ -41,7 +41,7 @@ func (vk *VK) GroupsAddLink(params Params) (response GroupsAddLinkResponse, err
// GroupsApproveRequest allows to approve join request to the community. // GroupsApproveRequest allows to approve join request to the community.
// //
// https://vk.com/dev/groups.approveRequest // https://dev.vk.com/method/groups.approveRequest
func (vk *VK) GroupsApproveRequest(params Params) (response int, err error) { func (vk *VK) GroupsApproveRequest(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.approveRequest", &response, params) err = vk.RequestUnmarshal("groups.approveRequest", &response, params)
return return
@ -49,7 +49,7 @@ func (vk *VK) GroupsApproveRequest(params Params) (response int, err error) {
// GroupsBan adds a user or a group to the community blacklist. // GroupsBan adds a user or a group to the community blacklist.
// //
// https://vk.com/dev/groups.ban // https://dev.vk.com/method/groups.ban
func (vk *VK) GroupsBan(params Params) (response int, err error) { func (vk *VK) GroupsBan(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.ban", &response, params) err = vk.RequestUnmarshal("groups.ban", &response, params)
return return
@ -60,7 +60,7 @@ type GroupsCreateResponse object.GroupsGroup
// GroupsCreate creates a new community. // GroupsCreate creates a new community.
// //
// https://vk.com/dev/groups.create // https://dev.vk.com/method/groups.create
func (vk *VK) GroupsCreate(params Params) (response GroupsCreateResponse, err error) { func (vk *VK) GroupsCreate(params Params) (response GroupsCreateResponse, err error) {
err = vk.RequestUnmarshal("groups.create", &response, params) err = vk.RequestUnmarshal("groups.create", &response, params)
return return
@ -68,7 +68,7 @@ func (vk *VK) GroupsCreate(params Params) (response GroupsCreateResponse, err er
// GroupsDeleteAddress groups.deleteAddress. // GroupsDeleteAddress groups.deleteAddress.
// //
// https://vk.com/dev/groups.deleteAddress // https://dev.vk.com/method/groups.deleteAddress
func (vk *VK) GroupsDeleteAddress(params Params) (response int, err error) { func (vk *VK) GroupsDeleteAddress(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.deleteAddress", &response, params) err = vk.RequestUnmarshal("groups.deleteAddress", &response, params)
return return
@ -76,7 +76,7 @@ func (vk *VK) GroupsDeleteAddress(params Params) (response int, err error) {
// GroupsDeleteCallbackServer callback API server from the community. // GroupsDeleteCallbackServer callback API server from the community.
// //
// https://vk.com/dev/groups.deleteCallbackServer // https://dev.vk.com/method/groups.deleteCallbackServer
func (vk *VK) GroupsDeleteCallbackServer(params Params) (response int, err error) { func (vk *VK) GroupsDeleteCallbackServer(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.deleteCallbackServer", &response, params) err = vk.RequestUnmarshal("groups.deleteCallbackServer", &response, params)
return return
@ -84,7 +84,7 @@ func (vk *VK) GroupsDeleteCallbackServer(params Params) (response int, err error
// GroupsDeleteLink allows to delete a link from the community. // GroupsDeleteLink allows to delete a link from the community.
// //
// https://vk.com/dev/groups.deleteLink // https://dev.vk.com/method/groups.deleteLink
func (vk *VK) GroupsDeleteLink(params Params) (response int, err error) { func (vk *VK) GroupsDeleteLink(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.deleteLink", &response, params) err = vk.RequestUnmarshal("groups.deleteLink", &response, params)
return return
@ -92,7 +92,7 @@ func (vk *VK) GroupsDeleteLink(params Params) (response int, err error) {
// GroupsDisableOnline disables "online" status in the community. // GroupsDisableOnline disables "online" status in the community.
// //
// https://vk.com/dev/groups.disableOnline // https://dev.vk.com/method/groups.disableOnline
func (vk *VK) GroupsDisableOnline(params Params) (response int, err error) { func (vk *VK) GroupsDisableOnline(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.disableOnline", &response, params) err = vk.RequestUnmarshal("groups.disableOnline", &response, params)
return return
@ -100,7 +100,7 @@ func (vk *VK) GroupsDisableOnline(params Params) (response int, err error) {
// GroupsEdit edits a community. // GroupsEdit edits a community.
// //
// https://vk.com/dev/groups.edit // https://dev.vk.com/method/groups.edit
func (vk *VK) GroupsEdit(params Params) (response int, err error) { func (vk *VK) GroupsEdit(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.edit", &response, params) err = vk.RequestUnmarshal("groups.edit", &response, params)
return return
@ -111,7 +111,7 @@ type GroupsEditAddressResponse object.GroupsAddress
// GroupsEditAddress groups.editAddress. // GroupsEditAddress groups.editAddress.
// //
// https://vk.com/dev/groups.editAddress // https://dev.vk.com/method/groups.editAddress
func (vk *VK) GroupsEditAddress(params Params) (response GroupsEditAddressResponse, err error) { func (vk *VK) GroupsEditAddress(params Params) (response GroupsEditAddressResponse, err error) {
err = vk.RequestUnmarshal("groups.editAddress", &response, params) err = vk.RequestUnmarshal("groups.editAddress", &response, params)
return return
@ -119,7 +119,7 @@ func (vk *VK) GroupsEditAddress(params Params) (response GroupsEditAddressRespon
// GroupsEditCallbackServer edits Callback API server in the community. // GroupsEditCallbackServer edits Callback API server in the community.
// //
// https://vk.com/dev/groups.editCallbackServer // https://dev.vk.com/method/groups.editCallbackServer
func (vk *VK) GroupsEditCallbackServer(params Params) (response int, err error) { func (vk *VK) GroupsEditCallbackServer(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.editCallbackServer", &response, params) err = vk.RequestUnmarshal("groups.editCallbackServer", &response, params)
return return
@ -127,7 +127,7 @@ func (vk *VK) GroupsEditCallbackServer(params Params) (response int, err error)
// GroupsEditLink allows to edit a link in the community. // GroupsEditLink allows to edit a link in the community.
// //
// https://vk.com/dev/groups.editLink // https://dev.vk.com/method/groups.editLink
func (vk *VK) GroupsEditLink(params Params) (response int, err error) { func (vk *VK) GroupsEditLink(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.editLink", &response, params) err = vk.RequestUnmarshal("groups.editLink", &response, params)
return return
@ -135,7 +135,7 @@ func (vk *VK) GroupsEditLink(params Params) (response int, err error) {
// GroupsEditManager allows to add, remove or edit the community manager . // GroupsEditManager allows to add, remove or edit the community manager .
// //
// https://vk.com/dev/groups.editManager // https://dev.vk.com/method/groups.editManager
func (vk *VK) GroupsEditManager(params Params) (response int, err error) { func (vk *VK) GroupsEditManager(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.editManager", &response, params) err = vk.RequestUnmarshal("groups.editManager", &response, params)
return return
@ -143,7 +143,7 @@ func (vk *VK) GroupsEditManager(params Params) (response int, err error) {
// GroupsEnableOnline enables "online" status in the community. // GroupsEnableOnline enables "online" status in the community.
// //
// https://vk.com/dev/groups.enableOnline // https://dev.vk.com/method/groups.enableOnline
func (vk *VK) GroupsEnableOnline(params Params) (response int, err error) { func (vk *VK) GroupsEnableOnline(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.enableOnline", &response, params) err = vk.RequestUnmarshal("groups.enableOnline", &response, params)
return return
@ -159,7 +159,7 @@ type GroupsGetResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/groups.get // https://dev.vk.com/method/groups.get
func (vk *VK) GroupsGet(params Params) (response GroupsGetResponse, err error) { func (vk *VK) GroupsGet(params Params) (response GroupsGetResponse, err error) {
err = vk.RequestUnmarshal("groups.get", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("groups.get", &response, params, Params{"extended": false})
@ -176,7 +176,7 @@ type GroupsGetExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/groups.get // https://dev.vk.com/method/groups.get
func (vk *VK) GroupsGetExtended(params Params) (response GroupsGetExtendedResponse, err error) { func (vk *VK) GroupsGetExtended(params Params) (response GroupsGetExtendedResponse, err error) {
err = vk.RequestUnmarshal("groups.get", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("groups.get", &response, params, Params{"extended": true})
@ -191,7 +191,7 @@ type GroupsGetAddressesResponse struct {
// GroupsGetAddresses groups.getAddresses. // GroupsGetAddresses groups.getAddresses.
// //
// https://vk.com/dev/groups.getAddresses // https://dev.vk.com/method/groups.getAddresses
func (vk *VK) GroupsGetAddresses(params Params) (response GroupsGetAddressesResponse, err error) { func (vk *VK) GroupsGetAddresses(params Params) (response GroupsGetAddressesResponse, err error) {
err = vk.RequestUnmarshal("groups.getAddresses", &response, params) err = vk.RequestUnmarshal("groups.getAddresses", &response, params)
return return
@ -205,7 +205,7 @@ type GroupsGetBannedResponse struct {
// GroupsGetBanned returns a list of users on a community blacklist. // GroupsGetBanned returns a list of users on a community blacklist.
// //
// https://vk.com/dev/groups.getBanned // https://dev.vk.com/method/groups.getBanned
func (vk *VK) GroupsGetBanned(params Params) (response GroupsGetBannedResponse, err error) { func (vk *VK) GroupsGetBanned(params Params) (response GroupsGetBannedResponse, err error) {
err = vk.RequestUnmarshal("groups.getBanned", &response, params) err = vk.RequestUnmarshal("groups.getBanned", &response, params)
return return
@ -216,7 +216,7 @@ type GroupsGetByIDResponse []object.GroupsGroup
// GroupsGetByID returns information about communities by their IDs. // GroupsGetByID returns information about communities by their IDs.
// //
// https://vk.com/dev/groups.getById // https://dev.vk.com/method/groups.getById
func (vk *VK) GroupsGetByID(params Params) (response GroupsGetByIDResponse, err error) { func (vk *VK) GroupsGetByID(params Params) (response GroupsGetByIDResponse, err error) {
err = vk.RequestUnmarshal("groups.getById", &response, params) err = vk.RequestUnmarshal("groups.getById", &response, params)
return return
@ -229,7 +229,7 @@ type GroupsGetCallbackConfirmationCodeResponse struct {
// GroupsGetCallbackConfirmationCode returns Callback API confirmation code for the community. // GroupsGetCallbackConfirmationCode returns Callback API confirmation code for the community.
// //
// https://vk.com/dev/groups.getCallbackConfirmationCode // https://dev.vk.com/method/groups.getCallbackConfirmationCode
func (vk *VK) GroupsGetCallbackConfirmationCode(params Params) ( func (vk *VK) GroupsGetCallbackConfirmationCode(params Params) (
response GroupsGetCallbackConfirmationCodeResponse, response GroupsGetCallbackConfirmationCodeResponse,
err error, err error,
@ -246,7 +246,7 @@ type GroupsGetCallbackServersResponse struct {
// GroupsGetCallbackServers receives a list of Callback API servers from the community. // GroupsGetCallbackServers receives a list of Callback API servers from the community.
// //
// https://vk.com/dev/groups.getCallbackServers // https://dev.vk.com/method/groups.getCallbackServers
func (vk *VK) GroupsGetCallbackServers(params Params) (response GroupsGetCallbackServersResponse, err error) { func (vk *VK) GroupsGetCallbackServers(params Params) (response GroupsGetCallbackServersResponse, err error) {
err = vk.RequestUnmarshal("groups.getCallbackServers", &response, params) err = vk.RequestUnmarshal("groups.getCallbackServers", &response, params)
return return
@ -259,7 +259,7 @@ type GroupsGetCallbackSettingsResponse object.GroupsCallbackSettings
// //
// BUG(VK): MessageEdit always 0 https://vk.com/bugtracker?act=show&id=86762 // BUG(VK): MessageEdit always 0 https://vk.com/bugtracker?act=show&id=86762
// //
// https://vk.com/dev/groups.getCallbackSettings // https://dev.vk.com/method/groups.getCallbackSettings
func (vk *VK) GroupsGetCallbackSettings(params Params) (response GroupsGetCallbackSettingsResponse, err error) { func (vk *VK) GroupsGetCallbackSettings(params Params) (response GroupsGetCallbackSettingsResponse, err error) {
err = vk.RequestUnmarshal("groups.getCallbackSettings", &response, params) err = vk.RequestUnmarshal("groups.getCallbackSettings", &response, params)
return return
@ -275,7 +275,7 @@ type GroupsGetCatalogResponse struct {
// //
// Deprecated: This method is deprecated and may be disabled soon, please avoid // Deprecated: This method is deprecated and may be disabled soon, please avoid
// //
// https://vk.com/dev/groups.getCatalog // https://dev.vk.com/method/groups.getCatalog
func (vk *VK) GroupsGetCatalog(params Params) (response GroupsGetCatalogResponse, err error) { func (vk *VK) GroupsGetCatalog(params Params) (response GroupsGetCatalogResponse, err error) {
err = vk.RequestUnmarshal("groups.getCatalog", &response, params) err = vk.RequestUnmarshal("groups.getCatalog", &response, params)
return return
@ -291,7 +291,7 @@ type GroupsGetCatalogInfoResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/groups.getCatalogInfo // https://dev.vk.com/method/groups.getCatalogInfo
func (vk *VK) GroupsGetCatalogInfo(params Params) (response GroupsGetCatalogInfoResponse, err error) { func (vk *VK) GroupsGetCatalogInfo(params Params) (response GroupsGetCatalogInfoResponse, err error) {
err = vk.RequestUnmarshal("groups.getCatalogInfo", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("groups.getCatalogInfo", &response, params, Params{"extended": false})
@ -308,7 +308,7 @@ type GroupsGetCatalogInfoExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/groups.getCatalogInfo // https://dev.vk.com/method/groups.getCatalogInfo
func (vk *VK) GroupsGetCatalogInfoExtended(params Params) (response GroupsGetCatalogInfoExtendedResponse, err error) { func (vk *VK) GroupsGetCatalogInfoExtended(params Params) (response GroupsGetCatalogInfoExtendedResponse, err error) {
err = vk.RequestUnmarshal("groups.getCatalogInfo", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("groups.getCatalogInfo", &response, params, Params{"extended": true})
@ -323,7 +323,7 @@ type GroupsGetInvitedUsersResponse struct {
// GroupsGetInvitedUsers returns invited users list of a community. // GroupsGetInvitedUsers returns invited users list of a community.
// //
// https://vk.com/dev/groups.getInvitedUsers // https://dev.vk.com/method/groups.getInvitedUsers
func (vk *VK) GroupsGetInvitedUsers(params Params) (response GroupsGetInvitedUsersResponse, err error) { func (vk *VK) GroupsGetInvitedUsers(params Params) (response GroupsGetInvitedUsersResponse, err error) {
err = vk.RequestUnmarshal("groups.getInvitedUsers", &response, params) err = vk.RequestUnmarshal("groups.getInvitedUsers", &response, params)
return return
@ -337,7 +337,7 @@ type GroupsGetInvitesResponse struct {
// GroupsGetInvites returns a list of invitations to join communities and events. // GroupsGetInvites returns a list of invitations to join communities and events.
// //
// https://vk.com/dev/groups.getInvites // https://dev.vk.com/method/groups.getInvites
func (vk *VK) GroupsGetInvites(params Params) (response GroupsGetInvitesResponse, err error) { func (vk *VK) GroupsGetInvites(params Params) (response GroupsGetInvitesResponse, err error) {
err = vk.RequestUnmarshal("groups.getInvites", &response, params) err = vk.RequestUnmarshal("groups.getInvites", &response, params)
return return
@ -352,7 +352,7 @@ type GroupsGetInvitesExtendedResponse struct {
// GroupsGetInvitesExtended returns a list of invitations to join communities and events. // GroupsGetInvitesExtended returns a list of invitations to join communities and events.
// //
// https://vk.com/dev/groups.getInvites // https://dev.vk.com/method/groups.getInvites
func (vk *VK) GroupsGetInvitesExtended(params Params) (response GroupsGetInvitesExtendedResponse, err error) { func (vk *VK) GroupsGetInvitesExtended(params Params) (response GroupsGetInvitesExtendedResponse, err error) {
err = vk.RequestUnmarshal("groups.getInvites", &response, params) err = vk.RequestUnmarshal("groups.getInvites", &response, params)
return return
@ -363,7 +363,7 @@ type GroupsGetLongPollServerResponse object.GroupsLongPollServer
// GroupsGetLongPollServer returns data for Bots Long Poll API connection. // GroupsGetLongPollServer returns data for Bots Long Poll API connection.
// //
// https://vk.com/dev/groups.getLongPollServer // https://dev.vk.com/method/groups.getLongPollServer
func (vk *VK) GroupsGetLongPollServer(params Params) (response GroupsGetLongPollServerResponse, err error) { func (vk *VK) GroupsGetLongPollServer(params Params) (response GroupsGetLongPollServerResponse, err error) {
err = vk.RequestUnmarshal("groups.getLongPollServer", &response, params) err = vk.RequestUnmarshal("groups.getLongPollServer", &response, params)
return return
@ -374,7 +374,7 @@ type GroupsGetLongPollSettingsResponse object.GroupsLongPollSettings
// GroupsGetLongPollSettings returns Bots Long Poll API settings. // GroupsGetLongPollSettings returns Bots Long Poll API settings.
// //
// https://vk.com/dev/groups.getLongPollSettings // https://dev.vk.com/method/groups.getLongPollSettings
func (vk *VK) GroupsGetLongPollSettings(params Params) (response GroupsGetLongPollSettingsResponse, err error) { func (vk *VK) GroupsGetLongPollSettings(params Params) (response GroupsGetLongPollSettingsResponse, err error) {
err = vk.RequestUnmarshal("groups.getLongPollSettings", &response, params) err = vk.RequestUnmarshal("groups.getLongPollSettings", &response, params)
return return
@ -388,7 +388,7 @@ type GroupsGetMembersResponse struct {
// GroupsGetMembers returns a list of community members. // GroupsGetMembers returns a list of community members.
// //
// https://vk.com/dev/groups.getMembers // https://dev.vk.com/method/groups.getMembers
func (vk *VK) GroupsGetMembers(params Params) (response GroupsGetMembersResponse, err error) { func (vk *VK) GroupsGetMembers(params Params) (response GroupsGetMembersResponse, err error) {
err = vk.RequestUnmarshal("groups.getMembers", &response, params, Params{"filter": ""}) err = vk.RequestUnmarshal("groups.getMembers", &response, params, Params{"filter": ""})
@ -403,7 +403,7 @@ type GroupsGetMembersFieldsResponse struct {
// GroupsGetMembersFields returns a list of community members. // GroupsGetMembersFields returns a list of community members.
// //
// https://vk.com/dev/groups.getMembers // https://dev.vk.com/method/groups.getMembers
func (vk *VK) GroupsGetMembersFields(params Params) (response GroupsGetMembersFieldsResponse, err error) { func (vk *VK) GroupsGetMembersFields(params Params) (response GroupsGetMembersFieldsResponse, err error) {
reqParams := make(Params) reqParams := make(Params)
if v, prs := params["fields"]; v == "" || !prs { if v, prs := params["fields"]; v == "" || !prs {
@ -425,7 +425,7 @@ type GroupsGetMembersFilterManagersResponse struct {
// //
// filter=managers // filter=managers
// //
// https://vk.com/dev/groups.getMembers // https://dev.vk.com/method/groups.getMembers
func (vk *VK) GroupsGetMembersFilterManagers(params Params) ( func (vk *VK) GroupsGetMembersFilterManagers(params Params) (
response GroupsGetMembersFilterManagersResponse, response GroupsGetMembersFilterManagersResponse,
err error, err error,
@ -440,7 +440,7 @@ type GroupsGetOnlineStatusResponse object.GroupsOnlineStatus
// GroupsGetOnlineStatus returns a community's online status. // GroupsGetOnlineStatus returns a community's online status.
// //
// https://vk.com/dev/groups.getOnlineStatus // https://dev.vk.com/method/groups.getOnlineStatus
func (vk *VK) GroupsGetOnlineStatus(params Params) (response GroupsGetOnlineStatusResponse, err error) { func (vk *VK) GroupsGetOnlineStatus(params Params) (response GroupsGetOnlineStatusResponse, err error) {
err = vk.RequestUnmarshal("groups.getOnlineStatus", &response, params) err = vk.RequestUnmarshal("groups.getOnlineStatus", &response, params)
return return
@ -454,7 +454,7 @@ type GroupsGetRequestsResponse struct {
// GroupsGetRequests returns a list of requests to the community. // GroupsGetRequests returns a list of requests to the community.
// //
// https://vk.com/dev/groups.getRequests // https://dev.vk.com/method/groups.getRequests
func (vk *VK) GroupsGetRequests(params Params) (response GroupsGetRequestsResponse, err error) { func (vk *VK) GroupsGetRequests(params Params) (response GroupsGetRequestsResponse, err error) {
err = vk.RequestUnmarshal("groups.getRequests", &response, params, Params{"fields": ""}) err = vk.RequestUnmarshal("groups.getRequests", &response, params, Params{"fields": ""})
@ -469,7 +469,7 @@ type GroupsGetRequestsFieldsResponse struct {
// GroupsGetRequestsFields returns a list of requests to the community. // GroupsGetRequestsFields returns a list of requests to the community.
// //
// https://vk.com/dev/groups.getRequests // https://dev.vk.com/method/groups.getRequests
func (vk *VK) GroupsGetRequestsFields(params Params) (response GroupsGetRequestsFieldsResponse, err error) { func (vk *VK) GroupsGetRequestsFields(params Params) (response GroupsGetRequestsFieldsResponse, err error) {
reqParams := make(Params) reqParams := make(Params)
if v, prs := params["fields"]; v == "" || !prs { if v, prs := params["fields"]; v == "" || !prs {
@ -486,7 +486,7 @@ type GroupsGetSettingsResponse object.GroupsGroupSettings
// GroupsGetSettings returns community settings. // GroupsGetSettings returns community settings.
// //
// https://vk.com/dev/groups.getSettings // https://dev.vk.com/method/groups.getSettings
func (vk *VK) GroupsGetSettings(params Params) (response GroupsGetSettingsResponse, err error) { func (vk *VK) GroupsGetSettings(params Params) (response GroupsGetSettingsResponse, err error) {
err = vk.RequestUnmarshal("groups.getSettings", &response, params) err = vk.RequestUnmarshal("groups.getSettings", &response, params)
return return
@ -497,7 +497,7 @@ type GroupsGetTagListResponse []object.GroupsTag
// GroupsGetTagList returns community tags list. // GroupsGetTagList returns community tags list.
// //
// https://vk.com/dev/groups.getTagList // https://dev.vk.com/method/groups.getTagList
func (vk *VK) GroupsGetTagList(params Params) (response GroupsGetTagListResponse, err error) { func (vk *VK) GroupsGetTagList(params Params) (response GroupsGetTagListResponse, err error) {
err = vk.RequestUnmarshal("groups.getTagList", &response, params) err = vk.RequestUnmarshal("groups.getTagList", &response, params)
return return
@ -508,7 +508,7 @@ type GroupsGetTokenPermissionsResponse object.GroupsTokenPermissions
// GroupsGetTokenPermissions returns permissions scope for the community's access_token. // GroupsGetTokenPermissions returns permissions scope for the community's access_token.
// //
// https://vk.com/dev/groups.getTokenPermissions // https://dev.vk.com/method/groups.getTokenPermissions
func (vk *VK) GroupsGetTokenPermissions(params Params) (response GroupsGetTokenPermissionsResponse, err error) { func (vk *VK) GroupsGetTokenPermissions(params Params) (response GroupsGetTokenPermissionsResponse, err error) {
err = vk.RequestUnmarshal("groups.getTokenPermissions", &response, params) err = vk.RequestUnmarshal("groups.getTokenPermissions", &response, params)
return return
@ -516,7 +516,7 @@ func (vk *VK) GroupsGetTokenPermissions(params Params) (response GroupsGetTokenP
// GroupsInvite allows to invite friends to the community. // GroupsInvite allows to invite friends to the community.
// //
// https://vk.com/dev/groups.invite // https://dev.vk.com/method/groups.invite
func (vk *VK) GroupsInvite(params Params) (response int, err error) { func (vk *VK) GroupsInvite(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.invite", &response, params) err = vk.RequestUnmarshal("groups.invite", &response, params)
return return
@ -526,7 +526,7 @@ func (vk *VK) GroupsInvite(params Params) (response int, err error) {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/groups.isMember // https://dev.vk.com/method/groups.isMember
func (vk *VK) GroupsIsMember(params Params) (response int, err error) { func (vk *VK) GroupsIsMember(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.isMember", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("groups.isMember", &response, params, Params{"extended": false})
@ -546,7 +546,7 @@ type GroupsIsMemberExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/groups.isMember // https://dev.vk.com/method/groups.isMember
func (vk *VK) GroupsIsMemberExtended(params Params) (response GroupsIsMemberExtendedResponse, err error) { func (vk *VK) GroupsIsMemberExtended(params Params) (response GroupsIsMemberExtendedResponse, err error) {
err = vk.RequestUnmarshal("groups.isMember", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("groups.isMember", &response, params, Params{"extended": true})
@ -561,7 +561,7 @@ type GroupsIsMemberUserIDsExtendedResponse []object.GroupsMemberStatusFull
// extended=1 // extended=1
// need user_ids // need user_ids
// //
// https://vk.com/dev/groups.isMember // https://dev.vk.com/method/groups.isMember
func (vk *VK) GroupsIsMemberUserIDsExtended(params Params) (response GroupsIsMemberUserIDsExtendedResponse, err error) { func (vk *VK) GroupsIsMemberUserIDsExtended(params Params) (response GroupsIsMemberUserIDsExtendedResponse, err error) {
err = vk.RequestUnmarshal("groups.isMember", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("groups.isMember", &response, params, Params{"extended": true})
@ -576,7 +576,7 @@ type GroupsIsMemberUserIDsResponse []object.GroupsMemberStatus
// extended=0 // extended=0
// need user_ids // need user_ids
// //
// https://vk.com/dev/groups.isMember // https://dev.vk.com/method/groups.isMember
func (vk *VK) GroupsIsMemberUserIDs(params Params) (response GroupsIsMemberUserIDsResponse, err error) { func (vk *VK) GroupsIsMemberUserIDs(params Params) (response GroupsIsMemberUserIDsResponse, err error) {
err = vk.RequestUnmarshal("groups.isMember", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("groups.isMember", &response, params, Params{"extended": false})
@ -585,7 +585,7 @@ func (vk *VK) GroupsIsMemberUserIDs(params Params) (response GroupsIsMemberUserI
// GroupsJoin with this method you can join the group or public page, and also confirm your participation in an event. // GroupsJoin with this method you can join the group or public page, and also confirm your participation in an event.
// //
// https://vk.com/dev/groups.join // https://dev.vk.com/method/groups.join
func (vk *VK) GroupsJoin(params Params) (response int, err error) { func (vk *VK) GroupsJoin(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.join", &response, params) err = vk.RequestUnmarshal("groups.join", &response, params)
return return
@ -593,7 +593,7 @@ func (vk *VK) GroupsJoin(params Params) (response int, err error) {
// GroupsLeave with this method you can leave a group, public page, or event. // GroupsLeave with this method you can leave a group, public page, or event.
// //
// https://vk.com/dev/groups.leave // https://dev.vk.com/method/groups.leave
func (vk *VK) GroupsLeave(params Params) (response int, err error) { func (vk *VK) GroupsLeave(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.leave", &response, params) err = vk.RequestUnmarshal("groups.leave", &response, params)
return return
@ -601,7 +601,7 @@ func (vk *VK) GroupsLeave(params Params) (response int, err error) {
// GroupsRemoveUser removes a user from the community. // GroupsRemoveUser removes a user from the community.
// //
// https://vk.com/dev/groups.removeUser // https://dev.vk.com/method/groups.removeUser
func (vk *VK) GroupsRemoveUser(params Params) (response int, err error) { func (vk *VK) GroupsRemoveUser(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.removeUser", &response, params) err = vk.RequestUnmarshal("groups.removeUser", &response, params)
return return
@ -609,7 +609,7 @@ func (vk *VK) GroupsRemoveUser(params Params) (response int, err error) {
// GroupsReorderLink allows to reorder links in the community. // GroupsReorderLink allows to reorder links in the community.
// //
// https://vk.com/dev/groups.reorderLink // https://dev.vk.com/method/groups.reorderLink
func (vk *VK) GroupsReorderLink(params Params) (response int, err error) { func (vk *VK) GroupsReorderLink(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.reorderLink", &response, params) err = vk.RequestUnmarshal("groups.reorderLink", &response, params)
return return
@ -623,7 +623,7 @@ type GroupsSearchResponse struct {
// GroupsSearch returns a list of communities matching the search criteria. // GroupsSearch returns a list of communities matching the search criteria.
// //
// https://vk.com/dev/groups.search // https://dev.vk.com/method/groups.search
func (vk *VK) GroupsSearch(params Params) (response GroupsSearchResponse, err error) { func (vk *VK) GroupsSearch(params Params) (response GroupsSearchResponse, err error) {
err = vk.RequestUnmarshal("groups.search", &response, params) err = vk.RequestUnmarshal("groups.search", &response, params)
return return
@ -631,7 +631,7 @@ func (vk *VK) GroupsSearch(params Params) (response GroupsSearchResponse, err er
// GroupsSetCallbackSettings allow to set notifications settings for Callback API. // GroupsSetCallbackSettings allow to set notifications settings for Callback API.
// //
// https://vk.com/dev/groups.setCallbackSettings // https://dev.vk.com/method/groups.setCallbackSettings
func (vk *VK) GroupsSetCallbackSettings(params Params) (response int, err error) { func (vk *VK) GroupsSetCallbackSettings(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.setCallbackSettings", &response, params) err = vk.RequestUnmarshal("groups.setCallbackSettings", &response, params)
return return
@ -639,7 +639,7 @@ func (vk *VK) GroupsSetCallbackSettings(params Params) (response int, err error)
// GroupsSetLongPollSettings allows to set Bots Long Poll API settings in the community. // GroupsSetLongPollSettings allows to set Bots Long Poll API settings in the community.
// //
// https://vk.com/dev/groups.setLongPollSettings // https://dev.vk.com/method/groups.setLongPollSettings
func (vk *VK) GroupsSetLongPollSettings(params Params) (response int, err error) { func (vk *VK) GroupsSetLongPollSettings(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.setLongPollSettings", &response, params) err = vk.RequestUnmarshal("groups.setLongPollSettings", &response, params)
return return
@ -647,7 +647,7 @@ func (vk *VK) GroupsSetLongPollSettings(params Params) (response int, err error)
// GroupsSetSettings sets community settings. // GroupsSetSettings sets community settings.
// //
// https://vk.com/dev/groups.setSettings // https://dev.vk.com/method/groups.setSettings
func (vk *VK) GroupsSetSettings(params Params) (response int, err error) { func (vk *VK) GroupsSetSettings(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.setSettings", &response, params) err = vk.RequestUnmarshal("groups.setSettings", &response, params)
return return
@ -656,7 +656,7 @@ func (vk *VK) GroupsSetSettings(params Params) (response int, err error) {
// GroupsSetUserNote allows to create or edit a note about a user as part // GroupsSetUserNote allows to create or edit a note about a user as part
// of the user's correspondence with the community. // of the user's correspondence with the community.
// //
// https://vk.com/dev/groups.setUserNote // https://dev.vk.com/method/groups.setUserNote
func (vk *VK) GroupsSetUserNote(params Params) (response int, err error) { func (vk *VK) GroupsSetUserNote(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.setUserNote", &response, params) err = vk.RequestUnmarshal("groups.setUserNote", &response, params)
return return
@ -664,7 +664,7 @@ func (vk *VK) GroupsSetUserNote(params Params) (response int, err error) {
// GroupsTagAdd allows to add a new tag to the community. // GroupsTagAdd allows to add a new tag to the community.
// //
// https://vk.com/dev/groups.tagAdd // https://dev.vk.com/method/groups.tagAdd
func (vk *VK) GroupsTagAdd(params Params) (response int, err error) { func (vk *VK) GroupsTagAdd(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.tagAdd", &response, params) err = vk.RequestUnmarshal("groups.tagAdd", &response, params)
return return
@ -672,7 +672,7 @@ func (vk *VK) GroupsTagAdd(params Params) (response int, err error) {
// GroupsTagBind allows to "bind" and "unbind" community tags to conversations. // GroupsTagBind allows to "bind" and "unbind" community tags to conversations.
// //
// https://vk.com/dev/groups.tagBind // https://dev.vk.com/method/groups.tagBind
func (vk *VK) GroupsTagBind(params Params) (response int, err error) { func (vk *VK) GroupsTagBind(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.tagBind", &response, params) err = vk.RequestUnmarshal("groups.tagBind", &response, params)
return return
@ -683,7 +683,7 @@ func (vk *VK) GroupsTagBind(params Params) (response int, err error) {
// The remote tag will be automatically "unbind" from all conversations to // The remote tag will be automatically "unbind" from all conversations to
// which it was "bind" earlier. // which it was "bind" earlier.
// //
// https://vk.com/dev/groups.tagDelete // https://dev.vk.com/method/groups.tagDelete
func (vk *VK) GroupsTagDelete(params Params) (response int, err error) { func (vk *VK) GroupsTagDelete(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.tagDelete", &response, params) err = vk.RequestUnmarshal("groups.tagDelete", &response, params)
return return
@ -691,7 +691,7 @@ func (vk *VK) GroupsTagDelete(params Params) (response int, err error) {
// GroupsTagUpdate allows to change an existing tag. // GroupsTagUpdate allows to change an existing tag.
// //
// https://vk.com/dev/groups.tagUpdate // https://dev.vk.com/method/groups.tagUpdate
func (vk *VK) GroupsTagUpdate(params Params) (response int, err error) { func (vk *VK) GroupsTagUpdate(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.tagUpdate", &response, params) err = vk.RequestUnmarshal("groups.tagUpdate", &response, params)
return return
@ -699,7 +699,7 @@ func (vk *VK) GroupsTagUpdate(params Params) (response int, err error) {
// GroupsToggleMarket method. // GroupsToggleMarket method.
// //
// https://vk.com/dev/groups.toggleMarket // https://dev.vk.com/method/groups.toggleMarket
func (vk *VK) GroupsToggleMarket(params Params) (response int, err error) { func (vk *VK) GroupsToggleMarket(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.toggleMarket", &response, params) err = vk.RequestUnmarshal("groups.toggleMarket", &response, params)
return return
@ -707,7 +707,7 @@ func (vk *VK) GroupsToggleMarket(params Params) (response int, err error) {
// GroupsUnban groups.unban. // GroupsUnban groups.unban.
// //
// https://vk.com/dev/groups.unban // https://dev.vk.com/method/groups.unban
func (vk *VK) GroupsUnban(params Params) (response int, err error) { func (vk *VK) GroupsUnban(params Params) (response int, err error) {
err = vk.RequestUnmarshal("groups.unban", &response, params) err = vk.RequestUnmarshal("groups.unban", &response, params)
return return

View File

@ -12,7 +12,7 @@ type LeadFormsCreateResponse struct {
// LeadFormsCreate leadForms.create. // LeadFormsCreate leadForms.create.
// //
// https://vk.com/dev/leadForms.create // https://dev.vk.com/method/leadForms.create
func (vk *VK) LeadFormsCreate(params Params) (response LeadFormsCreateResponse, err error) { func (vk *VK) LeadFormsCreate(params Params) (response LeadFormsCreateResponse, err error) {
err = vk.RequestUnmarshal("leadForms.create", &response, params) err = vk.RequestUnmarshal("leadForms.create", &response, params)
return return
@ -25,7 +25,7 @@ type LeadFormsDeleteResponse struct {
// LeadFormsDelete leadForms.delete. // LeadFormsDelete leadForms.delete.
// //
// https://vk.com/dev/leadForms.delete // https://dev.vk.com/method/leadForms.delete
func (vk *VK) LeadFormsDelete(params Params) (response LeadFormsDeleteResponse, err error) { func (vk *VK) LeadFormsDelete(params Params) (response LeadFormsDeleteResponse, err error) {
err = vk.RequestUnmarshal("leadForms.delete", &response, params) err = vk.RequestUnmarshal("leadForms.delete", &response, params)
return return
@ -36,7 +36,7 @@ type LeadFormsGetResponse object.LeadFormsForm
// LeadFormsGet leadForms.get. // LeadFormsGet leadForms.get.
// //
// https://vk.com/dev/leadForms.get // https://dev.vk.com/method/leadForms.get
func (vk *VK) LeadFormsGet(params Params) (response LeadFormsGetResponse, err error) { func (vk *VK) LeadFormsGet(params Params) (response LeadFormsGetResponse, err error) {
err = vk.RequestUnmarshal("leadForms.get", &response, params) err = vk.RequestUnmarshal("leadForms.get", &response, params)
return return
@ -49,7 +49,7 @@ type LeadFormsGetLeadsResponse struct {
// LeadFormsGetLeads leadForms.getLeads. // LeadFormsGetLeads leadForms.getLeads.
// //
// https://vk.com/dev/leadForms.getLeads // https://dev.vk.com/method/leadForms.getLeads
func (vk *VK) LeadFormsGetLeads(params Params) (response LeadFormsGetLeadsResponse, err error) { func (vk *VK) LeadFormsGetLeads(params Params) (response LeadFormsGetLeadsResponse, err error) {
err = vk.RequestUnmarshal("leadForms.getLeads", &response, params) err = vk.RequestUnmarshal("leadForms.getLeads", &response, params)
return return
@ -57,7 +57,7 @@ func (vk *VK) LeadFormsGetLeads(params Params) (response LeadFormsGetLeadsRespon
// LeadFormsGetUploadURL leadForms.getUploadURL. // LeadFormsGetUploadURL leadForms.getUploadURL.
// //
// https://vk.com/dev/leadForms.getUploadURL // https://dev.vk.com/method/leadForms.getUploadURL
func (vk *VK) LeadFormsGetUploadURL(params Params) (response string, err error) { func (vk *VK) LeadFormsGetUploadURL(params Params) (response string, err error) {
err = vk.RequestUnmarshal("leadForms.getUploadURL", &response, params) err = vk.RequestUnmarshal("leadForms.getUploadURL", &response, params)
return return
@ -68,7 +68,7 @@ type LeadFormsListResponse []object.LeadFormsForm
// LeadFormsList leadForms.list. // LeadFormsList leadForms.list.
// //
// https://vk.com/dev/leadForms.list // https://dev.vk.com/method/leadForms.list
func (vk *VK) LeadFormsList(params Params) (response LeadFormsListResponse, err error) { func (vk *VK) LeadFormsList(params Params) (response LeadFormsListResponse, err error) {
err = vk.RequestUnmarshal("leadForms.list", &response, params) err = vk.RequestUnmarshal("leadForms.list", &response, params)
return return
@ -82,7 +82,7 @@ type LeadFormsUpdateResponse struct {
// LeadFormsUpdate leadForms.update. // LeadFormsUpdate leadForms.update.
// //
// https://vk.com/dev/leadForms.update // https://dev.vk.com/method/leadForms.update
func (vk *VK) LeadFormsUpdate(params Params) (response LeadFormsUpdateResponse, err error) { func (vk *VK) LeadFormsUpdate(params Params) (response LeadFormsUpdateResponse, err error) {
err = vk.RequestUnmarshal("leadForms.update", &response, params) err = vk.RequestUnmarshal("leadForms.update", &response, params)
return return

View File

@ -9,7 +9,7 @@ type LeadsCheckUserResponse object.LeadsChecked
// LeadsCheckUser checks if the user can start the lead. // LeadsCheckUser checks if the user can start the lead.
// //
// https://vk.com/dev/leads.checkUser // https://dev.vk.com/method/leads.checkUser
func (vk *VK) LeadsCheckUser(params Params) (response LeadsCheckUserResponse, err error) { func (vk *VK) LeadsCheckUser(params Params) (response LeadsCheckUserResponse, err error) {
err = vk.RequestUnmarshal("leads.checkUser", &response, params) err = vk.RequestUnmarshal("leads.checkUser", &response, params)
return return
@ -20,7 +20,7 @@ type LeadsCompleteResponse object.LeadsComplete
// LeadsComplete completes the lead started by user. // LeadsComplete completes the lead started by user.
// //
// https://vk.com/dev/leads.complete // https://dev.vk.com/method/leads.complete
func (vk *VK) LeadsComplete(params Params) (response LeadsCompleteResponse, err error) { func (vk *VK) LeadsComplete(params Params) (response LeadsCompleteResponse, err error) {
err = vk.RequestUnmarshal("leads.complete", &response, params) err = vk.RequestUnmarshal("leads.complete", &response, params)
return return
@ -31,7 +31,7 @@ type LeadsGetStatsResponse object.LeadsLead
// LeadsGetStats returns lead stats data. // LeadsGetStats returns lead stats data.
// //
// https://vk.com/dev/leads.getStats // https://dev.vk.com/method/leads.getStats
func (vk *VK) LeadsGetStats(params Params) (response LeadsGetStatsResponse, err error) { func (vk *VK) LeadsGetStats(params Params) (response LeadsGetStatsResponse, err error) {
err = vk.RequestUnmarshal("leads.getStats", &response, params) err = vk.RequestUnmarshal("leads.getStats", &response, params)
return return
@ -42,7 +42,7 @@ type LeadsGetUsersResponse object.LeadsEntry
// LeadsGetUsers returns a list of last user actions for the offer. // LeadsGetUsers returns a list of last user actions for the offer.
// //
// https://vk.com/dev/leads.getUsers // https://dev.vk.com/method/leads.getUsers
func (vk *VK) LeadsGetUsers(params Params) (response LeadsGetUsersResponse, err error) { func (vk *VK) LeadsGetUsers(params Params) (response LeadsGetUsersResponse, err error) {
err = vk.RequestUnmarshal("leads.getUsers", &response, params) err = vk.RequestUnmarshal("leads.getUsers", &response, params)
return return
@ -56,7 +56,7 @@ type LeadsMetricHitResponse struct {
// LeadsMetricHit counts the metric event. // LeadsMetricHit counts the metric event.
// //
// https://vk.com/dev/leads.metricHit // https://dev.vk.com/method/leads.metricHit
func (vk *VK) LeadsMetricHit(params Params) (response LeadsMetricHitResponse, err error) { func (vk *VK) LeadsMetricHit(params Params) (response LeadsMetricHitResponse, err error) {
err = vk.RequestUnmarshal("leads.metricHit", &response, params) err = vk.RequestUnmarshal("leads.metricHit", &response, params)
return return
@ -67,7 +67,7 @@ type LeadsStartResponse object.LeadsStart
// LeadsStart creates new session for the user passing the offer. // LeadsStart creates new session for the user passing the offer.
// //
// https://vk.com/dev/leads.start // https://dev.vk.com/method/leads.start
func (vk *VK) LeadsStart(params Params) (response LeadsStartResponse, err error) { func (vk *VK) LeadsStart(params Params) (response LeadsStartResponse, err error) {
err = vk.RequestUnmarshal("leads.start", &response, params) err = vk.RequestUnmarshal("leads.start", &response, params)
return return

View File

@ -11,7 +11,7 @@ type LikesAddResponse struct {
// LikesAdd adds the specified object to the Likes list of the current user. // LikesAdd adds the specified object to the Likes list of the current user.
// //
// https://vk.com/dev/likes.add // https://dev.vk.com/method/likes.add
func (vk *VK) LikesAdd(params Params) (response LikesAddResponse, err error) { func (vk *VK) LikesAdd(params Params) (response LikesAddResponse, err error) {
err = vk.RequestUnmarshal("likes.add", &response, params) err = vk.RequestUnmarshal("likes.add", &response, params)
return return
@ -24,7 +24,7 @@ type LikesDeleteResponse struct {
// LikesDelete deletes the specified object from the Likes list of the current user. // LikesDelete deletes the specified object from the Likes list of the current user.
// //
// https://vk.com/dev/likes.delete // https://dev.vk.com/method/likes.delete
func (vk *VK) LikesDelete(params Params) (response LikesDeleteResponse, err error) { func (vk *VK) LikesDelete(params Params) (response LikesDeleteResponse, err error) {
err = vk.RequestUnmarshal("likes.delete", &response, params) err = vk.RequestUnmarshal("likes.delete", &response, params)
return return
@ -40,7 +40,7 @@ type LikesGetListResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/likes.getList // https://dev.vk.com/method/likes.getList
func (vk *VK) LikesGetList(params Params) (response LikesGetListResponse, err error) { func (vk *VK) LikesGetList(params Params) (response LikesGetListResponse, err error) {
err = vk.RequestUnmarshal("likes.getList", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("likes.getList", &response, params, Params{"extended": false})
@ -57,7 +57,7 @@ type LikesGetListExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/likes.getList // https://dev.vk.com/method/likes.getList
func (vk *VK) LikesGetListExtended(params Params) (response LikesGetListExtendedResponse, err error) { func (vk *VK) LikesGetListExtended(params Params) (response LikesGetListExtendedResponse, err error) {
err = vk.RequestUnmarshal("likes.getList", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("likes.getList", &response, params, Params{"extended": true})
@ -72,7 +72,7 @@ type LikesIsLikedResponse struct {
// LikesIsLiked checks for the object in the Likes list of the specified user. // LikesIsLiked checks for the object in the Likes list of the specified user.
// //
// https://vk.com/dev/likes.isLiked // https://dev.vk.com/method/likes.isLiked
func (vk *VK) LikesIsLiked(params Params) (response LikesIsLikedResponse, err error) { func (vk *VK) LikesIsLiked(params Params) (response LikesIsLikedResponse, err error) {
err = vk.RequestUnmarshal("likes.isLiked", &response, params) err = vk.RequestUnmarshal("likes.isLiked", &response, params)
return return

View File

@ -11,7 +11,7 @@ type MarketAddResponse struct {
// MarketAdd adds a new item to the market. // MarketAdd adds a new item to the market.
// //
// https://vk.com/dev/market.add // https://dev.vk.com/method/market.add
func (vk *VK) MarketAdd(params Params) (response MarketAddResponse, err error) { func (vk *VK) MarketAdd(params Params) (response MarketAddResponse, err error) {
err = vk.RequestUnmarshal("market.add", &response, params) err = vk.RequestUnmarshal("market.add", &response, params)
return return
@ -25,7 +25,7 @@ type MarketAddAlbumResponse struct {
// MarketAddAlbum creates new collection of items. // MarketAddAlbum creates new collection of items.
// //
// https://vk.com/dev/market.addAlbum // https://dev.vk.com/method/market.addAlbum
func (vk *VK) MarketAddAlbum(params Params) (response MarketAddAlbumResponse, err error) { func (vk *VK) MarketAddAlbum(params Params) (response MarketAddAlbumResponse, err error) {
err = vk.RequestUnmarshal("market.addAlbum", &response, params) err = vk.RequestUnmarshal("market.addAlbum", &response, params)
return return
@ -33,7 +33,7 @@ func (vk *VK) MarketAddAlbum(params Params) (response MarketAddAlbumResponse, er
// MarketAddToAlbum adds an item to one or multiple collections. // MarketAddToAlbum adds an item to one or multiple collections.
// //
// https://vk.com/dev/market.addToAlbum // https://dev.vk.com/method/market.addToAlbum
func (vk *VK) MarketAddToAlbum(params Params) (response int, err error) { func (vk *VK) MarketAddToAlbum(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.addToAlbum", &response, params) err = vk.RequestUnmarshal("market.addToAlbum", &response, params)
return return
@ -41,7 +41,7 @@ func (vk *VK) MarketAddToAlbum(params Params) (response int, err error) {
// MarketCreateComment creates a new comment for an item. // MarketCreateComment creates a new comment for an item.
// //
// https://vk.com/dev/market.createComment // https://dev.vk.com/method/market.createComment
func (vk *VK) MarketCreateComment(params Params) (response int, err error) { func (vk *VK) MarketCreateComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.createComment", &response, params) err = vk.RequestUnmarshal("market.createComment", &response, params)
return return
@ -49,7 +49,7 @@ func (vk *VK) MarketCreateComment(params Params) (response int, err error) {
// MarketDelete deletes an item. // MarketDelete deletes an item.
// //
// https://vk.com/dev/market.delete // https://dev.vk.com/method/market.delete
func (vk *VK) MarketDelete(params Params) (response int, err error) { func (vk *VK) MarketDelete(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.delete", &response, params) err = vk.RequestUnmarshal("market.delete", &response, params)
return return
@ -57,7 +57,7 @@ func (vk *VK) MarketDelete(params Params) (response int, err error) {
// MarketDeleteAlbum deletes a collection of items. // MarketDeleteAlbum deletes a collection of items.
// //
// https://vk.com/dev/market.deleteAlbum // https://dev.vk.com/method/market.deleteAlbum
func (vk *VK) MarketDeleteAlbum(params Params) (response int, err error) { func (vk *VK) MarketDeleteAlbum(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.deleteAlbum", &response, params) err = vk.RequestUnmarshal("market.deleteAlbum", &response, params)
return return
@ -65,7 +65,7 @@ func (vk *VK) MarketDeleteAlbum(params Params) (response int, err error) {
// MarketDeleteComment deletes an item's comment. // MarketDeleteComment deletes an item's comment.
// //
// https://vk.com/dev/market.deleteComment // https://dev.vk.com/method/market.deleteComment
func (vk *VK) MarketDeleteComment(params Params) (response int, err error) { func (vk *VK) MarketDeleteComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.deleteComment", &response, params) err = vk.RequestUnmarshal("market.deleteComment", &response, params)
return return
@ -73,7 +73,7 @@ func (vk *VK) MarketDeleteComment(params Params) (response int, err error) {
// MarketEdit edits an item. // MarketEdit edits an item.
// //
// https://vk.com/dev/market.edit // https://dev.vk.com/method/market.edit
func (vk *VK) MarketEdit(params Params) (response int, err error) { func (vk *VK) MarketEdit(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.edit", &response, params) err = vk.RequestUnmarshal("market.edit", &response, params)
return return
@ -81,7 +81,7 @@ func (vk *VK) MarketEdit(params Params) (response int, err error) {
// MarketEditAlbum edits a collection of items. // MarketEditAlbum edits a collection of items.
// //
// https://vk.com/dev/market.editAlbum // https://dev.vk.com/method/market.editAlbum
func (vk *VK) MarketEditAlbum(params Params) (response int, err error) { func (vk *VK) MarketEditAlbum(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.editAlbum", &response, params) err = vk.RequestUnmarshal("market.editAlbum", &response, params)
return return
@ -89,7 +89,7 @@ func (vk *VK) MarketEditAlbum(params Params) (response int, err error) {
// MarketEditComment changes item comment's text. // MarketEditComment changes item comment's text.
// //
// https://vk.com/dev/market.editComment // https://dev.vk.com/method/market.editComment
func (vk *VK) MarketEditComment(params Params) (response int, err error) { func (vk *VK) MarketEditComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.editComment", &response, params) err = vk.RequestUnmarshal("market.editComment", &response, params)
return return
@ -97,7 +97,7 @@ func (vk *VK) MarketEditComment(params Params) (response int, err error) {
// MarketEditOrder edits an order. // MarketEditOrder edits an order.
// //
// https://vk.com/dev/market.editOrder // https://dev.vk.com/method/market.editOrder
func (vk *VK) MarketEditOrder(params Params) (response int, err error) { func (vk *VK) MarketEditOrder(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.editOrder", &response, params) err = vk.RequestUnmarshal("market.editOrder", &response, params)
return return
@ -111,7 +111,7 @@ type MarketGetResponse struct {
// MarketGet returns items list for a community. // MarketGet returns items list for a community.
// //
// https://vk.com/dev/market.get // https://dev.vk.com/method/market.get
func (vk *VK) MarketGet(params Params) (response MarketGetResponse, err error) { func (vk *VK) MarketGet(params Params) (response MarketGetResponse, err error) {
err = vk.RequestUnmarshal("market.get", &response, params) err = vk.RequestUnmarshal("market.get", &response, params)
return return
@ -125,7 +125,7 @@ type MarketGetAlbumByIDResponse struct {
// MarketGetAlbumByID returns items album's data. // MarketGetAlbumByID returns items album's data.
// //
// https://vk.com/dev/market.getAlbumById // https://dev.vk.com/method/market.getAlbumById
func (vk *VK) MarketGetAlbumByID(params Params) (response MarketGetAlbumByIDResponse, err error) { func (vk *VK) MarketGetAlbumByID(params Params) (response MarketGetAlbumByIDResponse, err error) {
err = vk.RequestUnmarshal("market.getAlbumById", &response, params) err = vk.RequestUnmarshal("market.getAlbumById", &response, params)
return return
@ -139,7 +139,7 @@ type MarketGetAlbumsResponse struct {
// MarketGetAlbums returns community's collections list. // MarketGetAlbums returns community's collections list.
// //
// https://vk.com/dev/market.getAlbums // https://dev.vk.com/method/market.getAlbums
func (vk *VK) MarketGetAlbums(params Params) (response MarketGetAlbumsResponse, err error) { func (vk *VK) MarketGetAlbums(params Params) (response MarketGetAlbumsResponse, err error) {
err = vk.RequestUnmarshal("market.getAlbums", &response, params) err = vk.RequestUnmarshal("market.getAlbums", &response, params)
return return
@ -153,7 +153,7 @@ type MarketGetByIDResponse struct {
// MarketGetByID returns information about market items by their iDs. // MarketGetByID returns information about market items by their iDs.
// //
// https://vk.com/dev/market.getById // https://dev.vk.com/method/market.getById
func (vk *VK) MarketGetByID(params Params) (response MarketGetByIDResponse, err error) { func (vk *VK) MarketGetByID(params Params) (response MarketGetByIDResponse, err error) {
err = vk.RequestUnmarshal("market.getById", &response, params) err = vk.RequestUnmarshal("market.getById", &response, params)
return return
@ -167,7 +167,7 @@ type MarketGetCategoriesResponse struct {
// MarketGetCategories returns a list of market categories. // MarketGetCategories returns a list of market categories.
// //
// https://vk.com/dev/market.getCategories // https://dev.vk.com/method/market.getCategories
func (vk *VK) MarketGetCategories(params Params) (response MarketGetCategoriesResponse, err error) { func (vk *VK) MarketGetCategories(params Params) (response MarketGetCategoriesResponse, err error) {
err = vk.RequestUnmarshal("market.getCategories", &response, params) err = vk.RequestUnmarshal("market.getCategories", &response, params)
return return
@ -183,7 +183,7 @@ type MarketGetCommentsResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/market.getComments // https://dev.vk.com/method/market.getComments
func (vk *VK) MarketGetComments(params Params) (response MarketGetCommentsResponse, err error) { func (vk *VK) MarketGetComments(params Params) (response MarketGetCommentsResponse, err error) {
err = vk.RequestUnmarshal("market.getComments", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("market.getComments", &response, params, Params{"extended": false})
@ -201,7 +201,7 @@ type MarketGetCommentsExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/market.getComments // https://dev.vk.com/method/market.getComments
func (vk *VK) MarketGetCommentsExtended(params Params) (response MarketGetCommentsExtendedResponse, err error) { func (vk *VK) MarketGetCommentsExtended(params Params) (response MarketGetCommentsExtendedResponse, err error) {
err = vk.RequestUnmarshal("market.getComments", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("market.getComments", &response, params, Params{"extended": true})
@ -216,7 +216,7 @@ type MarketGetGroupOrdersResponse struct {
// MarketGetGroupOrders returns community's orders list. // MarketGetGroupOrders returns community's orders list.
// //
// https://vk.com/dev/market.getGroupOrders // https://dev.vk.com/method/market.getGroupOrders
func (vk *VK) MarketGetGroupOrders(params Params) (response MarketGetGroupOrdersResponse, err error) { func (vk *VK) MarketGetGroupOrders(params Params) (response MarketGetGroupOrdersResponse, err error) {
err = vk.RequestUnmarshal("market.getGroupOrders", &response, params) err = vk.RequestUnmarshal("market.getGroupOrders", &response, params)
return return
@ -229,7 +229,7 @@ type MarketGetOrderByIDResponse struct {
// MarketGetOrderByID returns order by id. // MarketGetOrderByID returns order by id.
// //
// https://vk.com/dev/market.getOrderById // https://dev.vk.com/method/market.getOrderById
func (vk *VK) MarketGetOrderByID(params Params) (response MarketGetOrderByIDResponse, err error) { func (vk *VK) MarketGetOrderByID(params Params) (response MarketGetOrderByIDResponse, err error) {
err = vk.RequestUnmarshal("market.getOrderById", &response, params) err = vk.RequestUnmarshal("market.getOrderById", &response, params)
return return
@ -243,7 +243,7 @@ type MarketGetOrderItemsResponse struct {
// MarketGetOrderItems returns items of an order. // MarketGetOrderItems returns items of an order.
// //
// https://vk.com/dev/market.getOrderItems // https://dev.vk.com/method/market.getOrderItems
func (vk *VK) MarketGetOrderItems(params Params) (response MarketGetOrderItemsResponse, err error) { func (vk *VK) MarketGetOrderItems(params Params) (response MarketGetOrderItemsResponse, err error) {
err = vk.RequestUnmarshal("market.getOrderItems", &response, params) err = vk.RequestUnmarshal("market.getOrderItems", &response, params)
return return
@ -251,7 +251,7 @@ func (vk *VK) MarketGetOrderItems(params Params) (response MarketGetOrderItemsRe
// MarketRemoveFromAlbum removes an item from one or multiple collections. // MarketRemoveFromAlbum removes an item from one or multiple collections.
// //
// https://vk.com/dev/market.removeFromAlbum // https://dev.vk.com/method/market.removeFromAlbum
func (vk *VK) MarketRemoveFromAlbum(params Params) (response int, err error) { func (vk *VK) MarketRemoveFromAlbum(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.removeFromAlbum", &response, params) err = vk.RequestUnmarshal("market.removeFromAlbum", &response, params)
return return
@ -259,7 +259,7 @@ func (vk *VK) MarketRemoveFromAlbum(params Params) (response int, err error) {
// MarketReorderAlbums reorders the collections list. // MarketReorderAlbums reorders the collections list.
// //
// https://vk.com/dev/market.reorderAlbums // https://dev.vk.com/method/market.reorderAlbums
func (vk *VK) MarketReorderAlbums(params Params) (response int, err error) { func (vk *VK) MarketReorderAlbums(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.reorderAlbums", &response, params) err = vk.RequestUnmarshal("market.reorderAlbums", &response, params)
return return
@ -267,7 +267,7 @@ func (vk *VK) MarketReorderAlbums(params Params) (response int, err error) {
// MarketReorderItems changes item place in a collection. // MarketReorderItems changes item place in a collection.
// //
// https://vk.com/dev/market.reorderItems // https://dev.vk.com/method/market.reorderItems
func (vk *VK) MarketReorderItems(params Params) (response int, err error) { func (vk *VK) MarketReorderItems(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.reorderItems", &response, params) err = vk.RequestUnmarshal("market.reorderItems", &response, params)
return return
@ -275,7 +275,7 @@ func (vk *VK) MarketReorderItems(params Params) (response int, err error) {
// MarketReport sends a complaint to the item. // MarketReport sends a complaint to the item.
// //
// https://vk.com/dev/market.report // https://dev.vk.com/method/market.report
func (vk *VK) MarketReport(params Params) (response int, err error) { func (vk *VK) MarketReport(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.report", &response, params) err = vk.RequestUnmarshal("market.report", &response, params)
return return
@ -283,7 +283,7 @@ func (vk *VK) MarketReport(params Params) (response int, err error) {
// MarketReportComment sends a complaint to the item's comment. // MarketReportComment sends a complaint to the item's comment.
// //
// https://vk.com/dev/market.reportComment // https://dev.vk.com/method/market.reportComment
func (vk *VK) MarketReportComment(params Params) (response int, err error) { func (vk *VK) MarketReportComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.reportComment", &response, params) err = vk.RequestUnmarshal("market.reportComment", &response, params)
return return
@ -291,7 +291,7 @@ func (vk *VK) MarketReportComment(params Params) (response int, err error) {
// MarketRestore restores recently deleted item. // MarketRestore restores recently deleted item.
// //
// https://vk.com/dev/market.restore // https://dev.vk.com/method/market.restore
func (vk *VK) MarketRestore(params Params) (response int, err error) { func (vk *VK) MarketRestore(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.restore", &response, params) err = vk.RequestUnmarshal("market.restore", &response, params)
return return
@ -299,7 +299,7 @@ func (vk *VK) MarketRestore(params Params) (response int, err error) {
// MarketRestoreComment restores a recently deleted comment. // MarketRestoreComment restores a recently deleted comment.
// //
// https://vk.com/dev/market.restoreComment // https://dev.vk.com/method/market.restoreComment
func (vk *VK) MarketRestoreComment(params Params) (response int, err error) { func (vk *VK) MarketRestoreComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("market.restoreComment", &response, params) err = vk.RequestUnmarshal("market.restoreComment", &response, params)
return return
@ -314,7 +314,7 @@ type MarketSearchResponse struct {
// MarketSearch searches market items in a community's catalog. // MarketSearch searches market items in a community's catalog.
// //
// https://vk.com/dev/market.search // https://dev.vk.com/method/market.search
func (vk *VK) MarketSearch(params Params) (response MarketSearchResponse, err error) { func (vk *VK) MarketSearch(params Params) (response MarketSearchResponse, err error) {
err = vk.RequestUnmarshal("market.search", &response, params) err = vk.RequestUnmarshal("market.search", &response, params)
return return
@ -330,7 +330,7 @@ type MarketSearchItemsResponse struct {
// MarketSearchItems method. // MarketSearchItems method.
// //
// https://vk.com/dev/market.searchItems // https://dev.vk.com/method/market.searchItems
func (vk *VK) MarketSearchItems(params Params) (response MarketSearchItemsResponse, err error) { func (vk *VK) MarketSearchItems(params Params) (response MarketSearchItemsResponse, err error) {
err = vk.RequestUnmarshal("market.searchItems", &response, params) err = vk.RequestUnmarshal("market.searchItems", &response, params)
return return

View File

@ -11,7 +11,7 @@ type MarusiaGetPictureUploadLinkResponse struct {
// MarusiaGetPictureUploadLink method. // MarusiaGetPictureUploadLink method.
// //
// https://vk.com/dev/marusia_skill_docs10 // https://dev.vk.com/ru/marusia/media-api
func (vk *VK) MarusiaGetPictureUploadLink(params Params) (response MarusiaGetPictureUploadLinkResponse, err error) { func (vk *VK) MarusiaGetPictureUploadLink(params Params) (response MarusiaGetPictureUploadLinkResponse, err error) {
err = vk.RequestUnmarshal("marusia.getPictureUploadLink", &response, params) err = vk.RequestUnmarshal("marusia.getPictureUploadLink", &response, params)
return return
@ -25,7 +25,7 @@ type MarusiaSavePictureResponse struct {
// MarusiaSavePicture method. // MarusiaSavePicture method.
// //
// https://vk.com/dev/marusia_skill_docs10 // https://dev.vk.com/ru/marusia/media-api
func (vk *VK) MarusiaSavePicture(params Params) (response MarusiaSavePictureResponse, err error) { func (vk *VK) MarusiaSavePicture(params Params) (response MarusiaSavePictureResponse, err error) {
err = vk.RequestUnmarshal("marusia.savePicture", &response, params) err = vk.RequestUnmarshal("marusia.savePicture", &response, params)
return return
@ -39,7 +39,7 @@ type MarusiaGetPicturesResponse struct {
// MarusiaGetPictures method. // MarusiaGetPictures method.
// //
// https://vk.com/dev/marusia_skill_docs10 // https://dev.vk.com/ru/marusia/media-api
func (vk *VK) MarusiaGetPictures(params Params) (response MarusiaGetPicturesResponse, err error) { func (vk *VK) MarusiaGetPictures(params Params) (response MarusiaGetPicturesResponse, err error) {
err = vk.RequestUnmarshal("marusia.getPictures", &response, params) err = vk.RequestUnmarshal("marusia.getPictures", &response, params)
return return
@ -47,7 +47,7 @@ func (vk *VK) MarusiaGetPictures(params Params) (response MarusiaGetPicturesResp
// MarusiaDeletePicture delete picture. // MarusiaDeletePicture delete picture.
// //
// https://vk.com/dev/marusia_skill_docs10 // https://dev.vk.com/ru/marusia/media-api
func (vk *VK) MarusiaDeletePicture(params Params) (response int, err error) { func (vk *VK) MarusiaDeletePicture(params Params) (response int, err error) {
err = vk.RequestUnmarshal("marusia.deletePicture", &response, params) err = vk.RequestUnmarshal("marusia.deletePicture", &response, params)
return return
@ -60,7 +60,7 @@ type MarusiaGetAudioUploadLinkResponse struct {
// MarusiaGetAudioUploadLink method. // MarusiaGetAudioUploadLink method.
// //
// https://vk.com/dev/marusia_skill_docs10 // https://dev.vk.com/ru/marusia/media-api
func (vk *VK) MarusiaGetAudioUploadLink(params Params) (response MarusiaGetAudioUploadLinkResponse, err error) { func (vk *VK) MarusiaGetAudioUploadLink(params Params) (response MarusiaGetAudioUploadLinkResponse, err error) {
err = vk.RequestUnmarshal("marusia.getAudioUploadLink", &response, params) err = vk.RequestUnmarshal("marusia.getAudioUploadLink", &response, params)
return return
@ -74,7 +74,7 @@ type MarusiaCreateAudioResponse struct {
// MarusiaCreateAudio method. // MarusiaCreateAudio method.
// //
// https://vk.com/dev/marusia_skill_docs10 // https://dev.vk.com/ru/marusia/media-api
func (vk *VK) MarusiaCreateAudio(params Params) (response MarusiaCreateAudioResponse, err error) { func (vk *VK) MarusiaCreateAudio(params Params) (response MarusiaCreateAudioResponse, err error) {
err = vk.RequestUnmarshal("marusia.createAudio", &response, params) err = vk.RequestUnmarshal("marusia.createAudio", &response, params)
return return
@ -88,7 +88,7 @@ type MarusiaGetAudiosResponse struct {
// MarusiaGetAudios method. // MarusiaGetAudios method.
// //
// https://vk.com/dev/marusia_skill_docs10 // https://dev.vk.com/ru/marusia/media-api
func (vk *VK) MarusiaGetAudios(params Params) (response MarusiaGetAudiosResponse, err error) { func (vk *VK) MarusiaGetAudios(params Params) (response MarusiaGetAudiosResponse, err error) {
err = vk.RequestUnmarshal("marusia.getAudios", &response, params) err = vk.RequestUnmarshal("marusia.getAudios", &response, params)
return return
@ -96,7 +96,7 @@ func (vk *VK) MarusiaGetAudios(params Params) (response MarusiaGetAudiosResponse
// MarusiaDeleteAudio delete audio. // MarusiaDeleteAudio delete audio.
// //
// https://vk.com/dev/marusia_skill_docs10 // https://dev.vk.com/ru/marusia/media-api
func (vk *VK) MarusiaDeleteAudio(params Params) (response int, err error) { func (vk *VK) MarusiaDeleteAudio(params Params) (response int, err error) {
err = vk.RequestUnmarshal("marusia.deleteAudio", &response, params) err = vk.RequestUnmarshal("marusia.deleteAudio", &response, params)
return return

View File

@ -9,7 +9,7 @@ import (
// MessagesAddChatUser adds a new user to a chat. // MessagesAddChatUser adds a new user to a chat.
// //
// https://vk.com/dev/messages.addChatUser // https://dev.vk.com/method/messages.addChatUser
func (vk *VK) MessagesAddChatUser(params Params) (response int, err error) { func (vk *VK) MessagesAddChatUser(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.addChatUser", &response, params) err = vk.RequestUnmarshal("messages.addChatUser", &response, params)
return return
@ -17,7 +17,7 @@ func (vk *VK) MessagesAddChatUser(params Params) (response int, err error) {
// MessagesAllowMessagesFromGroup allows sending messages from community to the current user. // MessagesAllowMessagesFromGroup allows sending messages from community to the current user.
// //
// https://vk.com/dev/messages.allowMessagesFromGroup // https://dev.vk.com/method/messages.allowMessagesFromGroup
func (vk *VK) MessagesAllowMessagesFromGroup(params Params) (response int, err error) { func (vk *VK) MessagesAllowMessagesFromGroup(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.allowMessagesFromGroup", &response, params) err = vk.RequestUnmarshal("messages.allowMessagesFromGroup", &response, params)
return return
@ -25,7 +25,7 @@ func (vk *VK) MessagesAllowMessagesFromGroup(params Params) (response int, err e
// MessagesCreateChat creates a chat with several participants. // MessagesCreateChat creates a chat with several participants.
// //
// https://vk.com/dev/messages.createChat // https://dev.vk.com/method/messages.createChat
func (vk *VK) MessagesCreateChat(params Params) (response int, err error) { func (vk *VK) MessagesCreateChat(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.createChat", &response, params) err = vk.RequestUnmarshal("messages.createChat", &response, params)
return return
@ -58,7 +58,7 @@ func (resp *MessagesDeleteResponse) DecodeMsgpack(dec *msgpack.Decoder) error {
// MessagesDelete deletes one or more messages. // MessagesDelete deletes one or more messages.
// //
// https://vk.com/dev/messages.delete // https://dev.vk.com/method/messages.delete
func (vk *VK) MessagesDelete(params Params) (response MessagesDeleteResponse, err error) { func (vk *VK) MessagesDelete(params Params) (response MessagesDeleteResponse, err error) {
err = vk.RequestUnmarshal("messages.delete", &response, params) err = vk.RequestUnmarshal("messages.delete", &response, params)
@ -73,7 +73,7 @@ type MessagesDeleteChatPhotoResponse struct {
// MessagesDeleteChatPhoto deletes a chat's cover picture. // MessagesDeleteChatPhoto deletes a chat's cover picture.
// //
// https://vk.com/dev/messages.deleteChatPhoto // https://dev.vk.com/method/messages.deleteChatPhoto
func (vk *VK) MessagesDeleteChatPhoto(params Params) (response MessagesDeleteChatPhotoResponse, err error) { func (vk *VK) MessagesDeleteChatPhoto(params Params) (response MessagesDeleteChatPhotoResponse, err error) {
err = vk.RequestUnmarshal("messages.deleteChatPhoto", &response, params) err = vk.RequestUnmarshal("messages.deleteChatPhoto", &response, params)
return return
@ -86,7 +86,7 @@ type MessagesDeleteConversationResponse struct {
// MessagesDeleteConversation deletes private messages in a conversation. // MessagesDeleteConversation deletes private messages in a conversation.
// //
// https://vk.com/dev/messages.deleteConversation // https://dev.vk.com/method/messages.deleteConversation
func (vk *VK) MessagesDeleteConversation(params Params) (response MessagesDeleteConversationResponse, err error) { func (vk *VK) MessagesDeleteConversation(params Params) (response MessagesDeleteConversationResponse, err error) {
err = vk.RequestUnmarshal("messages.deleteConversation", &response, params) err = vk.RequestUnmarshal("messages.deleteConversation", &response, params)
return return
@ -94,7 +94,7 @@ func (vk *VK) MessagesDeleteConversation(params Params) (response MessagesDelete
// MessagesDenyMessagesFromGroup denies sending message from community to the current user. // MessagesDenyMessagesFromGroup denies sending message from community to the current user.
// //
// https://vk.com/dev/messages.denyMessagesFromGroup // https://dev.vk.com/method/messages.denyMessagesFromGroup
func (vk *VK) MessagesDenyMessagesFromGroup(params Params) (response int, err error) { func (vk *VK) MessagesDenyMessagesFromGroup(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.denyMessagesFromGroup", &response, params) err = vk.RequestUnmarshal("messages.denyMessagesFromGroup", &response, params)
return return
@ -102,7 +102,7 @@ func (vk *VK) MessagesDenyMessagesFromGroup(params Params) (response int, err er
// MessagesEdit edits the message. // MessagesEdit edits the message.
// //
// https://vk.com/dev/messages.edit // https://dev.vk.com/method/messages.edit
func (vk *VK) MessagesEdit(params Params) (response int, err error) { func (vk *VK) MessagesEdit(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.edit", &response, params) err = vk.RequestUnmarshal("messages.edit", &response, params)
return return
@ -110,7 +110,7 @@ func (vk *VK) MessagesEdit(params Params) (response int, err error) {
// MessagesEditChat edits the title of a chat. // MessagesEditChat edits the title of a chat.
// //
// https://vk.com/dev/messages.editChat // https://dev.vk.com/method/messages.editChat
func (vk *VK) MessagesEditChat(params Params) (response int, err error) { func (vk *VK) MessagesEditChat(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.editChat", &response, params) err = vk.RequestUnmarshal("messages.editChat", &response, params)
return return
@ -120,7 +120,7 @@ func (vk *VK) MessagesEditChat(params Params) (response int, err error) {
// //
// Deprecated: Use CallsForceFinish // Deprecated: Use CallsForceFinish
// //
// https://vk.com/dev/messages.forceCallFinish // https://dev.vk.com/method/messages.forceCallFinish
func (vk *VK) MessagesForceCallFinish(params Params) (response int, err error) { func (vk *VK) MessagesForceCallFinish(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.forceCallFinish", &response, params) err = vk.RequestUnmarshal("messages.forceCallFinish", &response, params)
return return
@ -135,7 +135,7 @@ type MessagesGetByConversationMessageIDResponse struct {
// MessagesGetByConversationMessageID messages.getByConversationMessageId. // MessagesGetByConversationMessageID messages.getByConversationMessageId.
// //
// https://vk.com/dev/messages.getByConversationMessageId // https://dev.vk.com/method/messages.getByConversationMessageId
func (vk *VK) MessagesGetByConversationMessageID(params Params) ( func (vk *VK) MessagesGetByConversationMessageID(params Params) (
response MessagesGetByConversationMessageIDResponse, response MessagesGetByConversationMessageIDResponse,
err error, err error,
@ -154,7 +154,7 @@ type MessagesGetByIDResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/messages.getById // https://dev.vk.com/method/messages.getById
func (vk *VK) MessagesGetByID(params Params) (response MessagesGetByIDResponse, err error) { func (vk *VK) MessagesGetByID(params Params) (response MessagesGetByIDResponse, err error) {
err = vk.RequestUnmarshal("messages.getById", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("messages.getById", &response, params, Params{"extended": false})
@ -172,7 +172,7 @@ type MessagesGetByIDExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/messages.getById // https://dev.vk.com/method/messages.getById
func (vk *VK) MessagesGetByIDExtended(params Params) (response MessagesGetByIDExtendedResponse, err error) { func (vk *VK) MessagesGetByIDExtended(params Params) (response MessagesGetByIDExtendedResponse, err error) {
err = vk.RequestUnmarshal("messages.getById", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("messages.getById", &response, params, Params{"extended": true})
@ -184,7 +184,7 @@ type MessagesGetChatResponse object.MessagesChat
// MessagesGetChat returns information about a chat. // MessagesGetChat returns information about a chat.
// //
// https://vk.com/dev/messages.getChat // https://dev.vk.com/method/messages.getChat
func (vk *VK) MessagesGetChat(params Params) (response MessagesGetChatResponse, err error) { func (vk *VK) MessagesGetChat(params Params) (response MessagesGetChatResponse, err error) {
err = vk.RequestUnmarshal("messages.getChat", &response, params) err = vk.RequestUnmarshal("messages.getChat", &response, params)
return return
@ -195,7 +195,7 @@ type MessagesGetChatChatIDsResponse []object.MessagesChat
// MessagesGetChatChatIDs returns information about a chat. // MessagesGetChatChatIDs returns information about a chat.
// //
// https://vk.com/dev/messages.getChat // https://dev.vk.com/method/messages.getChat
func (vk *VK) MessagesGetChatChatIDs(params Params) (response MessagesGetChatChatIDsResponse, err error) { func (vk *VK) MessagesGetChatChatIDs(params Params) (response MessagesGetChatChatIDsResponse, err error) {
err = vk.RequestUnmarshal("messages.getChat", &response, params) err = vk.RequestUnmarshal("messages.getChat", &response, params)
return return
@ -209,7 +209,7 @@ type MessagesGetChatPreviewResponse struct {
// MessagesGetChatPreview allows to receive chat preview by the invitation link. // MessagesGetChatPreview allows to receive chat preview by the invitation link.
// //
// https://vk.com/dev/messages.getChatPreview // https://dev.vk.com/method/messages.getChatPreview
func (vk *VK) MessagesGetChatPreview(params Params) (response MessagesGetChatPreviewResponse, err error) { func (vk *VK) MessagesGetChatPreview(params Params) (response MessagesGetChatPreviewResponse, err error) {
err = vk.RequestUnmarshal("messages.getChatPreview", &response, params) err = vk.RequestUnmarshal("messages.getChatPreview", &response, params)
return return
@ -237,7 +237,7 @@ type MessagesGetConversationMembersResponse struct {
// MessagesGetConversationMembers returns a list of IDs of users participating in a conversation. // MessagesGetConversationMembers returns a list of IDs of users participating in a conversation.
// //
// https://vk.com/dev/messages.getConversationMembers // https://dev.vk.com/method/messages.getConversationMembers
func (vk *VK) MessagesGetConversationMembers(params Params) ( func (vk *VK) MessagesGetConversationMembers(params Params) (
response MessagesGetConversationMembersResponse, response MessagesGetConversationMembersResponse,
err error, err error,
@ -256,7 +256,7 @@ type MessagesGetConversationsResponse struct {
// MessagesGetConversations returns a list of conversations. // MessagesGetConversations returns a list of conversations.
// //
// https://vk.com/dev/messages.getConversations // https://dev.vk.com/method/messages.getConversations
func (vk *VK) MessagesGetConversations(params Params) (response MessagesGetConversationsResponse, err error) { func (vk *VK) MessagesGetConversations(params Params) (response MessagesGetConversationsResponse, err error) {
err = vk.RequestUnmarshal("messages.getConversations", &response, params) err = vk.RequestUnmarshal("messages.getConversations", &response, params)
return return
@ -272,7 +272,7 @@ type MessagesGetConversationsByIDResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/messages.getConversationsById // https://dev.vk.com/method/messages.getConversationsById
func (vk *VK) MessagesGetConversationsByID(params Params) (response MessagesGetConversationsByIDResponse, err error) { func (vk *VK) MessagesGetConversationsByID(params Params) (response MessagesGetConversationsByIDResponse, err error) {
err = vk.RequestUnmarshal("messages.getConversationsById", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("messages.getConversationsById", &response, params, Params{"extended": false})
@ -290,7 +290,7 @@ type MessagesGetConversationsByIDExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/messages.getConversationsById // https://dev.vk.com/method/messages.getConversationsById
func (vk *VK) MessagesGetConversationsByIDExtended(params Params) ( func (vk *VK) MessagesGetConversationsByIDExtended(params Params) (
response MessagesGetConversationsByIDExtendedResponse, response MessagesGetConversationsByIDExtendedResponse,
err error, err error,
@ -319,7 +319,7 @@ type MessagesGetHistoryResponse struct {
// MessagesGetHistory returns message history for the specified user or group chat. // MessagesGetHistory returns message history for the specified user or group chat.
// //
// https://vk.com/dev/messages.getHistory // https://dev.vk.com/method/messages.getHistory
func (vk *VK) MessagesGetHistory(params Params) (response MessagesGetHistoryResponse, err error) { func (vk *VK) MessagesGetHistory(params Params) (response MessagesGetHistoryResponse, err error) {
err = vk.RequestUnmarshal("messages.getHistory", &response, params) err = vk.RequestUnmarshal("messages.getHistory", &response, params)
return return
@ -334,7 +334,7 @@ type MessagesGetHistoryAttachmentsResponse struct {
// MessagesGetHistoryAttachments returns media files from the dialog or group chat. // MessagesGetHistoryAttachments returns media files from the dialog or group chat.
// //
// https://vk.com/dev/messages.getHistoryAttachments // https://dev.vk.com/method/messages.getHistoryAttachments
func (vk *VK) MessagesGetHistoryAttachments(params Params) (response MessagesGetHistoryAttachmentsResponse, err error) { func (vk *VK) MessagesGetHistoryAttachments(params Params) (response MessagesGetHistoryAttachmentsResponse, err error) {
err = vk.RequestUnmarshal("messages.getHistoryAttachments", &response, params) err = vk.RequestUnmarshal("messages.getHistoryAttachments", &response, params)
return return
@ -352,7 +352,7 @@ type MessagesGetImportantMessagesResponse struct {
// MessagesGetImportantMessages messages.getImportantMessages. // MessagesGetImportantMessages messages.getImportantMessages.
// //
// https://vk.com/dev/messages.getImportantMessages // https://dev.vk.com/method/messages.getImportantMessages
func (vk *VK) MessagesGetImportantMessages(params Params) (response MessagesGetImportantMessagesResponse, err error) { func (vk *VK) MessagesGetImportantMessages(params Params) (response MessagesGetImportantMessagesResponse, err error) {
err = vk.RequestUnmarshal("messages.getImportantMessages", &response, params) err = vk.RequestUnmarshal("messages.getImportantMessages", &response, params)
return return
@ -367,7 +367,7 @@ type MessagesGetIntentUsersResponse struct {
// MessagesGetIntentUsers method. // MessagesGetIntentUsers method.
// //
// https://vk.com/dev/messages.getIntentUsers // https://dev.vk.com/method/messages.getIntentUsers
func (vk *VK) MessagesGetIntentUsers(params Params) (response MessagesGetIntentUsersResponse, err error) { func (vk *VK) MessagesGetIntentUsers(params Params) (response MessagesGetIntentUsersResponse, err error) {
err = vk.RequestUnmarshal("messages.getIntentUsers", &response, params) err = vk.RequestUnmarshal("messages.getIntentUsers", &response, params)
return return
@ -380,7 +380,7 @@ type MessagesGetInviteLinkResponse struct {
// MessagesGetInviteLink receives a link to invite a user to the chat. // MessagesGetInviteLink receives a link to invite a user to the chat.
// //
// https://vk.com/dev/messages.getInviteLink // https://dev.vk.com/method/messages.getInviteLink
func (vk *VK) MessagesGetInviteLink(params Params) (response MessagesGetInviteLinkResponse, err error) { func (vk *VK) MessagesGetInviteLink(params Params) (response MessagesGetInviteLinkResponse, err error) {
err = vk.RequestUnmarshal("messages.getInviteLink", &response, params) err = vk.RequestUnmarshal("messages.getInviteLink", &response, params)
return return
@ -391,7 +391,7 @@ type MessagesGetLastActivityResponse object.MessagesLastActivity
// MessagesGetLastActivity returns a user's current status and date of last activity. // MessagesGetLastActivity returns a user's current status and date of last activity.
// //
// https://vk.com/dev/messages.getLastActivity // https://dev.vk.com/method/messages.getLastActivity
func (vk *VK) MessagesGetLastActivity(params Params) (response MessagesGetLastActivityResponse, err error) { func (vk *VK) MessagesGetLastActivity(params Params) (response MessagesGetLastActivityResponse, err error) {
err = vk.RequestUnmarshal("messages.getLastActivity", &response, params) err = vk.RequestUnmarshal("messages.getLastActivity", &response, params)
return return
@ -415,7 +415,7 @@ type MessagesGetLongPollHistoryResponse struct {
// MessagesGetLongPollHistory returns updates in user's private messages. // MessagesGetLongPollHistory returns updates in user's private messages.
// //
// https://vk.com/dev/messages.getLongPollHistory // https://dev.vk.com/method/messages.getLongPollHistory
func (vk *VK) MessagesGetLongPollHistory(params Params) (response MessagesGetLongPollHistoryResponse, err error) { func (vk *VK) MessagesGetLongPollHistory(params Params) (response MessagesGetLongPollHistoryResponse, err error) {
err = vk.RequestUnmarshal("messages.getLongPollHistory", &response, params) err = vk.RequestUnmarshal("messages.getLongPollHistory", &response, params)
return return
@ -426,7 +426,7 @@ type MessagesGetLongPollServerResponse object.MessagesLongPollParams
// MessagesGetLongPollServer returns data required for connection to a Long Poll server. // MessagesGetLongPollServer returns data required for connection to a Long Poll server.
// //
// https://vk.com/dev/messages.getLongPollServer // https://dev.vk.com/method/messages.getLongPollServer
func (vk *VK) MessagesGetLongPollServer(params Params) (response MessagesGetLongPollServerResponse, err error) { func (vk *VK) MessagesGetLongPollServer(params Params) (response MessagesGetLongPollServerResponse, err error) {
err = vk.RequestUnmarshal("messages.getLongPollServer", &response, params) err = vk.RequestUnmarshal("messages.getLongPollServer", &response, params)
return return
@ -440,7 +440,7 @@ type MessagesIsMessagesFromGroupAllowedResponse struct {
// MessagesIsMessagesFromGroupAllowed returns information whether // MessagesIsMessagesFromGroupAllowed returns information whether
// sending messages from the community to current user is allowed. // sending messages from the community to current user is allowed.
// //
// https://vk.com/dev/messages.isMessagesFromGroupAllowed // https://dev.vk.com/method/messages.isMessagesFromGroupAllowed
func (vk *VK) MessagesIsMessagesFromGroupAllowed(params Params) ( func (vk *VK) MessagesIsMessagesFromGroupAllowed(params Params) (
response MessagesIsMessagesFromGroupAllowedResponse, response MessagesIsMessagesFromGroupAllowedResponse,
err error, err error,
@ -456,7 +456,7 @@ type MessagesJoinChatByInviteLinkResponse struct {
// MessagesJoinChatByInviteLink allows to enter the chat by the invitation link. // MessagesJoinChatByInviteLink allows to enter the chat by the invitation link.
// //
// https://vk.com/dev/messages.joinChatByInviteLink // https://dev.vk.com/method/messages.joinChatByInviteLink
func (vk *VK) MessagesJoinChatByInviteLink(params Params) (response MessagesJoinChatByInviteLinkResponse, err error) { func (vk *VK) MessagesJoinChatByInviteLink(params Params) (response MessagesJoinChatByInviteLinkResponse, err error) {
err = vk.RequestUnmarshal("messages.joinChatByInviteLink", &response, params) err = vk.RequestUnmarshal("messages.joinChatByInviteLink", &response, params)
return return
@ -464,7 +464,7 @@ func (vk *VK) MessagesJoinChatByInviteLink(params Params) (response MessagesJoin
// MessagesMarkAsAnsweredConversation messages.markAsAnsweredConversation. // MessagesMarkAsAnsweredConversation messages.markAsAnsweredConversation.
// //
// https://vk.com/dev/messages.markAsAnsweredConversation // https://dev.vk.com/method/messages.markAsAnsweredConversation
func (vk *VK) MessagesMarkAsAnsweredConversation(params Params) (response int, err error) { func (vk *VK) MessagesMarkAsAnsweredConversation(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.markAsAnsweredConversation", &response, params) err = vk.RequestUnmarshal("messages.markAsAnsweredConversation", &response, params)
return return
@ -475,7 +475,7 @@ type MessagesMarkAsImportantResponse []int
// MessagesMarkAsImportant marks and un marks messages as important (starred). // MessagesMarkAsImportant marks and un marks messages as important (starred).
// //
// https://vk.com/dev/messages.markAsImportant // https://dev.vk.com/method/messages.markAsImportant
func (vk *VK) MessagesMarkAsImportant(params Params) (response MessagesMarkAsImportantResponse, err error) { func (vk *VK) MessagesMarkAsImportant(params Params) (response MessagesMarkAsImportantResponse, err error) {
err = vk.RequestUnmarshal("messages.markAsImportant", &response, params) err = vk.RequestUnmarshal("messages.markAsImportant", &response, params)
return return
@ -483,7 +483,7 @@ func (vk *VK) MessagesMarkAsImportant(params Params) (response MessagesMarkAsImp
// MessagesMarkAsImportantConversation messages.markAsImportantConversation. // MessagesMarkAsImportantConversation messages.markAsImportantConversation.
// //
// https://vk.com/dev/messages.markAsImportantConversation // https://dev.vk.com/method/messages.markAsImportantConversation
func (vk *VK) MessagesMarkAsImportantConversation(params Params) (response int, err error) { func (vk *VK) MessagesMarkAsImportantConversation(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.markAsImportantConversation", &response, params) err = vk.RequestUnmarshal("messages.markAsImportantConversation", &response, params)
return return
@ -491,7 +491,7 @@ func (vk *VK) MessagesMarkAsImportantConversation(params Params) (response int,
// MessagesMarkAsRead marks messages as read. // MessagesMarkAsRead marks messages as read.
// //
// https://vk.com/dev/messages.markAsRead // https://dev.vk.com/method/messages.markAsRead
func (vk *VK) MessagesMarkAsRead(params Params) (response int, err error) { func (vk *VK) MessagesMarkAsRead(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.markAsRead", &response, params) err = vk.RequestUnmarshal("messages.markAsRead", &response, params)
return return
@ -502,7 +502,7 @@ type MessagesPinResponse object.MessagesMessage
// MessagesPin messages.pin. // MessagesPin messages.pin.
// //
// https://vk.com/dev/messages.pin // https://dev.vk.com/method/messages.pin
func (vk *VK) MessagesPin(params Params) (response MessagesPinResponse, err error) { func (vk *VK) MessagesPin(params Params) (response MessagesPinResponse, err error) {
err = vk.RequestUnmarshal("messages.pin", &response, params) err = vk.RequestUnmarshal("messages.pin", &response, params)
return return
@ -512,7 +512,7 @@ func (vk *VK) MessagesPin(params Params) (response MessagesPinResponse, err erro
// current user started the chat, allows the user to remove another user from // current user started the chat, allows the user to remove another user from
// the chat. // the chat.
// //
// https://vk.com/dev/messages.removeChatUser // https://dev.vk.com/method/messages.removeChatUser
func (vk *VK) MessagesRemoveChatUser(params Params) (response int, err error) { func (vk *VK) MessagesRemoveChatUser(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.removeChatUser", &response, params) err = vk.RequestUnmarshal("messages.removeChatUser", &response, params)
return return
@ -520,7 +520,7 @@ func (vk *VK) MessagesRemoveChatUser(params Params) (response int, err error) {
// MessagesRestore restores a deleted message. // MessagesRestore restores a deleted message.
// //
// https://vk.com/dev/messages.restore // https://dev.vk.com/method/messages.restore
func (vk *VK) MessagesRestore(params Params) (response int, err error) { func (vk *VK) MessagesRestore(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.restore", &response, params) err = vk.RequestUnmarshal("messages.restore", &response, params)
return return
@ -536,7 +536,7 @@ type MessagesSearchResponse struct {
// MessagesSearch returns a list of the current user's private messages that match search criteria. // MessagesSearch returns a list of the current user's private messages that match search criteria.
// //
// https://vk.com/dev/messages.search // https://dev.vk.com/method/messages.search
func (vk *VK) MessagesSearch(params Params) (response MessagesSearchResponse, err error) { func (vk *VK) MessagesSearch(params Params) (response MessagesSearchResponse, err error) {
err = vk.RequestUnmarshal("messages.search", &response, params) err = vk.RequestUnmarshal("messages.search", &response, params)
return return
@ -551,7 +551,7 @@ type MessagesSearchConversationsResponse struct {
// MessagesSearchConversations returns a list of conversations that match search criteria. // MessagesSearchConversations returns a list of conversations that match search criteria.
// //
// https://vk.com/dev/messages.searchConversations // https://dev.vk.com/method/messages.searchConversations
func (vk *VK) MessagesSearchConversations(params Params) (response MessagesSearchConversationsResponse, err error) { func (vk *VK) MessagesSearchConversations(params Params) (response MessagesSearchConversationsResponse, err error) {
err = vk.RequestUnmarshal("messages.searchConversations", &response, params) err = vk.RequestUnmarshal("messages.searchConversations", &response, params)
return return
@ -561,7 +561,7 @@ func (vk *VK) MessagesSearchConversations(params Params) (response MessagesSearc
// //
// For user_ids or peer_ids parameters, use MessagesSendUserIDs. // For user_ids or peer_ids parameters, use MessagesSendUserIDs.
// //
// https://vk.com/dev/messages.send // https://dev.vk.com/method/messages.send
func (vk *VK) MessagesSend(params Params) (response int, err error) { func (vk *VK) MessagesSend(params Params) (response int, err error) {
reqParams := Params{ reqParams := Params{
"user_ids": "", "user_ids": "",
@ -587,7 +587,7 @@ type MessagesSendUserIDsResponse []struct {
// //
// need peer_ids; // need peer_ids;
// //
// https://vk.com/dev/messages.send // https://dev.vk.com/method/messages.send
func (vk *VK) MessagesSendPeerIDs(params Params) (response MessagesSendUserIDsResponse, err error) { func (vk *VK) MessagesSendPeerIDs(params Params) (response MessagesSendUserIDsResponse, err error) {
err = vk.RequestUnmarshal("messages.send", &response, params) err = vk.RequestUnmarshal("messages.send", &response, params)
return return
@ -597,7 +597,7 @@ func (vk *VK) MessagesSendPeerIDs(params Params) (response MessagesSendUserIDsRe
// //
// need user_ids or peer_ids; // need user_ids or peer_ids;
// //
// https://vk.com/dev/messages.send // https://dev.vk.com/method/messages.send
// //
// Deprecated: user_ids outdated, use MessagesSendPeerIDs. // Deprecated: user_ids outdated, use MessagesSendPeerIDs.
func (vk *VK) MessagesSendUserIDs(params Params) (response MessagesSendUserIDsResponse, err error) { func (vk *VK) MessagesSendUserIDs(params Params) (response MessagesSendUserIDsResponse, err error) {
@ -606,7 +606,7 @@ func (vk *VK) MessagesSendUserIDs(params Params) (response MessagesSendUserIDsRe
// MessagesSendMessageEventAnswer method. // MessagesSendMessageEventAnswer method.
// //
// https://vk.com/dev/messages.sendMessageEventAnswer // https://dev.vk.com/method/messages.sendMessageEventAnswer
func (vk *VK) MessagesSendMessageEventAnswer(params Params) (response int, err error) { func (vk *VK) MessagesSendMessageEventAnswer(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.sendMessageEventAnswer", &response, params) err = vk.RequestUnmarshal("messages.sendMessageEventAnswer", &response, params)
return return
@ -614,7 +614,7 @@ func (vk *VK) MessagesSendMessageEventAnswer(params Params) (response int, err e
// MessagesSendSticker sends a message. // MessagesSendSticker sends a message.
// //
// https://vk.com/dev/messages.sendSticker // https://dev.vk.com/method/messages.sendSticker
func (vk *VK) MessagesSendSticker(params Params) (response int, err error) { func (vk *VK) MessagesSendSticker(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.sendSticker", &response, params, Params{"user_ids": ""}) err = vk.RequestUnmarshal("messages.sendSticker", &response, params, Params{"user_ids": ""})
@ -623,7 +623,7 @@ func (vk *VK) MessagesSendSticker(params Params) (response int, err error) {
// MessagesSetActivity changes the status of a user as typing in a conversation. // MessagesSetActivity changes the status of a user as typing in a conversation.
// //
// https://vk.com/dev/messages.setActivity // https://dev.vk.com/method/messages.setActivity
func (vk *VK) MessagesSetActivity(params Params) (response int, err error) { func (vk *VK) MessagesSetActivity(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.setActivity", &response, params) err = vk.RequestUnmarshal("messages.setActivity", &response, params)
return return
@ -637,7 +637,7 @@ type MessagesSetChatPhotoResponse struct {
// MessagesSetChatPhoto sets a previously-uploaded picture as the cover picture of a chat. // MessagesSetChatPhoto sets a previously-uploaded picture as the cover picture of a chat.
// //
// https://vk.com/dev/messages.setChatPhoto // https://dev.vk.com/method/messages.setChatPhoto
func (vk *VK) MessagesSetChatPhoto(params Params) (response MessagesSetChatPhotoResponse, err error) { func (vk *VK) MessagesSetChatPhoto(params Params) (response MessagesSetChatPhotoResponse, err error) {
err = vk.RequestUnmarshal("messages.setChatPhoto", &response, params) err = vk.RequestUnmarshal("messages.setChatPhoto", &response, params)
return return
@ -653,7 +653,7 @@ type MessagesStartCallResponse struct {
// //
// Deprecated: Use CallsStart // Deprecated: Use CallsStart
// //
// https://vk.com/dev/messages.startCall // https://dev.vk.com/method/messages.startCall
func (vk *VK) MessagesStartCall(params Params) (response MessagesStartCallResponse, err error) { func (vk *VK) MessagesStartCall(params Params) (response MessagesStartCallResponse, err error) {
err = vk.RequestUnmarshal("messages.startCall", &response, params) err = vk.RequestUnmarshal("messages.startCall", &response, params)
return return
@ -661,7 +661,7 @@ func (vk *VK) MessagesStartCall(params Params) (response MessagesStartCallRespon
// MessagesUnpin messages.unpin. // MessagesUnpin messages.unpin.
// //
// https://vk.com/dev/messages.unpin // https://dev.vk.com/method/messages.unpin
func (vk *VK) MessagesUnpin(params Params) (response int, err error) { func (vk *VK) MessagesUnpin(params Params) (response int, err error) {
err = vk.RequestUnmarshal("messages.unpin", &response, params) err = vk.RequestUnmarshal("messages.unpin", &response, params)
return return

View File

@ -7,7 +7,7 @@ import (
// NewsfeedAddBan prevents news from specified users and communities // NewsfeedAddBan prevents news from specified users and communities
// from appearing in the current user's newsfeed. // from appearing in the current user's newsfeed.
// //
// https://vk.com/dev/newsfeed.addBan // https://dev.vk.com/method/newsfeed.addBan
func (vk *VK) NewsfeedAddBan(params Params) (response int, err error) { func (vk *VK) NewsfeedAddBan(params Params) (response int, err error) {
err = vk.RequestUnmarshal("newsfeed.addBan", &response, params) err = vk.RequestUnmarshal("newsfeed.addBan", &response, params)
return return
@ -16,7 +16,7 @@ func (vk *VK) NewsfeedAddBan(params Params) (response int, err error) {
// NewsfeedDeleteBan allows news from previously banned users and // NewsfeedDeleteBan allows news from previously banned users and
// communities to be shown in the current user's newsfeed. // communities to be shown in the current user's newsfeed.
// //
// https://vk.com/dev/newsfeed.deleteBan // https://dev.vk.com/method/newsfeed.deleteBan
func (vk *VK) NewsfeedDeleteBan(params Params) (response int, err error) { func (vk *VK) NewsfeedDeleteBan(params Params) (response int, err error) {
err = vk.RequestUnmarshal("newsfeed.deleteBan", &response, params) err = vk.RequestUnmarshal("newsfeed.deleteBan", &response, params)
return return
@ -24,7 +24,7 @@ func (vk *VK) NewsfeedDeleteBan(params Params) (response int, err error) {
// NewsfeedDeleteList the method allows you to delete a custom news list. // NewsfeedDeleteList the method allows you to delete a custom news list.
// //
// https://vk.com/dev/newsfeed.deleteList // https://dev.vk.com/method/newsfeed.deleteList
func (vk *VK) NewsfeedDeleteList(params Params) (response int, err error) { func (vk *VK) NewsfeedDeleteList(params Params) (response int, err error) {
err = vk.RequestUnmarshal("newsfeed.deleteList", &response, params) err = vk.RequestUnmarshal("newsfeed.deleteList", &response, params)
return return
@ -39,7 +39,7 @@ type NewsfeedGetResponse struct {
// NewsfeedGet returns data required to show newsfeed for the current user. // NewsfeedGet returns data required to show newsfeed for the current user.
// //
// https://vk.com/dev/newsfeed.get // https://dev.vk.com/method/newsfeed.get
func (vk *VK) NewsfeedGet(params Params) (response NewsfeedGetResponse, err error) { func (vk *VK) NewsfeedGet(params Params) (response NewsfeedGetResponse, err error) {
err = vk.RequestUnmarshal("newsfeed.get", &response, params) err = vk.RequestUnmarshal("newsfeed.get", &response, params)
return return
@ -55,7 +55,7 @@ type NewsfeedGetBannedResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/newsfeed.getBanned // https://dev.vk.com/method/newsfeed.getBanned
func (vk *VK) NewsfeedGetBanned(params Params) (response NewsfeedGetBannedResponse, err error) { func (vk *VK) NewsfeedGetBanned(params Params) (response NewsfeedGetBannedResponse, err error) {
err = vk.RequestUnmarshal("newsfeed.getBanned", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("newsfeed.getBanned", &response, params, Params{"extended": false})
@ -71,7 +71,7 @@ type NewsfeedGetBannedExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/newsfeed.getBanned // https://dev.vk.com/method/newsfeed.getBanned
func (vk *VK) NewsfeedGetBannedExtended(params Params) (response NewsfeedGetBannedExtendedResponse, err error) { func (vk *VK) NewsfeedGetBannedExtended(params Params) (response NewsfeedGetBannedExtendedResponse, err error) {
err = vk.RequestUnmarshal("newsfeed.getBanned", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("newsfeed.getBanned", &response, params, Params{"extended": true})
@ -87,7 +87,7 @@ type NewsfeedGetCommentsResponse struct {
// NewsfeedGetComments returns a list of comments in the current user's newsfeed. // NewsfeedGetComments returns a list of comments in the current user's newsfeed.
// //
// https://vk.com/dev/newsfeed.getComments // https://dev.vk.com/method/newsfeed.getComments
func (vk *VK) NewsfeedGetComments(params Params) (response NewsfeedGetCommentsResponse, err error) { func (vk *VK) NewsfeedGetComments(params Params) (response NewsfeedGetCommentsResponse, err error) {
err = vk.RequestUnmarshal("newsfeed.getComments", &response, params) err = vk.RequestUnmarshal("newsfeed.getComments", &response, params)
return return
@ -106,7 +106,7 @@ type NewsfeedGetListsResponse struct {
// NewsfeedGetLists returns a list of newsfeeds followed by the current user. // NewsfeedGetLists returns a list of newsfeeds followed by the current user.
// //
// https://vk.com/dev/newsfeed.getLists // https://dev.vk.com/method/newsfeed.getLists
func (vk *VK) NewsfeedGetLists(params Params) (response NewsfeedGetListsResponse, err error) { func (vk *VK) NewsfeedGetLists(params Params) (response NewsfeedGetListsResponse, err error) {
err = vk.RequestUnmarshal("newsfeed.getLists", &response, params) err = vk.RequestUnmarshal("newsfeed.getLists", &response, params)
return return
@ -120,7 +120,7 @@ type NewsfeedGetMentionsResponse struct {
// NewsfeedGetMentions returns a list of posts on user walls in which the current user is mentioned. // NewsfeedGetMentions returns a list of posts on user walls in which the current user is mentioned.
// //
// https://vk.com/dev/newsfeed.getMentions // https://dev.vk.com/method/newsfeed.getMentions
func (vk *VK) NewsfeedGetMentions(params Params) (response NewsfeedGetMentionsResponse, err error) { func (vk *VK) NewsfeedGetMentions(params Params) (response NewsfeedGetMentionsResponse, err error) {
err = vk.RequestUnmarshal("newsfeed.getMentions", &response, params) err = vk.RequestUnmarshal("newsfeed.getMentions", &response, params)
return return
@ -137,7 +137,7 @@ type NewsfeedGetRecommendedResponse struct {
// NewsfeedGetRecommended returns a list of newsfeeds recommended to the current user. // NewsfeedGetRecommended returns a list of newsfeeds recommended to the current user.
// //
// https://vk.com/dev/newsfeed.getRecommended // https://dev.vk.com/method/newsfeed.getRecommended
func (vk *VK) NewsfeedGetRecommended(params Params) (response NewsfeedGetRecommendedResponse, err error) { func (vk *VK) NewsfeedGetRecommended(params Params) (response NewsfeedGetRecommendedResponse, err error) {
err = vk.RequestUnmarshal("newsfeed.getRecommended", &response, params) err = vk.RequestUnmarshal("newsfeed.getRecommended", &response, params)
return return
@ -151,7 +151,7 @@ type NewsfeedGetSuggestedSourcesResponse struct {
// NewsfeedGetSuggestedSources returns communities and users that current user is suggested to follow. // NewsfeedGetSuggestedSources returns communities and users that current user is suggested to follow.
// //
// https://vk.com/dev/newsfeed.getSuggestedSources // https://dev.vk.com/method/newsfeed.getSuggestedSources
func (vk *VK) NewsfeedGetSuggestedSources(params Params) (response NewsfeedGetSuggestedSourcesResponse, err error) { func (vk *VK) NewsfeedGetSuggestedSources(params Params) (response NewsfeedGetSuggestedSourcesResponse, err error) {
err = vk.RequestUnmarshal("newsfeed.getSuggestedSources", &response, params) err = vk.RequestUnmarshal("newsfeed.getSuggestedSources", &response, params)
return return
@ -159,7 +159,7 @@ func (vk *VK) NewsfeedGetSuggestedSources(params Params) (response NewsfeedGetSu
// NewsfeedIgnoreItem hides an item from the newsfeed. // NewsfeedIgnoreItem hides an item from the newsfeed.
// //
// https://vk.com/dev/newsfeed.ignoreItem // https://dev.vk.com/method/newsfeed.ignoreItem
func (vk *VK) NewsfeedIgnoreItem(params Params) (response int, err error) { func (vk *VK) NewsfeedIgnoreItem(params Params) (response int, err error) {
err = vk.RequestUnmarshal("newsfeed.ignoreItem", &response, params) err = vk.RequestUnmarshal("newsfeed.ignoreItem", &response, params)
return return
@ -167,7 +167,7 @@ func (vk *VK) NewsfeedIgnoreItem(params Params) (response int, err error) {
// NewsfeedSaveList creates and edits user newsfeed lists. // NewsfeedSaveList creates and edits user newsfeed lists.
// //
// https://vk.com/dev/newsfeed.saveList // https://dev.vk.com/method/newsfeed.saveList
func (vk *VK) NewsfeedSaveList(params Params) (response int, err error) { func (vk *VK) NewsfeedSaveList(params Params) (response int, err error) {
err = vk.RequestUnmarshal("newsfeed.saveList", &response, params) err = vk.RequestUnmarshal("newsfeed.saveList", &response, params)
return return
@ -185,7 +185,7 @@ type NewsfeedSearchResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/newsfeed.search // https://dev.vk.com/method/newsfeed.search
func (vk *VK) NewsfeedSearch(params Params) (response NewsfeedSearchResponse, err error) { func (vk *VK) NewsfeedSearch(params Params) (response NewsfeedSearchResponse, err error) {
err = vk.RequestUnmarshal("newsfeed.search", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("newsfeed.search", &response, params, Params{"extended": false})
@ -206,7 +206,7 @@ type NewsfeedSearchExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/newsfeed.search // https://dev.vk.com/method/newsfeed.search
func (vk *VK) NewsfeedSearchExtended(params Params) (response NewsfeedSearchExtendedResponse, err error) { func (vk *VK) NewsfeedSearchExtended(params Params) (response NewsfeedSearchExtendedResponse, err error) {
err = vk.RequestUnmarshal("newsfeed.search", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("newsfeed.search", &response, params, Params{"extended": true})
@ -215,7 +215,7 @@ func (vk *VK) NewsfeedSearchExtended(params Params) (response NewsfeedSearchExte
// NewsfeedUnignoreItem returns a hidden item to the newsfeed. // NewsfeedUnignoreItem returns a hidden item to the newsfeed.
// //
// https://vk.com/dev/newsfeed.unignoreItem // https://dev.vk.com/method/newsfeed.unignoreItem
func (vk *VK) NewsfeedUnignoreItem(params Params) (response int, err error) { func (vk *VK) NewsfeedUnignoreItem(params Params) (response int, err error) {
err = vk.RequestUnmarshal("newsfeed.unignoreItem", &response, params) err = vk.RequestUnmarshal("newsfeed.unignoreItem", &response, params)
return return
@ -223,7 +223,7 @@ func (vk *VK) NewsfeedUnignoreItem(params Params) (response int, err error) {
// NewsfeedUnsubscribe unsubscribes the current user from specified newsfeeds. // NewsfeedUnsubscribe unsubscribes the current user from specified newsfeeds.
// //
// https://vk.com/dev/newsfeed.unsubscribe // https://dev.vk.com/method/newsfeed.unsubscribe
func (vk *VK) NewsfeedUnsubscribe(params Params) (response int, err error) { func (vk *VK) NewsfeedUnsubscribe(params Params) (response int, err error) {
err = vk.RequestUnmarshal("newsfeed.unsubscribe", &response, params) err = vk.RequestUnmarshal("newsfeed.unsubscribe", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// NotesAdd creates a new note for the current user. // NotesAdd creates a new note for the current user.
// //
// https://vk.com/dev/notes.add // https://dev.vk.com/method/notes.add
func (vk *VK) NotesAdd(params Params) (response int, err error) { func (vk *VK) NotesAdd(params Params) (response int, err error) {
err = vk.RequestUnmarshal("notes.add", &response, params) err = vk.RequestUnmarshal("notes.add", &response, params)
return return
@ -14,7 +14,7 @@ func (vk *VK) NotesAdd(params Params) (response int, err error) {
// NotesCreateComment adds a new comment on a note. // NotesCreateComment adds a new comment on a note.
// //
// https://vk.com/dev/notes.createComment // https://dev.vk.com/method/notes.createComment
func (vk *VK) NotesCreateComment(params Params) (response int, err error) { func (vk *VK) NotesCreateComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("notes.createComment", &response, params) err = vk.RequestUnmarshal("notes.createComment", &response, params)
return return
@ -22,7 +22,7 @@ func (vk *VK) NotesCreateComment(params Params) (response int, err error) {
// NotesDelete deletes a note of the current user. // NotesDelete deletes a note of the current user.
// //
// https://vk.com/dev/notes.delete // https://dev.vk.com/method/notes.delete
func (vk *VK) NotesDelete(params Params) (response int, err error) { func (vk *VK) NotesDelete(params Params) (response int, err error) {
err = vk.RequestUnmarshal("notes.delete", &response, params) err = vk.RequestUnmarshal("notes.delete", &response, params)
return return
@ -30,7 +30,7 @@ func (vk *VK) NotesDelete(params Params) (response int, err error) {
// NotesDeleteComment deletes a comment on a note. // NotesDeleteComment deletes a comment on a note.
// //
// https://vk.com/dev/notes.deleteComment // https://dev.vk.com/method/notes.deleteComment
func (vk *VK) NotesDeleteComment(params Params) (response int, err error) { func (vk *VK) NotesDeleteComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("notes.deleteComment", &response, params) err = vk.RequestUnmarshal("notes.deleteComment", &response, params)
return return
@ -38,7 +38,7 @@ func (vk *VK) NotesDeleteComment(params Params) (response int, err error) {
// NotesEdit edits a note of the current user. // NotesEdit edits a note of the current user.
// //
// https://vk.com/dev/notes.edit // https://dev.vk.com/method/notes.edit
func (vk *VK) NotesEdit(params Params) (response int, err error) { func (vk *VK) NotesEdit(params Params) (response int, err error) {
err = vk.RequestUnmarshal("notes.edit", &response, params) err = vk.RequestUnmarshal("notes.edit", &response, params)
return return
@ -46,7 +46,7 @@ func (vk *VK) NotesEdit(params Params) (response int, err error) {
// NotesEditComment edits a comment on a note. // NotesEditComment edits a comment on a note.
// //
// https://vk.com/dev/notes.editComment // https://dev.vk.com/method/notes.editComment
func (vk *VK) NotesEditComment(params Params) (response int, err error) { func (vk *VK) NotesEditComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("notes.editComment", &response, params) err = vk.RequestUnmarshal("notes.editComment", &response, params)
return return
@ -60,7 +60,7 @@ type NotesGetResponse struct {
// NotesGet returns a list of notes created by a user. // NotesGet returns a list of notes created by a user.
// //
// https://vk.com/dev/notes.get // https://dev.vk.com/method/notes.get
func (vk *VK) NotesGet(params Params) (response NotesGetResponse, err error) { func (vk *VK) NotesGet(params Params) (response NotesGetResponse, err error) {
err = vk.RequestUnmarshal("notes.get", &response, params) err = vk.RequestUnmarshal("notes.get", &response, params)
return return
@ -71,7 +71,7 @@ type NotesGetByIDResponse object.NotesNote
// NotesGetByID returns a note by its ID. // NotesGetByID returns a note by its ID.
// //
// https://vk.com/dev/notes.getById // https://dev.vk.com/method/notes.getById
func (vk *VK) NotesGetByID(params Params) (response NotesGetByIDResponse, err error) { func (vk *VK) NotesGetByID(params Params) (response NotesGetByIDResponse, err error) {
err = vk.RequestUnmarshal("notes.getById", &response, params) err = vk.RequestUnmarshal("notes.getById", &response, params)
return return
@ -85,7 +85,7 @@ type NotesGetCommentsResponse struct {
// NotesGetComments returns a list of comments on a note. // NotesGetComments returns a list of comments on a note.
// //
// https://vk.com/dev/notes.getComments // https://dev.vk.com/method/notes.getComments
func (vk *VK) NotesGetComments(params Params) (response NotesGetCommentsResponse, err error) { func (vk *VK) NotesGetComments(params Params) (response NotesGetCommentsResponse, err error) {
err = vk.RequestUnmarshal("notes.getComments", &response, params) err = vk.RequestUnmarshal("notes.getComments", &response, params)
return return
@ -93,7 +93,7 @@ func (vk *VK) NotesGetComments(params Params) (response NotesGetCommentsResponse
// NotesRestoreComment restores a deleted comment on a note. // NotesRestoreComment restores a deleted comment on a note.
// //
// https://vk.com/dev/notes.restoreComment // https://dev.vk.com/method/notes.restoreComment
func (vk *VK) NotesRestoreComment(params Params) (response int, err error) { func (vk *VK) NotesRestoreComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("notes.restoreComment", &response, params) err = vk.RequestUnmarshal("notes.restoreComment", &response, params)
return return

View File

@ -20,7 +20,7 @@ type NotificationsGetResponse struct {
// NotificationsGet returns a list of notifications about other users' feedback to the current user's wall posts. // NotificationsGet returns a list of notifications about other users' feedback to the current user's wall posts.
// //
// https://vk.com/dev/notifications.get // https://dev.vk.com/method/notifications.get
func (vk *VK) NotificationsGet(params Params) (response NotificationsGetResponse, err error) { func (vk *VK) NotificationsGet(params Params) (response NotificationsGetResponse, err error) {
err = vk.RequestUnmarshal("notifications.get", &response, params) err = vk.RequestUnmarshal("notifications.get", &response, params)
return return
@ -29,7 +29,7 @@ func (vk *VK) NotificationsGet(params Params) (response NotificationsGetResponse
// NotificationsMarkAsViewed resets the counter of new notifications // NotificationsMarkAsViewed resets the counter of new notifications
// about other users' feedback to the current user's wall posts. // about other users' feedback to the current user's wall posts.
// //
// https://vk.com/dev/notifications.markAsViewed // https://dev.vk.com/method/notifications.markAsViewed
func (vk *VK) NotificationsMarkAsViewed(params Params) (response int, err error) { func (vk *VK) NotificationsMarkAsViewed(params Params) (response int, err error) {
err = vk.RequestUnmarshal("notifications.markAsViewed", &response, params) err = vk.RequestUnmarshal("notifications.markAsViewed", &response, params)
return return
@ -47,7 +47,7 @@ type NotificationsSendMessageResponse []struct {
// NotificationsSendMessage sends notification to the VK Apps user. // NotificationsSendMessage sends notification to the VK Apps user.
// //
// https://vk.com/dev/notifications.sendMessage // https://dev.vk.com/method/notifications.sendMessage
func (vk *VK) NotificationsSendMessage(params Params) (response NotificationsSendMessageResponse, err error) { func (vk *VK) NotificationsSendMessage(params Params) (response NotificationsSendMessageResponse, err error) {
err = vk.RequestUnmarshal("notifications.sendMessage", &response, params) err = vk.RequestUnmarshal("notifications.sendMessage", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// OrdersCancelSubscription allows to cancel subscription. // OrdersCancelSubscription allows to cancel subscription.
// //
// https://vk.com/dev/orders.cancelSubscription // https://dev.vk.com/method/orders.cancelSubscription
func (vk *VK) OrdersCancelSubscription(params Params) (response int, err error) { func (vk *VK) OrdersCancelSubscription(params Params) (response int, err error) {
err = vk.RequestUnmarshal("orders.cancelSubscription", &response, params) err = vk.RequestUnmarshal("orders.cancelSubscription", &response, params)
return return
@ -17,7 +17,7 @@ type OrdersChangeStateResponse string // New state
// OrdersChangeState changes order status. // OrdersChangeState changes order status.
// //
// https://vk.com/dev/orders.changeState // https://dev.vk.com/method/orders.changeState
func (vk *VK) OrdersChangeState(params Params) (response OrdersChangeStateResponse, err error) { func (vk *VK) OrdersChangeState(params Params) (response OrdersChangeStateResponse, err error) {
err = vk.RequestUnmarshal("orders.changeState", &response, params) err = vk.RequestUnmarshal("orders.changeState", &response, params)
return return
@ -28,7 +28,7 @@ type OrdersGetResponse []object.OrdersOrder
// OrdersGet returns a list of orders. // OrdersGet returns a list of orders.
// //
// https://vk.com/dev/orders.get // https://dev.vk.com/method/orders.get
func (vk *VK) OrdersGet(params Params) (response OrdersGetResponse, err error) { func (vk *VK) OrdersGet(params Params) (response OrdersGetResponse, err error) {
err = vk.RequestUnmarshal("orders.get", &response, params) err = vk.RequestUnmarshal("orders.get", &response, params)
return return
@ -39,7 +39,7 @@ type OrdersGetAmountResponse []object.OrdersAmount
// OrdersGetAmount returns the cost of votes in the user's consent. // OrdersGetAmount returns the cost of votes in the user's consent.
// //
// https://vk.com/dev/orders.getAmount // https://dev.vk.com/method/orders.getAmount
func (vk *VK) OrdersGetAmount(params Params) (response OrdersGetAmountResponse, err error) { func (vk *VK) OrdersGetAmount(params Params) (response OrdersGetAmountResponse, err error) {
err = vk.RequestUnmarshal("orders.getAmount", &response, params) err = vk.RequestUnmarshal("orders.getAmount", &response, params)
return return
@ -50,7 +50,7 @@ type OrdersGetByIDResponse []object.OrdersOrder
// OrdersGetByID returns information about orders by their IDs. // OrdersGetByID returns information about orders by their IDs.
// //
// https://vk.com/dev/orders.getByID // https://dev.vk.com/method/orders.getByID
func (vk *VK) OrdersGetByID(params Params) (response OrdersGetByIDResponse, err error) { func (vk *VK) OrdersGetByID(params Params) (response OrdersGetByIDResponse, err error) {
err = vk.RequestUnmarshal("orders.getById", &response, params) err = vk.RequestUnmarshal("orders.getById", &response, params)
return return
@ -61,7 +61,7 @@ type OrdersGetUserSubscriptionByIDResponse object.OrdersSubscription
// OrdersGetUserSubscriptionByID allows to get subscription by its ID. // OrdersGetUserSubscriptionByID allows to get subscription by its ID.
// //
// https://vk.com/dev/orders.getUserSubscriptionById // https://dev.vk.com/method/orders.getUserSubscriptionById
func (vk *VK) OrdersGetUserSubscriptionByID(params Params) (response OrdersGetUserSubscriptionByIDResponse, err error) { func (vk *VK) OrdersGetUserSubscriptionByID(params Params) (response OrdersGetUserSubscriptionByIDResponse, err error) {
err = vk.RequestUnmarshal("orders.getUserSubscriptionById", &response, params) err = vk.RequestUnmarshal("orders.getUserSubscriptionById", &response, params)
return return
@ -75,7 +75,7 @@ type OrdersGetUserSubscriptionsResponse struct {
// OrdersGetUserSubscriptions allows to get user's active subscriptions. // OrdersGetUserSubscriptions allows to get user's active subscriptions.
// //
// https://vk.com/dev/orders.getUserSubscriptions // https://dev.vk.com/method/orders.getUserSubscriptions
func (vk *VK) OrdersGetUserSubscriptions(params Params) (response OrdersGetUserSubscriptionsResponse, err error) { func (vk *VK) OrdersGetUserSubscriptions(params Params) (response OrdersGetUserSubscriptionsResponse, err error) {
err = vk.RequestUnmarshal("orders.getUserSubscriptions", &response, params) err = vk.RequestUnmarshal("orders.getUserSubscriptions", &response, params)
return return
@ -83,7 +83,7 @@ func (vk *VK) OrdersGetUserSubscriptions(params Params) (response OrdersGetUserS
// OrdersUpdateSubscription allows to update subscription price. // OrdersUpdateSubscription allows to update subscription price.
// //
// https://vk.com/dev/orders.updateSubscription // https://dev.vk.com/method/orders.updateSubscription
func (vk *VK) OrdersUpdateSubscription(params Params) (response int, err error) { func (vk *VK) OrdersUpdateSubscription(params Params) (response int, err error) {
err = vk.RequestUnmarshal("orders.updateSubscription", &response, params) err = vk.RequestUnmarshal("orders.updateSubscription", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// PagesClearCache allows to clear the cache of particular external pages which may be attached to VK posts. // PagesClearCache allows to clear the cache of particular external pages which may be attached to VK posts.
// //
// https://vk.com/dev/pages.clearCache // https://dev.vk.com/method/pages.clearCache
func (vk *VK) PagesClearCache(params Params) (response int, err error) { func (vk *VK) PagesClearCache(params Params) (response int, err error) {
err = vk.RequestUnmarshal("pages.clearCache", &response, params) err = vk.RequestUnmarshal("pages.clearCache", &response, params)
return return
@ -17,7 +17,7 @@ type PagesGetResponse object.PagesWikipageFull
// PagesGet returns information about a wiki page. // PagesGet returns information about a wiki page.
// //
// https://vk.com/dev/pages.get // https://dev.vk.com/method/pages.get
func (vk *VK) PagesGet(params Params) (response PagesGetResponse, err error) { func (vk *VK) PagesGet(params Params) (response PagesGetResponse, err error) {
err = vk.RequestUnmarshal("pages.get", &response, params) err = vk.RequestUnmarshal("pages.get", &response, params)
return return
@ -28,7 +28,7 @@ type PagesGetHistoryResponse []object.PagesWikipageHistory
// PagesGetHistory returns a list of all previous versions of a wiki page. // PagesGetHistory returns a list of all previous versions of a wiki page.
// //
// https://vk.com/dev/pages.getHistory // https://dev.vk.com/method/pages.getHistory
func (vk *VK) PagesGetHistory(params Params) (response PagesGetHistoryResponse, err error) { func (vk *VK) PagesGetHistory(params Params) (response PagesGetHistoryResponse, err error) {
err = vk.RequestUnmarshal("pages.getHistory", &response, params) err = vk.RequestUnmarshal("pages.getHistory", &response, params)
return return
@ -39,7 +39,7 @@ type PagesGetTitlesResponse []object.PagesWikipageFull
// PagesGetTitles returns a list of wiki pages in a group. // PagesGetTitles returns a list of wiki pages in a group.
// //
// https://vk.com/dev/pages.getTitles // https://dev.vk.com/method/pages.getTitles
func (vk *VK) PagesGetTitles(params Params) (response PagesGetTitlesResponse, err error) { func (vk *VK) PagesGetTitles(params Params) (response PagesGetTitlesResponse, err error) {
err = vk.RequestUnmarshal("pages.getTitles", &response, params) err = vk.RequestUnmarshal("pages.getTitles", &response, params)
return return
@ -50,7 +50,7 @@ type PagesGetVersionResponse object.PagesWikipageFull
// PagesGetVersion returns the text of one of the previous versions of a wiki page. // PagesGetVersion returns the text of one of the previous versions of a wiki page.
// //
// https://vk.com/dev/pages.getVersion // https://dev.vk.com/method/pages.getVersion
func (vk *VK) PagesGetVersion(params Params) (response PagesGetVersionResponse, err error) { func (vk *VK) PagesGetVersion(params Params) (response PagesGetVersionResponse, err error) {
err = vk.RequestUnmarshal("pages.getVersion", &response, params) err = vk.RequestUnmarshal("pages.getVersion", &response, params)
return return
@ -58,7 +58,7 @@ func (vk *VK) PagesGetVersion(params Params) (response PagesGetVersionResponse,
// PagesParseWiki returns HTML representation of the wiki markup. // PagesParseWiki returns HTML representation of the wiki markup.
// //
// https://vk.com/dev/pages.parseWiki // https://dev.vk.com/method/pages.parseWiki
func (vk *VK) PagesParseWiki(params Params) (response string, err error) { func (vk *VK) PagesParseWiki(params Params) (response string, err error) {
err = vk.RequestUnmarshal("pages.parseWiki", &response, params) err = vk.RequestUnmarshal("pages.parseWiki", &response, params)
return return
@ -66,7 +66,7 @@ func (vk *VK) PagesParseWiki(params Params) (response string, err error) {
// PagesSave saves the text of a wiki page. // PagesSave saves the text of a wiki page.
// //
// https://vk.com/dev/pages.save // https://dev.vk.com/method/pages.save
func (vk *VK) PagesSave(params Params) (response int, err error) { func (vk *VK) PagesSave(params Params) (response int, err error) {
err = vk.RequestUnmarshal("pages.save", &response, params) err = vk.RequestUnmarshal("pages.save", &response, params)
return return
@ -74,7 +74,7 @@ func (vk *VK) PagesSave(params Params) (response int, err error) {
// PagesSaveAccess saves modified read and edit access settings for a wiki page. // PagesSaveAccess saves modified read and edit access settings for a wiki page.
// //
// https://vk.com/dev/pages.saveAccess // https://dev.vk.com/method/pages.saveAccess
func (vk *VK) PagesSaveAccess(params Params) (response int, err error) { func (vk *VK) PagesSaveAccess(params Params) (response int, err error) {
err = vk.RequestUnmarshal("pages.saveAccess", &response, params) err = vk.RequestUnmarshal("pages.saveAccess", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// PhotosConfirmTag confirms a tag on a photo. // PhotosConfirmTag confirms a tag on a photo.
// //
// https://vk.com/dev/photos.confirmTag // https://dev.vk.com/method/photos.confirmTag
func (vk *VK) PhotosConfirmTag(params Params) (response int, err error) { func (vk *VK) PhotosConfirmTag(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.confirmTag", &response, params) err = vk.RequestUnmarshal("photos.confirmTag", &response, params)
return return
@ -14,7 +14,7 @@ func (vk *VK) PhotosConfirmTag(params Params) (response int, err error) {
// PhotosCopy allows to copy a photo to the "Saved photos" album. // PhotosCopy allows to copy a photo to the "Saved photos" album.
// //
// https://vk.com/dev/photos.copy // https://dev.vk.com/method/photos.copy
func (vk *VK) PhotosCopy(params Params) (response int, err error) { func (vk *VK) PhotosCopy(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.copy", &response, params) err = vk.RequestUnmarshal("photos.copy", &response, params)
return return
@ -25,7 +25,7 @@ type PhotosCreateAlbumResponse object.PhotosPhotoAlbumFull
// PhotosCreateAlbum creates an empty photo album. // PhotosCreateAlbum creates an empty photo album.
// //
// https://vk.com/dev/photos.createAlbum // https://dev.vk.com/method/photos.createAlbum
func (vk *VK) PhotosCreateAlbum(params Params) (response PhotosCreateAlbumResponse, err error) { func (vk *VK) PhotosCreateAlbum(params Params) (response PhotosCreateAlbumResponse, err error) {
err = vk.RequestUnmarshal("photos.createAlbum", &response, params) err = vk.RequestUnmarshal("photos.createAlbum", &response, params)
return return
@ -33,7 +33,7 @@ func (vk *VK) PhotosCreateAlbum(params Params) (response PhotosCreateAlbumRespon
// PhotosCreateComment adds a new comment on the photo. // PhotosCreateComment adds a new comment on the photo.
// //
// https://vk.com/dev/photos.createComment // https://dev.vk.com/method/photos.createComment
func (vk *VK) PhotosCreateComment(params Params) (response int, err error) { func (vk *VK) PhotosCreateComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.createComment", &response, params) err = vk.RequestUnmarshal("photos.createComment", &response, params)
return return
@ -41,7 +41,7 @@ func (vk *VK) PhotosCreateComment(params Params) (response int, err error) {
// PhotosDelete deletes a photo. // PhotosDelete deletes a photo.
// //
// https://vk.com/dev/photos.delete // https://dev.vk.com/method/photos.delete
func (vk *VK) PhotosDelete(params Params) (response int, err error) { func (vk *VK) PhotosDelete(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.delete", &response, params) err = vk.RequestUnmarshal("photos.delete", &response, params)
return return
@ -49,7 +49,7 @@ func (vk *VK) PhotosDelete(params Params) (response int, err error) {
// PhotosDeleteAlbum deletes a photo album belonging to the current user. // PhotosDeleteAlbum deletes a photo album belonging to the current user.
// //
// https://vk.com/dev/photos.deleteAlbum // https://dev.vk.com/method/photos.deleteAlbum
func (vk *VK) PhotosDeleteAlbum(params Params) (response int, err error) { func (vk *VK) PhotosDeleteAlbum(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.deleteAlbum", &response, params) err = vk.RequestUnmarshal("photos.deleteAlbum", &response, params)
return return
@ -57,7 +57,7 @@ func (vk *VK) PhotosDeleteAlbum(params Params) (response int, err error) {
// PhotosDeleteComment deletes a comment on the photo. // PhotosDeleteComment deletes a comment on the photo.
// //
// https://vk.com/dev/photos.deleteComment // https://dev.vk.com/method/photos.deleteComment
func (vk *VK) PhotosDeleteComment(params Params) (response int, err error) { func (vk *VK) PhotosDeleteComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.deleteComment", &response, params) err = vk.RequestUnmarshal("photos.deleteComment", &response, params)
return return
@ -65,7 +65,7 @@ func (vk *VK) PhotosDeleteComment(params Params) (response int, err error) {
// PhotosEdit edits the caption of a photo. // PhotosEdit edits the caption of a photo.
// //
// https://vk.com/dev/photos.edit // https://dev.vk.com/method/photos.edit
func (vk *VK) PhotosEdit(params Params) (response int, err error) { func (vk *VK) PhotosEdit(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.edit", &response, params) err = vk.RequestUnmarshal("photos.edit", &response, params)
return return
@ -73,7 +73,7 @@ func (vk *VK) PhotosEdit(params Params) (response int, err error) {
// PhotosEditAlbum edits information about a photo album. // PhotosEditAlbum edits information about a photo album.
// //
// https://vk.com/dev/photos.editAlbum // https://dev.vk.com/method/photos.editAlbum
func (vk *VK) PhotosEditAlbum(params Params) (response int, err error) { func (vk *VK) PhotosEditAlbum(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.editAlbum", &response, params) err = vk.RequestUnmarshal("photos.editAlbum", &response, params)
return return
@ -81,7 +81,7 @@ func (vk *VK) PhotosEditAlbum(params Params) (response int, err error) {
// PhotosEditComment edits a comment on a photo. // PhotosEditComment edits a comment on a photo.
// //
// https://vk.com/dev/photos.editComment // https://dev.vk.com/method/photos.editComment
func (vk *VK) PhotosEditComment(params Params) (response int, err error) { func (vk *VK) PhotosEditComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.editComment", &response, params) err = vk.RequestUnmarshal("photos.editComment", &response, params)
return return
@ -97,7 +97,7 @@ type PhotosGetResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/photos.get // https://dev.vk.com/method/photos.get
func (vk *VK) PhotosGet(params Params) (response PhotosGetResponse, err error) { func (vk *VK) PhotosGet(params Params) (response PhotosGetResponse, err error) {
err = vk.RequestUnmarshal("photos.get", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("photos.get", &response, params, Params{"extended": false})
@ -114,7 +114,7 @@ type PhotosGetExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/photos.get // https://dev.vk.com/method/photos.get
func (vk *VK) PhotosGetExtended(params Params) (response PhotosGetExtendedResponse, err error) { func (vk *VK) PhotosGetExtended(params Params) (response PhotosGetExtendedResponse, err error) {
err = vk.RequestUnmarshal("photos.get", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("photos.get", &response, params, Params{"extended": true})
@ -129,7 +129,7 @@ type PhotosGetAlbumsResponse struct {
// PhotosGetAlbums returns a list of a user's or community's photo albums. // PhotosGetAlbums returns a list of a user's or community's photo albums.
// //
// https://vk.com/dev/photos.getAlbums // https://dev.vk.com/method/photos.getAlbums
func (vk *VK) PhotosGetAlbums(params Params) (response PhotosGetAlbumsResponse, err error) { func (vk *VK) PhotosGetAlbums(params Params) (response PhotosGetAlbumsResponse, err error) {
err = vk.RequestUnmarshal("photos.getAlbums", &response, params) err = vk.RequestUnmarshal("photos.getAlbums", &response, params)
return return
@ -137,7 +137,7 @@ func (vk *VK) PhotosGetAlbums(params Params) (response PhotosGetAlbumsResponse,
// PhotosGetAlbumsCount returns the number of photo albums belonging to a user or community. // PhotosGetAlbumsCount returns the number of photo albums belonging to a user or community.
// //
// https://vk.com/dev/photos.getAlbumsCount // https://dev.vk.com/method/photos.getAlbumsCount
func (vk *VK) PhotosGetAlbumsCount(params Params) (response int, err error) { func (vk *VK) PhotosGetAlbumsCount(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.getAlbumsCount", &response, params) err = vk.RequestUnmarshal("photos.getAlbumsCount", &response, params)
return return
@ -154,7 +154,7 @@ type PhotosGetAllResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/photos.getAll // https://dev.vk.com/method/photos.getAll
func (vk *VK) PhotosGetAll(params Params) (response PhotosGetAllResponse, err error) { func (vk *VK) PhotosGetAll(params Params) (response PhotosGetAllResponse, err error) {
err = vk.RequestUnmarshal("photos.getAll", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("photos.getAll", &response, params, Params{"extended": false})
@ -172,7 +172,7 @@ type PhotosGetAllExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/photos.getAll // https://dev.vk.com/method/photos.getAll
func (vk *VK) PhotosGetAllExtended(params Params) (response PhotosGetAllExtendedResponse, err error) { func (vk *VK) PhotosGetAllExtended(params Params) (response PhotosGetAllExtendedResponse, err error) {
err = vk.RequestUnmarshal("photos.getAll", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("photos.getAll", &response, params, Params{"extended": true})
@ -188,7 +188,7 @@ type PhotosGetAllCommentsResponse struct {
// PhotosGetAllComments returns a list of comments on a specific // PhotosGetAllComments returns a list of comments on a specific
// photo album or all albums of the user sorted in reverse chronological order. // photo album or all albums of the user sorted in reverse chronological order.
// //
// https://vk.com/dev/photos.getAllComments // https://dev.vk.com/method/photos.getAllComments
func (vk *VK) PhotosGetAllComments(params Params) (response PhotosGetAllCommentsResponse, err error) { func (vk *VK) PhotosGetAllComments(params Params) (response PhotosGetAllCommentsResponse, err error) {
err = vk.RequestUnmarshal("photos.getAllComments", &response, params) err = vk.RequestUnmarshal("photos.getAllComments", &response, params)
return return
@ -201,7 +201,7 @@ type PhotosGetByIDResponse []object.PhotosPhoto
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/photos.getById // https://dev.vk.com/method/photos.getById
func (vk *VK) PhotosGetByID(params Params) (response PhotosGetByIDResponse, err error) { func (vk *VK) PhotosGetByID(params Params) (response PhotosGetByIDResponse, err error) {
err = vk.RequestUnmarshal("photos.getById", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("photos.getById", &response, params, Params{"extended": false})
@ -215,7 +215,7 @@ type PhotosGetByIDExtendedResponse []object.PhotosPhotoFull
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/photos.getById // https://dev.vk.com/method/photos.getById
func (vk *VK) PhotosGetByIDExtended(params Params) (response PhotosGetByIDExtendedResponse, err error) { func (vk *VK) PhotosGetByIDExtended(params Params) (response PhotosGetByIDExtendedResponse, err error) {
err = vk.RequestUnmarshal("photos.getById", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("photos.getById", &response, params, Params{"extended": true})
@ -229,7 +229,7 @@ type PhotosGetChatUploadServerResponse struct {
// PhotosGetChatUploadServer returns an upload link for chat cover pictures. // PhotosGetChatUploadServer returns an upload link for chat cover pictures.
// //
// https://vk.com/dev/photos.getChatUploadServer // https://dev.vk.com/method/photos.getChatUploadServer
func (vk *VK) PhotosGetChatUploadServer(params Params) (response PhotosGetChatUploadServerResponse, err error) { func (vk *VK) PhotosGetChatUploadServer(params Params) (response PhotosGetChatUploadServerResponse, err error) {
err = vk.RequestUnmarshal("photos.getChatUploadServer", &response, params) err = vk.RequestUnmarshal("photos.getChatUploadServer", &response, params)
return return
@ -246,7 +246,7 @@ type PhotosGetCommentsResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/photos.getComments // https://dev.vk.com/method/photos.getComments
func (vk *VK) PhotosGetComments(params Params) (response PhotosGetCommentsResponse, err error) { func (vk *VK) PhotosGetComments(params Params) (response PhotosGetCommentsResponse, err error) {
err = vk.RequestUnmarshal("photos.getComments", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("photos.getComments", &response, params, Params{"extended": false})
@ -266,7 +266,7 @@ type PhotosGetCommentsExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/photos.getComments // https://dev.vk.com/method/photos.getComments
func (vk *VK) PhotosGetCommentsExtended(params Params) (response PhotosGetCommentsExtendedResponse, err error) { func (vk *VK) PhotosGetCommentsExtended(params Params) (response PhotosGetCommentsExtendedResponse, err error) {
err = vk.RequestUnmarshal("photos.getComments", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("photos.getComments", &response, params, Params{"extended": true})
@ -280,7 +280,7 @@ type PhotosGetMarketAlbumUploadServerResponse struct {
// PhotosGetMarketAlbumUploadServer returns the server address for market album photo upload. // PhotosGetMarketAlbumUploadServer returns the server address for market album photo upload.
// //
// https://vk.com/dev/photos.getMarketAlbumUploadServer // https://dev.vk.com/method/photos.getMarketAlbumUploadServer
func (vk *VK) PhotosGetMarketAlbumUploadServer(params Params) ( func (vk *VK) PhotosGetMarketAlbumUploadServer(params Params) (
response PhotosGetMarketAlbumUploadServerResponse, response PhotosGetMarketAlbumUploadServerResponse,
err error, err error,
@ -296,7 +296,7 @@ type PhotosGetMarketUploadServerResponse struct {
// PhotosGetMarketUploadServer returns the server address for market photo upload. // PhotosGetMarketUploadServer returns the server address for market photo upload.
// //
// https://vk.com/dev/photos.getMarketUploadServer // https://dev.vk.com/method/photos.getMarketUploadServer
func (vk *VK) PhotosGetMarketUploadServer(params Params) (response PhotosGetMarketUploadServerResponse, err error) { func (vk *VK) PhotosGetMarketUploadServer(params Params) (response PhotosGetMarketUploadServerResponse, err error) {
err = vk.RequestUnmarshal("photos.getMarketUploadServer", &response, params) err = vk.RequestUnmarshal("photos.getMarketUploadServer", &response, params)
return return
@ -312,7 +312,7 @@ type PhotosGetMessagesUploadServerResponse struct {
// PhotosGetMessagesUploadServer returns the server address for photo upload onto a messages. // PhotosGetMessagesUploadServer returns the server address for photo upload onto a messages.
// //
// https://vk.com/dev/photos.getMessagesUploadServer // https://dev.vk.com/method/photos.getMessagesUploadServer
func (vk *VK) PhotosGetMessagesUploadServer(params Params) (response PhotosGetMessagesUploadServerResponse, err error) { func (vk *VK) PhotosGetMessagesUploadServer(params Params) (response PhotosGetMessagesUploadServerResponse, err error) {
err = vk.RequestUnmarshal("photos.getMessagesUploadServer", &response, params) err = vk.RequestUnmarshal("photos.getMessagesUploadServer", &response, params)
return return
@ -326,7 +326,7 @@ type PhotosGetNewTagsResponse struct {
// PhotosGetNewTags returns a list of photos with tags that have not been viewed. // PhotosGetNewTags returns a list of photos with tags that have not been viewed.
// //
// https://vk.com/dev/photos.getNewTags // https://dev.vk.com/method/photos.getNewTags
func (vk *VK) PhotosGetNewTags(params Params) (response PhotosGetNewTagsResponse, err error) { func (vk *VK) PhotosGetNewTags(params Params) (response PhotosGetNewTagsResponse, err error) {
err = vk.RequestUnmarshal("photos.getNewTags", &response, params) err = vk.RequestUnmarshal("photos.getNewTags", &response, params)
return return
@ -339,7 +339,7 @@ type PhotosGetOwnerCoverPhotoUploadServerResponse struct {
// PhotosGetOwnerCoverPhotoUploadServer receives server address for uploading community cover. // PhotosGetOwnerCoverPhotoUploadServer receives server address for uploading community cover.
// //
// https://vk.com/dev/photos.getOwnerCoverPhotoUploadServer // https://dev.vk.com/method/photos.getOwnerCoverPhotoUploadServer
func (vk *VK) PhotosGetOwnerCoverPhotoUploadServer(params Params) ( func (vk *VK) PhotosGetOwnerCoverPhotoUploadServer(params Params) (
response PhotosGetOwnerCoverPhotoUploadServerResponse, response PhotosGetOwnerCoverPhotoUploadServerResponse,
err error, err error,
@ -356,7 +356,7 @@ type PhotosGetOwnerPhotoUploadServerResponse struct {
// PhotosGetOwnerPhotoUploadServer returns an upload server address for a // PhotosGetOwnerPhotoUploadServer returns an upload server address for a
// profile or community photo. // profile or community photo.
// //
// https://vk.com/dev/photos.getOwnerPhotoUploadServer // https://dev.vk.com/method/photos.getOwnerPhotoUploadServer
func (vk *VK) PhotosGetOwnerPhotoUploadServer(params Params) ( func (vk *VK) PhotosGetOwnerPhotoUploadServer(params Params) (
response PhotosGetOwnerPhotoUploadServerResponse, response PhotosGetOwnerPhotoUploadServerResponse,
err error, err error,
@ -370,7 +370,7 @@ type PhotosGetTagsResponse []object.PhotosPhotoTag
// PhotosGetTags returns a list of tags on a photo. // PhotosGetTags returns a list of tags on a photo.
// //
// https://vk.com/dev/photos.getTags // https://dev.vk.com/method/photos.getTags
func (vk *VK) PhotosGetTags(params Params) (response PhotosGetTagsResponse, err error) { func (vk *VK) PhotosGetTags(params Params) (response PhotosGetTagsResponse, err error) {
err = vk.RequestUnmarshal("photos.getTags", &response, params) err = vk.RequestUnmarshal("photos.getTags", &response, params)
return return
@ -381,7 +381,7 @@ type PhotosGetUploadServerResponse object.PhotosPhotoUpload
// PhotosGetUploadServer returns the server address for photo upload. // PhotosGetUploadServer returns the server address for photo upload.
// //
// https://vk.com/dev/photos.getUploadServer // https://dev.vk.com/method/photos.getUploadServer
func (vk *VK) PhotosGetUploadServer(params Params) (response PhotosGetUploadServerResponse, err error) { func (vk *VK) PhotosGetUploadServer(params Params) (response PhotosGetUploadServerResponse, err error) {
err = vk.RequestUnmarshal("photos.getUploadServer", &response, params) err = vk.RequestUnmarshal("photos.getUploadServer", &response, params)
return return
@ -397,7 +397,7 @@ type PhotosGetUserPhotosResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/photos.getUserPhotos // https://dev.vk.com/method/photos.getUserPhotos
func (vk *VK) PhotosGetUserPhotos(params Params) (response PhotosGetUserPhotosResponse, err error) { func (vk *VK) PhotosGetUserPhotos(params Params) (response PhotosGetUserPhotosResponse, err error) {
err = vk.RequestUnmarshal("photos.getUserPhotos", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("photos.getUserPhotos", &response, params, Params{"extended": false})
@ -414,7 +414,7 @@ type PhotosGetUserPhotosExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/photos.getUserPhotos // https://dev.vk.com/method/photos.getUserPhotos
func (vk *VK) PhotosGetUserPhotosExtended(params Params) (response PhotosGetUserPhotosExtendedResponse, err error) { func (vk *VK) PhotosGetUserPhotosExtended(params Params) (response PhotosGetUserPhotosExtendedResponse, err error) {
err = vk.RequestUnmarshal("photos.getUserPhotos", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("photos.getUserPhotos", &response, params, Params{"extended": true})
@ -426,7 +426,7 @@ type PhotosGetWallUploadServerResponse object.PhotosPhotoUpload
// PhotosGetWallUploadServer returns the server address for photo upload onto a user's wall. // PhotosGetWallUploadServer returns the server address for photo upload onto a user's wall.
// //
// https://vk.com/dev/photos.getWallUploadServer // https://dev.vk.com/method/photos.getWallUploadServer
func (vk *VK) PhotosGetWallUploadServer(params Params) (response PhotosGetWallUploadServerResponse, err error) { func (vk *VK) PhotosGetWallUploadServer(params Params) (response PhotosGetWallUploadServerResponse, err error) {
err = vk.RequestUnmarshal("photos.getWallUploadServer", &response, params) err = vk.RequestUnmarshal("photos.getWallUploadServer", &response, params)
return return
@ -434,7 +434,7 @@ func (vk *VK) PhotosGetWallUploadServer(params Params) (response PhotosGetWallUp
// PhotosMakeCover makes a photo into an album cover. // PhotosMakeCover makes a photo into an album cover.
// //
// https://vk.com/dev/photos.makeCover // https://dev.vk.com/method/photos.makeCover
func (vk *VK) PhotosMakeCover(params Params) (response int, err error) { func (vk *VK) PhotosMakeCover(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.makeCover", &response, params) err = vk.RequestUnmarshal("photos.makeCover", &response, params)
return return
@ -442,7 +442,7 @@ func (vk *VK) PhotosMakeCover(params Params) (response int, err error) {
// PhotosMove a photo from one album to another. // PhotosMove a photo from one album to another.
// //
// https://vk.com/dev/photos.moveMoves // https://dev.vk.com/method/photos.moveMoves
func (vk *VK) PhotosMove(params Params) (response int, err error) { func (vk *VK) PhotosMove(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.move", &response, params) err = vk.RequestUnmarshal("photos.move", &response, params)
return return
@ -450,7 +450,7 @@ func (vk *VK) PhotosMove(params Params) (response int, err error) {
// PhotosPutTag adds a tag on the photo. // PhotosPutTag adds a tag on the photo.
// //
// https://vk.com/dev/photos.putTag // https://dev.vk.com/method/photos.putTag
func (vk *VK) PhotosPutTag(params Params) (response int, err error) { func (vk *VK) PhotosPutTag(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.putTag", &response, params) err = vk.RequestUnmarshal("photos.putTag", &response, params)
return return
@ -458,7 +458,7 @@ func (vk *VK) PhotosPutTag(params Params) (response int, err error) {
// PhotosRemoveTag removes a tag from a photo. // PhotosRemoveTag removes a tag from a photo.
// //
// https://vk.com/dev/photos.removeTag // https://dev.vk.com/method/photos.removeTag
func (vk *VK) PhotosRemoveTag(params Params) (response int, err error) { func (vk *VK) PhotosRemoveTag(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.removeTag", &response, params) err = vk.RequestUnmarshal("photos.removeTag", &response, params)
return return
@ -466,7 +466,7 @@ func (vk *VK) PhotosRemoveTag(params Params) (response int, err error) {
// PhotosReorderAlbums reorders the album in the list of user albums. // PhotosReorderAlbums reorders the album in the list of user albums.
// //
// https://vk.com/dev/photos.reorderAlbums // https://dev.vk.com/method/photos.reorderAlbums
func (vk *VK) PhotosReorderAlbums(params Params) (response int, err error) { func (vk *VK) PhotosReorderAlbums(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.reorderAlbums", &response, params) err = vk.RequestUnmarshal("photos.reorderAlbums", &response, params)
return return
@ -474,7 +474,7 @@ func (vk *VK) PhotosReorderAlbums(params Params) (response int, err error) {
// PhotosReorderPhotos reorders the photo in the list of photos of the user album. // PhotosReorderPhotos reorders the photo in the list of photos of the user album.
// //
// https://vk.com/dev/photos.reorderPhotos // https://dev.vk.com/method/photos.reorderPhotos
func (vk *VK) PhotosReorderPhotos(params Params) (response int, err error) { func (vk *VK) PhotosReorderPhotos(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.reorderPhotos", &response, params) err = vk.RequestUnmarshal("photos.reorderPhotos", &response, params)
return return
@ -482,7 +482,7 @@ func (vk *VK) PhotosReorderPhotos(params Params) (response int, err error) {
// PhotosReport reports (submits a complaint about) a photo. // PhotosReport reports (submits a complaint about) a photo.
// //
// https://vk.com/dev/photos.report // https://dev.vk.com/method/photos.report
func (vk *VK) PhotosReport(params Params) (response int, err error) { func (vk *VK) PhotosReport(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.report", &response, params) err = vk.RequestUnmarshal("photos.report", &response, params)
return return
@ -490,7 +490,7 @@ func (vk *VK) PhotosReport(params Params) (response int, err error) {
// PhotosReportComment reports (submits a complaint about) a comment on a photo. // PhotosReportComment reports (submits a complaint about) a comment on a photo.
// //
// https://vk.com/dev/photos.reportComment // https://dev.vk.com/method/photos.reportComment
func (vk *VK) PhotosReportComment(params Params) (response int, err error) { func (vk *VK) PhotosReportComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.reportComment", &response, params) err = vk.RequestUnmarshal("photos.reportComment", &response, params)
return return
@ -498,7 +498,7 @@ func (vk *VK) PhotosReportComment(params Params) (response int, err error) {
// PhotosRestore restores a deleted photo. // PhotosRestore restores a deleted photo.
// //
// https://vk.com/dev/photos.restore // https://dev.vk.com/method/photos.restore
func (vk *VK) PhotosRestore(params Params) (response int, err error) { func (vk *VK) PhotosRestore(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.restore", &response, params) err = vk.RequestUnmarshal("photos.restore", &response, params)
return return
@ -506,7 +506,7 @@ func (vk *VK) PhotosRestore(params Params) (response int, err error) {
// PhotosRestoreComment restores a deleted comment on a photo. // PhotosRestoreComment restores a deleted comment on a photo.
// //
// https://vk.com/dev/photos.restoreComment // https://dev.vk.com/method/photos.restoreComment
func (vk *VK) PhotosRestoreComment(params Params) (response int, err error) { func (vk *VK) PhotosRestoreComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("photos.restoreComment", &response, params) err = vk.RequestUnmarshal("photos.restoreComment", &response, params)
return return
@ -517,7 +517,7 @@ type PhotosSaveResponse []object.PhotosPhoto
// PhotosSave saves photos after successful uploading. // PhotosSave saves photos after successful uploading.
// //
// https://vk.com/dev/photos.save // https://dev.vk.com/method/photos.save
func (vk *VK) PhotosSave(params Params) (response PhotosSaveResponse, err error) { func (vk *VK) PhotosSave(params Params) (response PhotosSaveResponse, err error) {
err = vk.RequestUnmarshal("photos.save", &response, params) err = vk.RequestUnmarshal("photos.save", &response, params)
return return
@ -528,7 +528,7 @@ type PhotosSaveMarketAlbumPhotoResponse []object.PhotosPhoto
// PhotosSaveMarketAlbumPhoto photo Saves market album photos after successful uploading. // PhotosSaveMarketAlbumPhoto photo Saves market album photos after successful uploading.
// //
// https://vk.com/dev/photos.saveMarketAlbumPhoto // https://dev.vk.com/method/photos.saveMarketAlbumPhoto
func (vk *VK) PhotosSaveMarketAlbumPhoto(params Params) (response PhotosSaveMarketAlbumPhotoResponse, err error) { func (vk *VK) PhotosSaveMarketAlbumPhoto(params Params) (response PhotosSaveMarketAlbumPhotoResponse, err error) {
err = vk.RequestUnmarshal("photos.saveMarketAlbumPhoto", &response, params) err = vk.RequestUnmarshal("photos.saveMarketAlbumPhoto", &response, params)
return return
@ -539,7 +539,7 @@ type PhotosSaveMarketPhotoResponse []object.PhotosPhoto
// PhotosSaveMarketPhoto saves market photos after successful uploading. // PhotosSaveMarketPhoto saves market photos after successful uploading.
// //
// https://vk.com/dev/photos.saveMarketPhoto // https://dev.vk.com/method/photos.saveMarketPhoto
func (vk *VK) PhotosSaveMarketPhoto(params Params) (response PhotosSaveMarketPhotoResponse, err error) { func (vk *VK) PhotosSaveMarketPhoto(params Params) (response PhotosSaveMarketPhotoResponse, err error) {
err = vk.RequestUnmarshal("photos.saveMarketPhoto", &response, params) err = vk.RequestUnmarshal("photos.saveMarketPhoto", &response, params)
return return
@ -550,7 +550,7 @@ type PhotosSaveMessagesPhotoResponse []object.PhotosPhoto
// PhotosSaveMessagesPhoto saves a photo after being successfully. // PhotosSaveMessagesPhoto saves a photo after being successfully.
// //
// https://vk.com/dev/photos.saveMessagesPhoto // https://dev.vk.com/method/photos.saveMessagesPhoto
func (vk *VK) PhotosSaveMessagesPhoto(params Params) (response PhotosSaveMessagesPhotoResponse, err error) { func (vk *VK) PhotosSaveMessagesPhoto(params Params) (response PhotosSaveMessagesPhotoResponse, err error) {
err = vk.RequestUnmarshal("photos.saveMessagesPhoto", &response, params) err = vk.RequestUnmarshal("photos.saveMessagesPhoto", &response, params)
return return
@ -563,7 +563,7 @@ type PhotosSaveOwnerCoverPhotoResponse struct {
// PhotosSaveOwnerCoverPhoto saves cover photo after successful uploading. // PhotosSaveOwnerCoverPhoto saves cover photo after successful uploading.
// //
// https://vk.com/dev/photos.saveOwnerCoverPhoto // https://dev.vk.com/method/photos.saveOwnerCoverPhoto
func (vk *VK) PhotosSaveOwnerCoverPhoto(params Params) (response PhotosSaveOwnerCoverPhotoResponse, err error) { func (vk *VK) PhotosSaveOwnerCoverPhoto(params Params) (response PhotosSaveOwnerCoverPhotoResponse, err error) {
err = vk.RequestUnmarshal("photos.saveOwnerCoverPhoto", &response, params) err = vk.RequestUnmarshal("photos.saveOwnerCoverPhoto", &response, params)
return return
@ -582,7 +582,7 @@ type PhotosSaveOwnerPhotoResponse struct {
// PhotosSaveOwnerPhoto saves a profile or community photo. // PhotosSaveOwnerPhoto saves a profile or community photo.
// //
// https://vk.com/dev/photos.saveOwnerPhoto // https://dev.vk.com/method/photos.saveOwnerPhoto
func (vk *VK) PhotosSaveOwnerPhoto(params Params) (response PhotosSaveOwnerPhotoResponse, err error) { func (vk *VK) PhotosSaveOwnerPhoto(params Params) (response PhotosSaveOwnerPhotoResponse, err error) {
err = vk.RequestUnmarshal("photos.saveOwnerPhoto", &response, params) err = vk.RequestUnmarshal("photos.saveOwnerPhoto", &response, params)
return return
@ -593,7 +593,7 @@ type PhotosSaveWallPhotoResponse []object.PhotosPhoto
// PhotosSaveWallPhoto saves a photo to a user's or community's wall after being uploaded. // PhotosSaveWallPhoto saves a photo to a user's or community's wall after being uploaded.
// //
// https://vk.com/dev/photos.saveWallPhoto // https://dev.vk.com/method/photos.saveWallPhoto
func (vk *VK) PhotosSaveWallPhoto(params Params) (response PhotosSaveWallPhotoResponse, err error) { func (vk *VK) PhotosSaveWallPhoto(params Params) (response PhotosSaveWallPhotoResponse, err error) {
err = vk.RequestUnmarshal("photos.saveWallPhoto", &response, params) err = vk.RequestUnmarshal("photos.saveWallPhoto", &response, params)
return return
@ -607,7 +607,7 @@ type PhotosSearchResponse struct {
// PhotosSearch returns a list of photos. // PhotosSearch returns a list of photos.
// //
// https://vk.com/dev/photos.search // https://dev.vk.com/method/photos.search
func (vk *VK) PhotosSearch(params Params) (response PhotosSearchResponse, err error) { func (vk *VK) PhotosSearch(params Params) (response PhotosSearchResponse, err error) {
err = vk.RequestUnmarshal("photos.search", &response, params) err = vk.RequestUnmarshal("photos.search", &response, params)
return return

View File

@ -13,7 +13,7 @@ type PodcastsGetCatalogResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/podcasts.getCatalog // https://dev.vk.com/method/podcasts.getCatalog
func (vk *VK) PodcastsGetCatalog(params Params) (response PodcastsGetCatalogResponse, err error) { func (vk *VK) PodcastsGetCatalog(params Params) (response PodcastsGetCatalogResponse, err error) {
err = vk.RequestUnmarshal("podcasts.getCatalog", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("podcasts.getCatalog", &response, params, Params{"extended": false})
@ -30,7 +30,7 @@ type PodcastsGetCatalogExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/podcasts.getCatalog // https://dev.vk.com/method/podcasts.getCatalog
func (vk *VK) PodcastsGetCatalogExtended(params Params) (response PodcastsGetCatalogExtendedResponse, err error) { func (vk *VK) PodcastsGetCatalogExtended(params Params) (response PodcastsGetCatalogExtendedResponse, err error) {
err = vk.RequestUnmarshal("podcasts.getCatalog", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("podcasts.getCatalog", &response, params, Params{"extended": true})
@ -42,7 +42,7 @@ type PodcastsGetCategoriesResponse []object.PodcastsCategory
// PodcastsGetCategories method. // PodcastsGetCategories method.
// //
// https://vk.com/dev/podcasts.getCategories // https://dev.vk.com/method/podcasts.getCategories
func (vk *VK) PodcastsGetCategories(params Params) (response PodcastsGetCategoriesResponse, err error) { func (vk *VK) PodcastsGetCategories(params Params) (response PodcastsGetCategoriesResponse, err error) {
err = vk.RequestUnmarshal("podcasts.getCategories", &response, params) err = vk.RequestUnmarshal("podcasts.getCategories", &response, params)
return return
@ -56,7 +56,7 @@ type PodcastsGetEpisodesResponse struct {
// PodcastsGetEpisodes method. // PodcastsGetEpisodes method.
// //
// https://vk.com/dev/podcasts.getEpisodes // https://dev.vk.com/method/podcasts.getEpisodes
func (vk *VK) PodcastsGetEpisodes(params Params) (response PodcastsGetEpisodesResponse, err error) { func (vk *VK) PodcastsGetEpisodes(params Params) (response PodcastsGetEpisodesResponse, err error) {
err = vk.RequestUnmarshal("podcasts.getEpisodes", &response, params) err = vk.RequestUnmarshal("podcasts.getEpisodes", &response, params)
return return
@ -72,7 +72,7 @@ type PodcastsGetFeedResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/podcasts.getFeed // https://dev.vk.com/method/podcasts.getFeed
func (vk *VK) PodcastsGetFeed(params Params) (response PodcastsGetFeedResponse, err error) { func (vk *VK) PodcastsGetFeed(params Params) (response PodcastsGetFeedResponse, err error) {
err = vk.RequestUnmarshal("podcasts.getFeed", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("podcasts.getFeed", &response, params, Params{"extended": false})
@ -90,7 +90,7 @@ type PodcastsGetFeedExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/podcasts.getFeed // https://dev.vk.com/method/podcasts.getFeed
func (vk *VK) PodcastsGetFeedExtended(params Params) (response PodcastsGetFeedExtendedResponse, err error) { func (vk *VK) PodcastsGetFeedExtended(params Params) (response PodcastsGetFeedExtendedResponse, err error) {
err = vk.RequestUnmarshal("podcasts.getFeed", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("podcasts.getFeed", &response, params, Params{"extended": true})
@ -118,7 +118,7 @@ type PodcastsGetStartPageResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/podcasts.getStartPage // https://dev.vk.com/method/podcasts.getStartPage
func (vk *VK) PodcastsGetStartPage(params Params) (response PodcastsGetStartPageResponse, err error) { func (vk *VK) PodcastsGetStartPage(params Params) (response PodcastsGetStartPageResponse, err error) {
err = vk.RequestUnmarshal("podcasts.getStartPage", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("podcasts.getStartPage", &response, params, Params{"extended": false})
@ -147,7 +147,7 @@ type PodcastsGetStartPageExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/podcasts.getStartPage // https://dev.vk.com/method/podcasts.getStartPage
func (vk *VK) PodcastsGetStartPageExtended(params Params) (response PodcastsGetStartPageExtendedResponse, err error) { func (vk *VK) PodcastsGetStartPageExtended(params Params) (response PodcastsGetStartPageExtendedResponse, err error) {
err = vk.RequestUnmarshal("podcasts.getStartPage", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("podcasts.getStartPage", &response, params, Params{"extended": true})
@ -156,7 +156,7 @@ func (vk *VK) PodcastsGetStartPageExtended(params Params) (response PodcastsGetS
// PodcastsMarkAsListened method. // PodcastsMarkAsListened method.
// //
// https://vk.com/dev/podcasts.markAsListened // https://dev.vk.com/method/podcasts.markAsListened
func (vk *VK) PodcastsMarkAsListened(params Params) (response int, err error) { func (vk *VK) PodcastsMarkAsListened(params Params) (response int, err error) {
err = vk.RequestUnmarshal("podcasts.markAsListened", &response, params) err = vk.RequestUnmarshal("podcasts.markAsListened", &response, params)
return return
@ -164,7 +164,7 @@ func (vk *VK) PodcastsMarkAsListened(params Params) (response int, err error) {
// PodcastsSubscribe method. // PodcastsSubscribe method.
// //
// https://vk.com/dev/podcasts.subscribe // https://dev.vk.com/method/podcasts.subscribe
func (vk *VK) PodcastsSubscribe(params Params) (response int, err error) { func (vk *VK) PodcastsSubscribe(params Params) (response int, err error) {
err = vk.RequestUnmarshal("podcasts.subscribe", &response, params) err = vk.RequestUnmarshal("podcasts.subscribe", &response, params)
return return
@ -172,7 +172,7 @@ func (vk *VK) PodcastsSubscribe(params Params) (response int, err error) {
// PodcastsUnsubscribe method. // PodcastsUnsubscribe method.
// //
// https://vk.com/dev/podcasts.unsubscribe // https://dev.vk.com/method/podcasts.unsubscribe
func (vk *VK) PodcastsUnsubscribe(params Params) (response int, err error) { func (vk *VK) PodcastsUnsubscribe(params Params) (response int, err error) {
err = vk.RequestUnmarshal("podcasts.unsubscribe", &response, params) err = vk.RequestUnmarshal("podcasts.unsubscribe", &response, params)
return return

View File

@ -4,7 +4,7 @@ import "github.com/SevereCloud/vksdk/v2/object"
// PollsAddVote adds the current user's vote to the selected answer in the poll. // PollsAddVote adds the current user's vote to the selected answer in the poll.
// //
// https://vk.com/dev/polls.addVote // https://dev.vk.com/method/polls.addVote
func (vk *VK) PollsAddVote(params Params) (response int, err error) { func (vk *VK) PollsAddVote(params Params) (response int, err error) {
err = vk.RequestUnmarshal("polls.addVote", &response, params) err = vk.RequestUnmarshal("polls.addVote", &response, params)
return return
@ -15,7 +15,7 @@ type PollsCreateResponse object.PollsPoll
// PollsCreate creates polls that can be attached to the users' or communities' posts. // PollsCreate creates polls that can be attached to the users' or communities' posts.
// //
// https://vk.com/dev/polls.create // https://dev.vk.com/method/polls.create
func (vk *VK) PollsCreate(params Params) (response PollsCreateResponse, err error) { func (vk *VK) PollsCreate(params Params) (response PollsCreateResponse, err error) {
err = vk.RequestUnmarshal("polls.create", &response, params) err = vk.RequestUnmarshal("polls.create", &response, params)
return return
@ -23,7 +23,7 @@ func (vk *VK) PollsCreate(params Params) (response PollsCreateResponse, err erro
// PollsDeleteVote deletes the current user's vote from the selected answer in the poll. // PollsDeleteVote deletes the current user's vote from the selected answer in the poll.
// //
// https://vk.com/dev/polls.deleteVote // https://dev.vk.com/method/polls.deleteVote
func (vk *VK) PollsDeleteVote(params Params) (response int, err error) { func (vk *VK) PollsDeleteVote(params Params) (response int, err error) {
err = vk.RequestUnmarshal("polls.deleteVote", &response, params) err = vk.RequestUnmarshal("polls.deleteVote", &response, params)
return return
@ -31,7 +31,7 @@ func (vk *VK) PollsDeleteVote(params Params) (response int, err error) {
// PollsEdit edits created polls. // PollsEdit edits created polls.
// //
// https://vk.com/dev/polls.edit // https://dev.vk.com/method/polls.edit
func (vk *VK) PollsEdit(params Params) (response int, err error) { func (vk *VK) PollsEdit(params Params) (response int, err error) {
err = vk.RequestUnmarshal("polls.edit", &response, params) err = vk.RequestUnmarshal("polls.edit", &response, params)
return return
@ -42,7 +42,7 @@ type PollsGetBackgroundsResponse []object.PollsBackground
// PollsGetBackgrounds return default backgrounds for polls. // PollsGetBackgrounds return default backgrounds for polls.
// //
// https://vk.com/dev/polls.getBackgrounds // https://dev.vk.com/method/polls.getBackgrounds
func (vk *VK) PollsGetBackgrounds(params Params) (response PollsGetBackgroundsResponse, err error) { func (vk *VK) PollsGetBackgrounds(params Params) (response PollsGetBackgroundsResponse, err error) {
err = vk.RequestUnmarshal("polls.getBackgrounds", &response, params) err = vk.RequestUnmarshal("polls.getBackgrounds", &response, params)
return return
@ -53,7 +53,7 @@ type PollsGetByIDResponse object.PollsPoll
// PollsGetByID returns detailed information about a poll by its ID. // PollsGetByID returns detailed information about a poll by its ID.
// //
// https://vk.com/dev/polls.getById // https://dev.vk.com/method/polls.getById
func (vk *VK) PollsGetByID(params Params) (response PollsGetByIDResponse, err error) { func (vk *VK) PollsGetByID(params Params) (response PollsGetByIDResponse, err error) {
err = vk.RequestUnmarshal("polls.getById", &response, params) err = vk.RequestUnmarshal("polls.getById", &response, params)
return return
@ -66,7 +66,7 @@ type PollsGetPhotoUploadServerResponse struct {
// PollsGetPhotoUploadServer returns a URL for uploading a photo to a poll. // PollsGetPhotoUploadServer returns a URL for uploading a photo to a poll.
// //
// https://vk.com/dev/polls.getPhotoUploadServer // https://dev.vk.com/method/polls.getPhotoUploadServer
func (vk *VK) PollsGetPhotoUploadServer(params Params) (response PollsGetPhotoUploadServerResponse, err error) { func (vk *VK) PollsGetPhotoUploadServer(params Params) (response PollsGetPhotoUploadServerResponse, err error) {
err = vk.RequestUnmarshal("polls.getPhotoUploadServer", &response, params) err = vk.RequestUnmarshal("polls.getPhotoUploadServer", &response, params)
return return
@ -77,7 +77,7 @@ type PollsGetVotersResponse []object.PollsVoters
// PollsGetVoters returns a list of IDs of users who selected specific answers in the poll. // PollsGetVoters returns a list of IDs of users who selected specific answers in the poll.
// //
// https://vk.com/dev/polls.getVoters // https://dev.vk.com/method/polls.getVoters
func (vk *VK) PollsGetVoters(params Params) (response PollsGetVotersResponse, err error) { func (vk *VK) PollsGetVoters(params Params) (response PollsGetVotersResponse, err error) {
err = vk.RequestUnmarshal("polls.getVoters", &response, params) err = vk.RequestUnmarshal("polls.getVoters", &response, params)
return return
@ -88,7 +88,7 @@ type PollsGetVotersFieldsResponse []object.PollsVotersFields
// PollsGetVotersFields returns a list of IDs of users who selected specific answers in the poll. // PollsGetVotersFields returns a list of IDs of users who selected specific answers in the poll.
// //
// https://vk.com/dev/polls.getVoters // https://dev.vk.com/method/polls.getVoters
func (vk *VK) PollsGetVotersFields(params Params) (response PollsGetVotersFieldsResponse, err error) { func (vk *VK) PollsGetVotersFields(params Params) (response PollsGetVotersFieldsResponse, err error) {
err = vk.RequestUnmarshal("polls.getVoters", &response, params) err = vk.RequestUnmarshal("polls.getVoters", &response, params)
return return
@ -99,7 +99,7 @@ type PollsSavePhotoResponse object.PollsPhoto
// PollsSavePhoto allows to save poll's uploaded photo. // PollsSavePhoto allows to save poll's uploaded photo.
// //
// https://vk.com/dev/polls.savePhoto // https://dev.vk.com/method/polls.savePhoto
func (vk *VK) PollsSavePhoto(params Params) (response PollsSavePhotoResponse, err error) { func (vk *VK) PollsSavePhoto(params Params) (response PollsSavePhotoResponse, err error) {
err = vk.RequestUnmarshal("polls.savePhoto", &response, params) err = vk.RequestUnmarshal("polls.savePhoto", &response, params)
return return

View File

@ -10,7 +10,7 @@ type PrettyCardsCreateResponse struct {
// PrettyCardsCreate method. // PrettyCardsCreate method.
// //
// https://vk.com/dev/prettyCards.create // https://dev.vk.com/method/prettyCards.create
func (vk *VK) PrettyCardsCreate(params Params) (response PrettyCardsCreateResponse, err error) { func (vk *VK) PrettyCardsCreate(params Params) (response PrettyCardsCreateResponse, err error) {
err = vk.RequestUnmarshal("prettyCards.create", &response, params) err = vk.RequestUnmarshal("prettyCards.create", &response, params)
return return
@ -25,7 +25,7 @@ type PrettyCardsDeleteResponse struct {
// PrettyCardsDelete method. // PrettyCardsDelete method.
// //
// https://vk.com/dev/prettyCards.delete // https://dev.vk.com/method/prettyCards.delete
func (vk *VK) PrettyCardsDelete(params Params) (response PrettyCardsDeleteResponse, err error) { func (vk *VK) PrettyCardsDelete(params Params) (response PrettyCardsDeleteResponse, err error) {
err = vk.RequestUnmarshal("prettyCards.delete", &response, params) err = vk.RequestUnmarshal("prettyCards.delete", &response, params)
return return
@ -39,7 +39,7 @@ type PrettyCardsEditResponse struct {
// PrettyCardsEdit method. // PrettyCardsEdit method.
// //
// https://vk.com/dev/prettyCards.edit // https://dev.vk.com/method/prettyCards.edit
func (vk *VK) PrettyCardsEdit(params Params) (response PrettyCardsEditResponse, err error) { func (vk *VK) PrettyCardsEdit(params Params) (response PrettyCardsEditResponse, err error) {
err = vk.RequestUnmarshal("prettyCards.edit", &response, params) err = vk.RequestUnmarshal("prettyCards.edit", &response, params)
return return
@ -53,7 +53,7 @@ type PrettyCardsGetResponse struct {
// PrettyCardsGet method. // PrettyCardsGet method.
// //
// https://vk.com/dev/prettyCards.get // https://dev.vk.com/method/prettyCards.get
func (vk *VK) PrettyCardsGet(params Params) (response PrettyCardsGetResponse, err error) { func (vk *VK) PrettyCardsGet(params Params) (response PrettyCardsGetResponse, err error) {
err = vk.RequestUnmarshal("prettyCards.get", &response, params) err = vk.RequestUnmarshal("prettyCards.get", &response, params)
return return
@ -64,7 +64,7 @@ type PrettyCardsGetByIDResponse []object.PrettyCardsPrettyCard
// PrettyCardsGetByID method. // PrettyCardsGetByID method.
// //
// https://vk.com/dev/prettyCards.getById // https://dev.vk.com/method/prettyCards.getById
func (vk *VK) PrettyCardsGetByID(params Params) (response PrettyCardsGetByIDResponse, err error) { func (vk *VK) PrettyCardsGetByID(params Params) (response PrettyCardsGetByIDResponse, err error) {
err = vk.RequestUnmarshal("prettyCards.getById", &response, params) err = vk.RequestUnmarshal("prettyCards.getById", &response, params)
return return
@ -72,7 +72,7 @@ func (vk *VK) PrettyCardsGetByID(params Params) (response PrettyCardsGetByIDResp
// PrettyCardsGetUploadURL method. // PrettyCardsGetUploadURL method.
// //
// https://vk.com/dev/prettyCards.getUploadURL // https://dev.vk.com/method/prettyCards.getUploadURL
func (vk *VK) PrettyCardsGetUploadURL(params Params) (response string, err error) { func (vk *VK) PrettyCardsGetUploadURL(params Params) (response string, err error) {
err = vk.RequestUnmarshal("prettyCards.getUploadURL", &response, params) err = vk.RequestUnmarshal("prettyCards.getUploadURL", &response, params)
return return

View File

@ -10,7 +10,7 @@ type SearchGetHintsResponse struct {
// SearchGetHints allows the programmer to do a quick search for any substring. // SearchGetHints allows the programmer to do a quick search for any substring.
// //
// https://vk.com/dev/search.getHints // https://dev.vk.com/method/search.getHints
func (vk *VK) SearchGetHints(params Params) (response SearchGetHintsResponse, err error) { func (vk *VK) SearchGetHints(params Params) (response SearchGetHintsResponse, err error) {
err = vk.RequestUnmarshal("search.getHints", &response, params) err = vk.RequestUnmarshal("search.getHints", &response, params)
return return

View File

@ -9,7 +9,7 @@ type SecureAddAppEventResponse int // FIXME: not found documentation. https://gi
// SecureAddAppEvent adds user activity information to an application. // SecureAddAppEvent adds user activity information to an application.
// //
// https://vk.com/dev/secure.addAppEvent // https://dev.vk.com/method/secure.addAppEvent
func (vk *VK) SecureAddAppEvent(params Params) (response SecureAddAppEventResponse, err error) { func (vk *VK) SecureAddAppEvent(params Params) (response SecureAddAppEventResponse, err error) {
err = vk.RequestUnmarshal("secure.addAppEvent", &response, params) err = vk.RequestUnmarshal("secure.addAppEvent", &response, params)
return return
@ -20,7 +20,7 @@ type SecureCheckTokenResponse object.SecureTokenChecked
// SecureCheckToken checks the user authentication in IFrame and Flash apps using the access_token parameter. // SecureCheckToken checks the user authentication in IFrame and Flash apps using the access_token parameter.
// //
// https://vk.com/dev/secure.checkToken // https://dev.vk.com/method/secure.checkToken
func (vk *VK) SecureCheckToken(params Params) (response SecureCheckTokenResponse, err error) { func (vk *VK) SecureCheckToken(params Params) (response SecureCheckTokenResponse, err error) {
err = vk.RequestUnmarshal("secure.checkToken", &response, params) err = vk.RequestUnmarshal("secure.checkToken", &response, params)
return return
@ -28,7 +28,7 @@ func (vk *VK) SecureCheckToken(params Params) (response SecureCheckTokenResponse
// SecureGetAppBalance returns payment balance of the application in hundredth of a vote. // SecureGetAppBalance returns payment balance of the application in hundredth of a vote.
// //
// https://vk.com/dev/secure.getAppBalance // https://dev.vk.com/method/secure.getAppBalance
func (vk *VK) SecureGetAppBalance(params Params) (response int, err error) { func (vk *VK) SecureGetAppBalance(params Params) (response int, err error) {
err = vk.RequestUnmarshal("secure.getAppBalance", &response, params) err = vk.RequestUnmarshal("secure.getAppBalance", &response, params)
return return
@ -40,7 +40,7 @@ type SecureGetSMSHistoryResponse []object.SecureSmsNotification
// SecureGetSMSHistory shows a list of SMS notifications sent by the // SecureGetSMSHistory shows a list of SMS notifications sent by the
// application using secure.sendSMSNotification method. // application using secure.sendSMSNotification method.
// //
// https://vk.com/dev/secure.getSMSHistory // https://dev.vk.com/method/secure.getSMSHistory
func (vk *VK) SecureGetSMSHistory(params Params) (response SecureGetSMSHistoryResponse, err error) { func (vk *VK) SecureGetSMSHistory(params Params) (response SecureGetSMSHistoryResponse, err error) {
err = vk.RequestUnmarshal("secure.getSMSHistory", &response, params) err = vk.RequestUnmarshal("secure.getSMSHistory", &response, params)
return return
@ -51,7 +51,7 @@ type SecureGetTransactionsHistoryResponse []object.SecureTransaction
// SecureGetTransactionsHistory shows history of votes transaction between users and the application. // SecureGetTransactionsHistory shows history of votes transaction between users and the application.
// //
// https://vk.com/dev/secure.getTransactionsHistory // https://dev.vk.com/method/secure.getTransactionsHistory
func (vk *VK) SecureGetTransactionsHistory(params Params) (response SecureGetTransactionsHistoryResponse, err error) { func (vk *VK) SecureGetTransactionsHistory(params Params) (response SecureGetTransactionsHistoryResponse, err error) {
err = vk.RequestUnmarshal("secure.getTransactionsHistory", &response, params) err = vk.RequestUnmarshal("secure.getTransactionsHistory", &response, params)
return return
@ -62,7 +62,7 @@ type SecureGetUserLevelResponse []object.SecureLevel
// SecureGetUserLevel returns one of the previously set game levels of one or more users in the application. // SecureGetUserLevel returns one of the previously set game levels of one or more users in the application.
// //
// https://vk.com/dev/secure.getUserLevel // https://dev.vk.com/method/secure.getUserLevel
func (vk *VK) SecureGetUserLevel(params Params) (response SecureGetUserLevelResponse, err error) { func (vk *VK) SecureGetUserLevel(params Params) (response SecureGetUserLevelResponse, err error) {
err = vk.RequestUnmarshal("secure.getUserLevel", &response, params) err = vk.RequestUnmarshal("secure.getUserLevel", &response, params)
return return
@ -76,7 +76,7 @@ type SecureGiveEventStickerResponse []struct {
// SecureGiveEventSticker method. // SecureGiveEventSticker method.
// //
// https://vk.com/dev/secure.giveEventSticker // https://dev.vk.com/method/secure.giveEventSticker
func (vk *VK) SecureGiveEventSticker(params Params) (response SecureGiveEventStickerResponse, err error) { func (vk *VK) SecureGiveEventSticker(params Params) (response SecureGiveEventStickerResponse, err error) {
err = vk.RequestUnmarshal("secure.giveEventSticker", &response, params) err = vk.RequestUnmarshal("secure.giveEventSticker", &response, params)
return return
@ -87,7 +87,7 @@ type SecureSendNotificationResponse []int // User ID
// SecureSendNotification sends notification to the user. // SecureSendNotification sends notification to the user.
// //
// https://vk.com/dev/secure.sendNotification // https://dev.vk.com/method/secure.sendNotification
func (vk *VK) SecureSendNotification(params Params) (response SecureSendNotificationResponse, err error) { func (vk *VK) SecureSendNotification(params Params) (response SecureSendNotificationResponse, err error) {
err = vk.RequestUnmarshal("secure.sendNotification", &response, params) err = vk.RequestUnmarshal("secure.sendNotification", &response, params)
return return
@ -95,7 +95,7 @@ func (vk *VK) SecureSendNotification(params Params) (response SecureSendNotifica
// SecureSendSMSNotification sends SMS notification to a user's mobile device. // SecureSendSMSNotification sends SMS notification to a user's mobile device.
// //
// https://vk.com/dev/secure.sendSMSNotification // https://dev.vk.com/method/secure.sendSMSNotification
func (vk *VK) SecureSendSMSNotification(params Params) (response int, err error) { func (vk *VK) SecureSendSMSNotification(params Params) (response int, err error) {
err = vk.RequestUnmarshal("secure.sendSMSNotification", &response, params) err = vk.RequestUnmarshal("secure.sendSMSNotification", &response, params)
return return
@ -103,7 +103,7 @@ func (vk *VK) SecureSendSMSNotification(params Params) (response int, err error)
// SecureSetCounter sets a counter which is shown to the user in bold in the left menu. // SecureSetCounter sets a counter which is shown to the user in bold in the left menu.
// //
// https://vk.com/dev/secure.setCounter // https://dev.vk.com/method/secure.setCounter
func (vk *VK) SecureSetCounter(params Params) (response int, err error) { func (vk *VK) SecureSetCounter(params Params) (response int, err error) {
err = vk.RequestUnmarshal("secure.setCounter", &response, params) err = vk.RequestUnmarshal("secure.setCounter", &response, params)
return return

View File

@ -9,7 +9,7 @@ type StatsGetResponse []object.StatsPeriod
// StatsGet returns statistics of a community or an application. // StatsGet returns statistics of a community or an application.
// //
// https://vk.com/dev/stats.get // https://dev.vk.com/method/stats.get
func (vk *VK) StatsGet(params Params) (response StatsGetResponse, err error) { func (vk *VK) StatsGet(params Params) (response StatsGetResponse, err error) {
err = vk.RequestUnmarshal("stats.get", &response, params) err = vk.RequestUnmarshal("stats.get", &response, params)
return return
@ -20,7 +20,7 @@ type StatsGetPostReachResponse []object.StatsWallpostStat
// StatsGetPostReach returns stats for a wall post. // StatsGetPostReach returns stats for a wall post.
// //
// https://vk.com/dev/stats.getPostReach // https://dev.vk.com/method/stats.getPostReach
func (vk *VK) StatsGetPostReach(params Params) (response StatsGetPostReachResponse, err error) { func (vk *VK) StatsGetPostReach(params Params) (response StatsGetPostReachResponse, err error) {
err = vk.RequestUnmarshal("stats.getPostReach", &response, params) err = vk.RequestUnmarshal("stats.getPostReach", &response, params)
return return
@ -28,7 +28,7 @@ func (vk *VK) StatsGetPostReach(params Params) (response StatsGetPostReachRespon
// StatsTrackVisitor adds current session's data in the application statistics. // StatsTrackVisitor adds current session's data in the application statistics.
// //
// https://vk.com/dev/stats.trackVisitor // https://dev.vk.com/method/stats.trackVisitor
func (vk *VK) StatsTrackVisitor(params Params) (response int, err error) { func (vk *VK) StatsTrackVisitor(params Params) (response int, err error) {
err = vk.RequestUnmarshal("stats.trackVisitor", &response, params) err = vk.RequestUnmarshal("stats.trackVisitor", &response, params)
return return

View File

@ -21,7 +21,7 @@ func (s StorageGetResponse) ToMap() map[string]string {
// //
// StorageGet always return array! // StorageGet always return array!
// //
// https://vk.com/dev/storage.get // https://dev.vk.com/method/storage.get
func (vk *VK) StorageGet(params Params) (response StorageGetResponse, err error) { func (vk *VK) StorageGet(params Params) (response StorageGetResponse, err error) {
err = vk.RequestUnmarshal("storage.get", &response, params) err = vk.RequestUnmarshal("storage.get", &response, params)
@ -33,7 +33,7 @@ type StorageGetKeysResponse []string
// StorageGetKeys returns the names of all variables. // StorageGetKeys returns the names of all variables.
// //
// https://vk.com/dev/storage.getKeys // https://dev.vk.com/method/storage.getKeys
func (vk *VK) StorageGetKeys(params Params) (response StorageGetKeysResponse, err error) { func (vk *VK) StorageGetKeys(params Params) (response StorageGetKeysResponse, err error) {
err = vk.RequestUnmarshal("storage.getKeys", &response, params) err = vk.RequestUnmarshal("storage.getKeys", &response, params)
return return
@ -41,7 +41,7 @@ func (vk *VK) StorageGetKeys(params Params) (response StorageGetKeysResponse, er
// StorageSet saves a value of variable with the name set by key parameter. // StorageSet saves a value of variable with the name set by key parameter.
// //
// https://vk.com/dev/storage.set // https://dev.vk.com/method/storage.set
func (vk *VK) StorageSet(params Params) (response int, err error) { func (vk *VK) StorageSet(params Params) (response int, err error) {
err = vk.RequestUnmarshal("storage.set", &response, params) err = vk.RequestUnmarshal("storage.set", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// StoreAddStickersToFavorite add stickers to favorite. // StoreAddStickersToFavorite add stickers to favorite.
// //
// https://vk.com/dev/store.addStickersToFavorite // https://dev.vk.com/method/store.addStickersToFavorite
func (vk *VK) StoreAddStickersToFavorite(params Params) (response int, err error) { func (vk *VK) StoreAddStickersToFavorite(params Params) (response int, err error) {
err = vk.RequestUnmarshal("store.addStickersToFavorite", &response, params) err = vk.RequestUnmarshal("store.addStickersToFavorite", &response, params)
return return
@ -20,7 +20,7 @@ type StoreGetFavoriteStickersResponse struct {
// StoreGetFavoriteStickers return favorite stickers. // StoreGetFavoriteStickers return favorite stickers.
// //
// https://vk.com/dev/store.getFavoriteStickers // https://dev.vk.com/method/store.getFavoriteStickers
func (vk *VK) StoreGetFavoriteStickers(params Params) (response StoreGetFavoriteStickersResponse, err error) { func (vk *VK) StoreGetFavoriteStickers(params Params) (response StoreGetFavoriteStickersResponse, err error) {
err = vk.RequestUnmarshal("store.getFavoriteStickers", &response, params) err = vk.RequestUnmarshal("store.getFavoriteStickers", &response, params)
return return
@ -28,7 +28,7 @@ func (vk *VK) StoreGetFavoriteStickers(params Params) (response StoreGetFavorite
// StoreRemoveStickersFromFavorite remove stickers from favorite. // StoreRemoveStickersFromFavorite remove stickers from favorite.
// //
// https://vk.com/dev/store.removeStickersFromFavorite // https://dev.vk.com/method/store.removeStickersFromFavorite
func (vk *VK) StoreRemoveStickersFromFavorite(params Params) (response int, err error) { func (vk *VK) StoreRemoveStickersFromFavorite(params Params) (response int, err error) {
err = vk.RequestUnmarshal("store.removeStickersFromFavorite", &response, params) err = vk.RequestUnmarshal("store.removeStickersFromFavorite", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// StoriesBanOwner allows to hide stories from chosen sources from current user's feed. // StoriesBanOwner allows to hide stories from chosen sources from current user's feed.
// //
// https://vk.com/dev/stories.banOwner // https://dev.vk.com/method/stories.banOwner
func (vk *VK) StoriesBanOwner(params Params) (response int, err error) { func (vk *VK) StoriesBanOwner(params Params) (response int, err error) {
err = vk.RequestUnmarshal("stories.banOwner", &response, params) err = vk.RequestUnmarshal("stories.banOwner", &response, params)
return return
@ -14,7 +14,7 @@ func (vk *VK) StoriesBanOwner(params Params) (response int, err error) {
// StoriesDelete allows to delete story. // StoriesDelete allows to delete story.
// //
// https://vk.com/dev/stories.delete // https://dev.vk.com/method/stories.delete
func (vk *VK) StoriesDelete(params Params) (response int, err error) { func (vk *VK) StoriesDelete(params Params) (response int, err error) {
err = vk.RequestUnmarshal("stories.delete", &response, params) err = vk.RequestUnmarshal("stories.delete", &response, params)
return return
@ -32,7 +32,7 @@ type StoriesGetResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/stories.get // https://dev.vk.com/method/stories.get
func (vk *VK) StoriesGet(params Params) (response StoriesGetResponse, err error) { func (vk *VK) StoriesGet(params Params) (response StoriesGetResponse, err error) {
err = vk.RequestUnmarshal("stories.get", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("stories.get", &response, params, Params{"extended": false})
@ -52,7 +52,7 @@ type StoriesGetExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/stories.get // https://dev.vk.com/method/stories.get
func (vk *VK) StoriesGetExtended(params Params) (response StoriesGetExtendedResponse, err error) { func (vk *VK) StoriesGetExtended(params Params) (response StoriesGetExtendedResponse, err error) {
err = vk.RequestUnmarshal("stories.get", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("stories.get", &response, params, Params{"extended": true})
@ -69,7 +69,7 @@ type StoriesGetBannedResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/stories.getBanned // https://dev.vk.com/method/stories.getBanned
func (vk *VK) StoriesGetBanned(params Params) (response StoriesGetBannedResponse, err error) { func (vk *VK) StoriesGetBanned(params Params) (response StoriesGetBannedResponse, err error) {
err = vk.RequestUnmarshal("stories.getBanned", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("stories.getBanned", &response, params, Params{"extended": false})
@ -87,7 +87,7 @@ type StoriesGetBannedExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/stories.getBanned // https://dev.vk.com/method/stories.getBanned
func (vk *VK) StoriesGetBannedExtended(params Params) (response StoriesGetBannedExtendedResponse, err error) { func (vk *VK) StoriesGetBannedExtended(params Params) (response StoriesGetBannedExtendedResponse, err error) {
err = vk.RequestUnmarshal("stories.getBanned", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("stories.getBanned", &response, params, Params{"extended": true})
@ -104,7 +104,7 @@ type StoriesGetByIDResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/stories.getById // https://dev.vk.com/method/stories.getById
func (vk *VK) StoriesGetByID(params Params) (response StoriesGetByIDResponse, err error) { func (vk *VK) StoriesGetByID(params Params) (response StoriesGetByIDResponse, err error) {
err = vk.RequestUnmarshal("stories.getById", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("stories.getById", &response, params, Params{"extended": false})
@ -122,7 +122,7 @@ type StoriesGetByIDExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/stories.getById // https://dev.vk.com/method/stories.getById
func (vk *VK) StoriesGetByIDExtended(params Params) (response StoriesGetByIDExtendedResponse, err error) { func (vk *VK) StoriesGetByIDExtended(params Params) (response StoriesGetByIDExtendedResponse, err error) {
err = vk.RequestUnmarshal("stories.getById", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("stories.getById", &response, params, Params{"extended": true})
@ -138,7 +138,7 @@ type StoriesGetPhotoUploadServerResponse struct {
// StoriesGetPhotoUploadServer returns URL for uploading a story with photo. // StoriesGetPhotoUploadServer returns URL for uploading a story with photo.
// //
// https://vk.com/dev/stories.getPhotoUploadServer // https://dev.vk.com/method/stories.getPhotoUploadServer
func (vk *VK) StoriesGetPhotoUploadServer(params Params) (response StoriesGetPhotoUploadServerResponse, err error) { func (vk *VK) StoriesGetPhotoUploadServer(params Params) (response StoriesGetPhotoUploadServerResponse, err error) {
err = vk.RequestUnmarshal("stories.getPhotoUploadServer", &response, params) err = vk.RequestUnmarshal("stories.getPhotoUploadServer", &response, params)
return return
@ -154,7 +154,7 @@ type StoriesGetRepliesResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/stories.getReplies // https://dev.vk.com/method/stories.getReplies
func (vk *VK) StoriesGetReplies(params Params) (response StoriesGetRepliesResponse, err error) { func (vk *VK) StoriesGetReplies(params Params) (response StoriesGetRepliesResponse, err error) {
err = vk.RequestUnmarshal("stories.getReplies", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("stories.getReplies", &response, params, Params{"extended": false})
@ -172,7 +172,7 @@ type StoriesGetRepliesExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/stories.getReplies // https://dev.vk.com/method/stories.getReplies
func (vk *VK) StoriesGetRepliesExtended(params Params) (response StoriesGetRepliesExtendedResponse, err error) { func (vk *VK) StoriesGetRepliesExtended(params Params) (response StoriesGetRepliesExtendedResponse, err error) {
err = vk.RequestUnmarshal("stories.getReplies", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("stories.getReplies", &response, params, Params{"extended": true})
@ -184,7 +184,7 @@ type StoriesGetStatsResponse object.StoriesStoryStats
// StoriesGetStats return statistics data for the story. // StoriesGetStats return statistics data for the story.
// //
// https://vk.com/dev/stories.getStats // https://dev.vk.com/method/stories.getStats
func (vk *VK) StoriesGetStats(params Params) (response StoriesGetStatsResponse, err error) { func (vk *VK) StoriesGetStats(params Params) (response StoriesGetStatsResponse, err error) {
err = vk.RequestUnmarshal("stories.getStats", &response, params) err = vk.RequestUnmarshal("stories.getStats", &response, params)
return return
@ -199,7 +199,7 @@ type StoriesGetVideoUploadServerResponse struct {
// StoriesGetVideoUploadServer allows to receive URL for uploading story with video. // StoriesGetVideoUploadServer allows to receive URL for uploading story with video.
// //
// https://vk.com/dev/stories.getVideoUploadServer // https://dev.vk.com/method/stories.getVideoUploadServer
func (vk *VK) StoriesGetVideoUploadServer(params Params) (response StoriesGetVideoUploadServerResponse, err error) { func (vk *VK) StoriesGetVideoUploadServer(params Params) (response StoriesGetVideoUploadServerResponse, err error) {
err = vk.RequestUnmarshal("stories.getVideoUploadServer", &response, params) err = vk.RequestUnmarshal("stories.getVideoUploadServer", &response, params)
return return
@ -215,7 +215,7 @@ type StoriesGetViewersResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/stories.getViewers // https://dev.vk.com/method/stories.getViewers
func (vk *VK) StoriesGetViewers(params Params) (response StoriesGetViewersResponse, err error) { func (vk *VK) StoriesGetViewers(params Params) (response StoriesGetViewersResponse, err error) {
err = vk.RequestUnmarshal("stories.getViewers", &response, params) err = vk.RequestUnmarshal("stories.getViewers", &response, params)
@ -224,7 +224,7 @@ func (vk *VK) StoriesGetViewers(params Params) (response StoriesGetViewersRespon
// StoriesHideAllReplies hides all replies in the last 24 hours from the user to current user's stories. // StoriesHideAllReplies hides all replies in the last 24 hours from the user to current user's stories.
// //
// https://vk.com/dev/stories.hideAllReplies // https://dev.vk.com/method/stories.hideAllReplies
func (vk *VK) StoriesHideAllReplies(params Params) (response int, err error) { func (vk *VK) StoriesHideAllReplies(params Params) (response int, err error) {
err = vk.RequestUnmarshal("stories.hideAllReplies", &response, params) err = vk.RequestUnmarshal("stories.hideAllReplies", &response, params)
return return
@ -232,7 +232,7 @@ func (vk *VK) StoriesHideAllReplies(params Params) (response int, err error) {
// StoriesHideReply hides the reply to the current user's story. // StoriesHideReply hides the reply to the current user's story.
// //
// https://vk.com/dev/stories.hideReply // https://dev.vk.com/method/stories.hideReply
func (vk *VK) StoriesHideReply(params Params) (response int, err error) { func (vk *VK) StoriesHideReply(params Params) (response int, err error) {
err = vk.RequestUnmarshal("stories.hideReply", &response, params) err = vk.RequestUnmarshal("stories.hideReply", &response, params)
return return
@ -247,7 +247,7 @@ type StoriesSaveResponse struct {
// StoriesSave method. // StoriesSave method.
// //
// https://vk.com/dev/stories.save // https://dev.vk.com/method/stories.save
func (vk *VK) StoriesSave(params Params) (response StoriesSaveResponse, err error) { func (vk *VK) StoriesSave(params Params) (response StoriesSaveResponse, err error) {
err = vk.RequestUnmarshal("stories.save", &response, params) err = vk.RequestUnmarshal("stories.save", &response, params)
return return
@ -263,7 +263,7 @@ type StoriesSearchResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/stories.search // https://dev.vk.com/method/stories.search
func (vk *VK) StoriesSearch(params Params) (response StoriesSearchResponse, err error) { func (vk *VK) StoriesSearch(params Params) (response StoriesSearchResponse, err error) {
err = vk.RequestUnmarshal("stories.search", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("stories.search", &response, params, Params{"extended": false})
@ -281,7 +281,7 @@ type StoriesSearchExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/stories.search // https://dev.vk.com/method/stories.search
func (vk *VK) StoriesSearchExtended(params Params) (response StoriesSearchExtendedResponse, err error) { func (vk *VK) StoriesSearchExtended(params Params) (response StoriesSearchExtendedResponse, err error) {
err = vk.RequestUnmarshal("stories.search", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("stories.search", &response, params, Params{"extended": true})
@ -293,7 +293,7 @@ func (vk *VK) StoriesSearchExtended(params Params) (response StoriesSearchExtend
// Available for applications with type VK Mini Apps. The default method is // Available for applications with type VK Mini Apps. The default method is
// not available to applications. // not available to applications.
// //
// https://vk.com/dev/stories.sendInteraction // https://dev.vk.com/method/stories.sendInteraction
func (vk *VK) StoriesSendInteraction(params Params) (response int, err error) { func (vk *VK) StoriesSendInteraction(params Params) (response int, err error) {
err = vk.RequestUnmarshal("stories.sendInteraction", &response, params) err = vk.RequestUnmarshal("stories.sendInteraction", &response, params)
return return
@ -301,7 +301,7 @@ func (vk *VK) StoriesSendInteraction(params Params) (response int, err error) {
// StoriesUnbanOwner allows to show stories from hidden sources in current user's feed. // StoriesUnbanOwner allows to show stories from hidden sources in current user's feed.
// //
// https://vk.com/dev/stories.unbanOwner // https://dev.vk.com/method/stories.unbanOwner
func (vk *VK) StoriesUnbanOwner(params Params) (response int, err error) { func (vk *VK) StoriesUnbanOwner(params Params) (response int, err error) {
err = vk.RequestUnmarshal("stories.unbanOwner", &response, params) err = vk.RequestUnmarshal("stories.unbanOwner", &response, params)
return return

View File

@ -8,7 +8,7 @@ type StreamingGetServerURLResponse struct {
// StreamingGetServerURL allows to receive data for the connection to Streaming API. // StreamingGetServerURL allows to receive data for the connection to Streaming API.
// //
// https://vk.com/dev/streaming.getServerUrl // https://dev.vk.com/method/streaming.getServerUrl
func (vk *VK) StreamingGetServerURL(params Params) (response StreamingGetServerURLResponse, err error) { func (vk *VK) StreamingGetServerURL(params Params) (response StreamingGetServerURLResponse, err error) {
err = vk.RequestUnmarshal("streaming.getServerUrl", &response, params) err = vk.RequestUnmarshal("streaming.getServerUrl", &response, params)
return return
@ -21,7 +21,7 @@ type StreamingGetSettingsResponse struct {
// StreamingGetSettings allows to receive monthly tier for Streaming API. // StreamingGetSettings allows to receive monthly tier for Streaming API.
// //
// https://vk.com/dev/streaming.getSettings // https://dev.vk.com/method/streaming.getSettings
func (vk *VK) StreamingGetSettings(params Params) (response StreamingGetSettingsResponse, err error) { func (vk *VK) StreamingGetSettings(params Params) (response StreamingGetSettingsResponse, err error) {
err = vk.RequestUnmarshal("streaming.getSettings", &response, params) err = vk.RequestUnmarshal("streaming.getSettings", &response, params)
return return
@ -38,7 +38,7 @@ type StreamingGetStatsResponse []struct {
// StreamingGetStats allows to receive statistics for prepared and received events in Streaming API. // StreamingGetStats allows to receive statistics for prepared and received events in Streaming API.
// //
// https://vk.com/dev/streaming.getStats // https://dev.vk.com/method/streaming.getStats
func (vk *VK) StreamingGetStats(params Params) (response StreamingGetStatsResponse, err error) { func (vk *VK) StreamingGetStats(params Params) (response StreamingGetStatsResponse, err error) {
err = vk.RequestUnmarshal("streaming.getStats", &response, params) err = vk.RequestUnmarshal("streaming.getStats", &response, params)
return return
@ -51,7 +51,7 @@ type StreamingGetStemResponse struct {
// StreamingGetStem allows to receive the stem of the word. // StreamingGetStem allows to receive the stem of the word.
// //
// https://vk.com/dev/streaming.getStem // https://dev.vk.com/method/streaming.getStem
func (vk *VK) StreamingGetStem(params Params) (response StreamingGetStemResponse, err error) { func (vk *VK) StreamingGetStem(params Params) (response StreamingGetStemResponse, err error) {
err = vk.RequestUnmarshal("streaming.getStem", &response, params) err = vk.RequestUnmarshal("streaming.getStem", &response, params)
return return
@ -59,7 +59,7 @@ func (vk *VK) StreamingGetStem(params Params) (response StreamingGetStemResponse
// StreamingSetSettings allows to set monthly tier for Streaming API. // StreamingSetSettings allows to set monthly tier for Streaming API.
// //
// https://vk.com/dev/streaming.setSettings // https://dev.vk.com/method/streaming.setSettings
func (vk *VK) StreamingSetSettings(params Params) (response int, err error) { func (vk *VK) StreamingSetSettings(params Params) (response int, err error) {
err = vk.RequestUnmarshal("streaming.setSettings", &response, params) err = vk.RequestUnmarshal("streaming.setSettings", &response, params)

View File

@ -180,7 +180,7 @@ func (vk *VK) uploadOwnerPhoto(params Params, squareCrop string, file io.Reader)
) { ) {
uploadServer, err := vk.PhotosGetOwnerPhotoUploadServer(params) uploadServer, err := vk.PhotosGetOwnerPhotoUploadServer(params)
if err != nil { if err != nil {
return return response, err
} }
body := new(bytes.Buffer) body := new(bytes.Buffer)
@ -188,12 +188,12 @@ func (vk *VK) uploadOwnerPhoto(params Params, squareCrop string, file io.Reader)
part, err := writer.CreateFormFile("photo", "photo.jpeg") part, err := writer.CreateFormFile("photo", "photo.jpeg")
if err != nil { if err != nil {
return return response, err
} }
_, err = io.Copy(part, file) _, err = io.Copy(part, file)
if err != nil { if err != nil {
return return response, err
} }
contentType := writer.FormDataContentType() contentType := writer.FormDataContentType()
@ -201,7 +201,7 @@ func (vk *VK) uploadOwnerPhoto(params Params, squareCrop string, file io.Reader)
if squareCrop != "" { if squareCrop != "" {
err = writer.WriteField("_square_crop", squareCrop) err = writer.WriteField("_square_crop", squareCrop)
if err != nil { if err != nil {
return return response, err
} }
} }
@ -209,20 +209,20 @@ func (vk *VK) uploadOwnerPhoto(params Params, squareCrop string, file io.Reader)
resp, err := vk.Client.Post(uploadServer.UploadURL, contentType, body) resp, err := vk.Client.Post(uploadServer.UploadURL, contentType, body)
if err != nil { if err != nil {
return return response, err
} }
defer resp.Body.Close() defer resp.Body.Close()
bodyContent, err := io.ReadAll(resp.Body) bodyContent, err := io.ReadAll(resp.Body)
if err != nil { if err != nil {
return return response, err
} }
var handler object.PhotosOwnerUploadResponse var handler object.PhotosOwnerUploadResponse
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.PhotosSaveOwnerPhoto(Params{ response, err = vk.PhotosSaveOwnerPhoto(Params{
@ -523,26 +523,26 @@ func (vk *VK) UploadVideo(params Params, file io.Reader) (response VideoSaveResp
func (vk *VK) uploadDoc(url, title, tags string, file io.Reader) (response DocsSaveResponse, err error) { func (vk *VK) uploadDoc(url, title, tags string, file io.Reader) (response DocsSaveResponse, err error) {
bodyContent, err := vk.UploadFile(url, file, "file", title) bodyContent, err := vk.UploadFile(url, file, "file", title)
if err != nil { if err != nil {
return return response, err
} }
var docUploadError UploadError var docUploadError UploadError
err = json.Unmarshal(bodyContent, &docUploadError) err = json.Unmarshal(bodyContent, &docUploadError)
if err != nil { if err != nil {
return return response, err
} }
if docUploadError.Err != "" { if docUploadError.Err != "" {
err = &docUploadError err = &docUploadError
return return response, err
} }
var handler object.DocsDocUploadResponse var handler object.DocsDocUploadResponse
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.DocsSave(Params{ response, err = vk.DocsSave(Params{
@ -562,12 +562,12 @@ func (vk *VK) uploadDoc(url, title, tags string, file io.Reader) (response DocsS
func (vk *VK) UploadDoc(title, tags string, file io.Reader) (response DocsSaveResponse, err error) { func (vk *VK) UploadDoc(title, tags string, file io.Reader) (response DocsSaveResponse, err error) {
uploadServer, err := vk.DocsGetUploadServer(nil) uploadServer, err := vk.DocsGetUploadServer(nil)
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.uploadDoc(uploadServer.UploadURL, title, tags, file) response, err = vk.uploadDoc(uploadServer.UploadURL, title, tags, file)
return return response, err
} }
// UploadGroupDoc uploading Documents into Community. // UploadGroupDoc uploading Documents into Community.
@ -580,12 +580,12 @@ func (vk *VK) UploadGroupDoc(groupID int, title, tags string, file io.Reader) (r
"group_id": groupID, "group_id": groupID,
}) })
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.uploadDoc(uploadServer.UploadURL, title, tags, file) response, err = vk.uploadDoc(uploadServer.UploadURL, title, tags, file)
return return response, err
} }
// UploadWallDoc uploading Documents on Wall. // UploadWallDoc uploading Documents on Wall.
@ -596,12 +596,12 @@ func (vk *VK) UploadGroupDoc(groupID int, title, tags string, file io.Reader) (r
func (vk *VK) UploadWallDoc(title, tags string, file io.Reader) (response DocsSaveResponse, err error) { func (vk *VK) UploadWallDoc(title, tags string, file io.Reader) (response DocsSaveResponse, err error) {
uploadServer, err := vk.DocsGetWallUploadServer(nil) uploadServer, err := vk.DocsGetWallUploadServer(nil)
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.uploadDoc(uploadServer.UploadURL, title, tags, file) response, err = vk.uploadDoc(uploadServer.UploadURL, title, tags, file)
return return response, err
} }
// UploadGroupWallDoc uploading Documents on Group Wall. // UploadGroupWallDoc uploading Documents on Group Wall.
@ -617,12 +617,12 @@ func (vk *VK) UploadGroupWallDoc(groupID int, title, tags string, file io.Reader
"group_id": groupID, "group_id": groupID,
}) })
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.uploadDoc(uploadServer.UploadURL, title, tags, file) response, err = vk.uploadDoc(uploadServer.UploadURL, title, tags, file)
return return response, err
} }
// UploadMessagesDoc uploading Documents into a Private Message. // UploadMessagesDoc uploading Documents into a Private Message.
@ -639,12 +639,12 @@ func (vk *VK) UploadMessagesDoc(peerID int, typeDoc, title, tags string, file io
"type": typeDoc, "type": typeDoc,
}) })
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.uploadDoc(uploadServer.UploadURL, title, tags, file) response, err = vk.uploadDoc(uploadServer.UploadURL, title, tags, file)
return return response, err
} }
// UploadOwnerCoverPhoto uploading a Main Photo to a Group Chat. // UploadOwnerCoverPhoto uploading a Main Photo to a Group Chat.
@ -665,19 +665,19 @@ func (vk *VK) UploadOwnerCoverPhoto(groupID, cropX, cropY, cropX2, cropY2 int, f
"crop_y2": cropY2, "crop_y2": cropY2,
}) })
if err != nil { if err != nil {
return return response, err
} }
bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "photo", "photo.jpeg") bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "photo", "photo.jpeg")
if err != nil { if err != nil {
return return response, err
} }
var handler object.PhotosOwnerUploadResponse var handler object.PhotosOwnerUploadResponse
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
return vk.PhotosSaveOwnerCoverPhoto(Params{ return vk.PhotosSaveOwnerCoverPhoto(Params{
@ -712,23 +712,23 @@ type rawUploadStoriesVideo struct {
// more than 10 MB. Video format: h264 video, aac audio, // more than 10 MB. Video format: h264 video, aac audio,
// maximum 720х1280, 30fps. // maximum 720х1280, 30fps.
// //
// https://vk.com/dev/stories.getPhotoUploadServer // https://dev.vk.com/method/stories.getPhotoUploadServer
func (vk *VK) UploadStoriesPhoto(params Params, file io.Reader) (response StoriesSaveResponse, err error) { func (vk *VK) UploadStoriesPhoto(params Params, file io.Reader) (response StoriesSaveResponse, err error) {
uploadServer, err := vk.StoriesGetPhotoUploadServer(params) uploadServer, err := vk.StoriesGetPhotoUploadServer(params)
if err != nil { if err != nil {
return return response, err
} }
bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "file", "file.jpeg") bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "file", "file.jpeg")
if err != nil { if err != nil {
return return response, err
} }
var handler rawUploadStoriesPhoto var handler rawUploadStoriesPhoto
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
if handler.Error.ErrorCode != 0 { if handler.Error.ErrorCode != 0 {
@ -753,19 +753,19 @@ func (vk *VK) UploadStoriesPhoto(params Params, file io.Reader) (response Storie
func (vk *VK) UploadStoriesVideo(params Params, file io.Reader) (response StoriesSaveResponse, err error) { func (vk *VK) UploadStoriesVideo(params Params, file io.Reader) (response StoriesSaveResponse, err error) {
uploadServer, err := vk.StoriesGetVideoUploadServer(params) uploadServer, err := vk.StoriesGetVideoUploadServer(params)
if err != nil { if err != nil {
return return response, err
} }
bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "video_file", "video.mp4") bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "video_file", "video.mp4")
if err != nil { if err != nil {
return return response, err
} }
var handler rawUploadStoriesVideo var handler rawUploadStoriesVideo
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
if handler.UploadError.Code != 0 { if handler.UploadError.Code != 0 {
@ -788,19 +788,19 @@ func (vk *VK) UploadStoriesVideo(params Params, file io.Reader) (response Storie
func (vk *VK) uploadPollsPhoto(params Params, file io.Reader) (response PollsSavePhotoResponse, err error) { func (vk *VK) uploadPollsPhoto(params Params, file io.Reader) (response PollsSavePhotoResponse, err error) {
uploadServer, err := vk.PollsGetPhotoUploadServer(params) uploadServer, err := vk.PollsGetPhotoUploadServer(params)
if err != nil { if err != nil {
return return response, err
} }
bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "photo", "photo.jpeg") bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "photo", "photo.jpeg")
if err != nil { if err != nil {
return return response, err
} }
var handler object.PollsPhotoUploadResponse var handler object.PollsPhotoUploadResponse
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.PollsSavePhoto(Params{ response, err = vk.PollsSavePhoto(Params{
@ -808,7 +808,7 @@ func (vk *VK) uploadPollsPhoto(params Params, file io.Reader) (response PollsSav
"hash": handler.Hash, "hash": handler.Hash,
}) })
return return response, err
} }
// UploadPollsPhoto uploading a Poll Photo. // UploadPollsPhoto uploading a Poll Photo.
@ -842,19 +842,19 @@ type uploadPrettyCardsPhotoHandler struct {
func (vk *VK) UploadPrettyCardsPhoto(file io.Reader) (response string, err error) { func (vk *VK) UploadPrettyCardsPhoto(file io.Reader) (response string, err error) {
uploadURL, err := vk.PrettyCardsGetUploadURL(nil) uploadURL, err := vk.PrettyCardsGetUploadURL(nil)
if err != nil { if err != nil {
return return response, err
} }
bodyContent, err := vk.UploadFile(uploadURL, file, "file", "photo.jpg") bodyContent, err := vk.UploadFile(uploadURL, file, "file", "photo.jpg")
if err != nil { if err != nil {
return return response, err
} }
var handler uploadPrettyCardsPhotoHandler var handler uploadPrettyCardsPhotoHandler
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
response = handler.Photo response = handler.Photo
@ -863,7 +863,7 @@ func (vk *VK) UploadPrettyCardsPhoto(file io.Reader) (response string, err error
err = &UploadError{Code: handler.ErrCode} err = &UploadError{Code: handler.ErrCode}
} }
return return response, err
} }
type uploadLeadFormsPhotoHandler struct { type uploadLeadFormsPhotoHandler struct {
@ -877,19 +877,19 @@ type uploadLeadFormsPhotoHandler struct {
func (vk *VK) UploadLeadFormsPhoto(file io.Reader) (response string, err error) { func (vk *VK) UploadLeadFormsPhoto(file io.Reader) (response string, err error) {
uploadURL, err := vk.LeadFormsGetUploadURL(nil) uploadURL, err := vk.LeadFormsGetUploadURL(nil)
if err != nil { if err != nil {
return return response, err
} }
bodyContent, err := vk.UploadFile(uploadURL, file, "file", "photo.jpg") bodyContent, err := vk.UploadFile(uploadURL, file, "file", "photo.jpg")
if err != nil { if err != nil {
return return response, err
} }
var handler uploadLeadFormsPhotoHandler var handler uploadLeadFormsPhotoHandler
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
response = handler.Photo response = handler.Photo
@ -898,7 +898,7 @@ func (vk *VK) UploadLeadFormsPhoto(file io.Reader) (response string, err error)
err = &UploadError{Code: handler.ErrCode} err = &UploadError{Code: handler.ErrCode}
} }
return return response, err
} }
// UploadAppImage uploading a Image into App collection for community app widgets. // UploadAppImage uploading a Image into App collection for community app widgets.
@ -907,19 +907,19 @@ func (vk *VK) UploadAppImage(imageType string, file io.Reader) (response object.
"image_type": imageType, "image_type": imageType,
}) })
if err != nil { if err != nil {
return return response, err
} }
bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "image", "photo.jpeg") bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "image", "photo.jpeg")
if err != nil { if err != nil {
return return response, err
} }
var handler object.AppWidgetsAppImageUploadResponse var handler object.AppWidgetsAppImageUploadResponse
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.AppWidgetsSaveAppImage(Params{ response, err = vk.AppWidgetsSaveAppImage(Params{
@ -927,7 +927,7 @@ func (vk *VK) UploadAppImage(imageType string, file io.Reader) (response object.
"hash": handler.Hash, "hash": handler.Hash,
}) })
return return response, err
} }
// UploadGroupImage uploading a Image into Community collection for community app widgets. // UploadGroupImage uploading a Image into Community collection for community app widgets.
@ -936,19 +936,19 @@ func (vk *VK) UploadGroupImage(imageType string, file io.Reader) (response objec
"image_type": imageType, "image_type": imageType,
}) })
if err != nil { if err != nil {
return return response, err
} }
bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "image", "photo.jpeg") bodyContent, err := vk.UploadFile(uploadServer.UploadURL, file, "image", "photo.jpeg")
if err != nil { if err != nil {
return return response, err
} }
var handler object.AppWidgetsGroupImageUploadResponse var handler object.AppWidgetsGroupImageUploadResponse
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.AppWidgetsSaveGroupImage(Params{ response, err = vk.AppWidgetsSaveGroupImage(Params{
@ -956,7 +956,7 @@ func (vk *VK) UploadGroupImage(imageType string, file io.Reader) (response objec
"hash": handler.Hash, "hash": handler.Hash,
}) })
return return response, err
} }
// UploadMarusiaPicture uploading picture. // UploadMarusiaPicture uploading picture.
@ -966,19 +966,19 @@ func (vk *VK) UploadGroupImage(imageType string, file io.Reader) (response objec
func (vk *VK) UploadMarusiaPicture(file io.Reader) (response MarusiaSavePictureResponse, err error) { func (vk *VK) UploadMarusiaPicture(file io.Reader) (response MarusiaSavePictureResponse, err error) {
uploadServer, err := vk.MarusiaGetPictureUploadLink(nil) uploadServer, err := vk.MarusiaGetPictureUploadLink(nil)
if err != nil { if err != nil {
return return response, err
} }
bodyContent, err := vk.UploadFile(uploadServer.PictureUploadLink, file, "photo", "photo.jpg") bodyContent, err := vk.UploadFile(uploadServer.PictureUploadLink, file, "photo", "photo.jpg")
if err != nil { if err != nil {
return return response, err
} }
var handler object.MarusiaPictureUploadResponse var handler object.MarusiaPictureUploadResponse
err = json.Unmarshal(bodyContent, &handler) err = json.Unmarshal(bodyContent, &handler)
if err != nil { if err != nil {
return return response, err
} }
photo, _ := json.Marshal(handler.Photo) photo, _ := json.Marshal(handler.Photo)
@ -989,26 +989,26 @@ func (vk *VK) UploadMarusiaPicture(file io.Reader) (response MarusiaSavePictureR
"hash": handler.Hash, "hash": handler.Hash,
}) })
return return response, err
} }
// UploadMarusiaAudio uploading audio. // UploadMarusiaAudio uploading audio.
// //
// https://vk.com/dev/marusia_skill_docs10 // https://dev.vk.com/ru/marusia/media-api
func (vk *VK) UploadMarusiaAudio(file io.Reader) (response MarusiaCreateAudioResponse, err error) { func (vk *VK) UploadMarusiaAudio(file io.Reader) (response MarusiaCreateAudioResponse, err error) {
uploadServer, err := vk.MarusiaGetAudioUploadLink(nil) uploadServer, err := vk.MarusiaGetAudioUploadLink(nil)
if err != nil { if err != nil {
return return response, err
} }
bodyContent, err := vk.UploadFile(uploadServer.AudioUploadLink, file, "file", "audio.mp3") bodyContent, err := vk.UploadFile(uploadServer.AudioUploadLink, file, "file", "audio.mp3")
if err != nil { if err != nil {
return return response, err
} }
response, err = vk.MarusiaCreateAudio(Params{ response, err = vk.MarusiaCreateAudio(Params{
"audio_meta": string(bodyContent), "audio_meta": string(bodyContent),
}) })
return return response, err
} }

View File

@ -9,7 +9,7 @@ type UsersGetResponse []object.UsersUser
// UsersGet returns detailed information on users. // UsersGet returns detailed information on users.
// //
// https://vk.com/dev/users.get // https://dev.vk.com/method/users.get
func (vk *VK) UsersGet(params Params) (response UsersGetResponse, err error) { func (vk *VK) UsersGet(params Params) (response UsersGetResponse, err error) {
err = vk.RequestUnmarshal("users.get", &response, params) err = vk.RequestUnmarshal("users.get", &response, params)
return return
@ -26,7 +26,7 @@ type UsersGetFollowersResponse struct {
// //
// fields=""; // fields="";
// //
// https://vk.com/dev/users.getFollowers // https://dev.vk.com/method/users.getFollowers
func (vk *VK) UsersGetFollowers(params Params) (response UsersGetFollowersResponse, err error) { func (vk *VK) UsersGetFollowers(params Params) (response UsersGetFollowersResponse, err error) {
err = vk.RequestUnmarshal("users.getFollowers", &response, params, Params{"fields": ""}) err = vk.RequestUnmarshal("users.getFollowers", &response, params, Params{"fields": ""})
@ -44,7 +44,7 @@ type UsersGetFollowersFieldsResponse struct {
// //
// fields not empty. // fields not empty.
// //
// https://vk.com/dev/users.getFollowers // https://dev.vk.com/method/users.getFollowers
func (vk *VK) UsersGetFollowersFields(params Params) (response UsersGetFollowersFieldsResponse, err error) { func (vk *VK) UsersGetFollowersFields(params Params) (response UsersGetFollowersFieldsResponse, err error) {
reqParams := make(Params) reqParams := make(Params)
if v, prs := params["fields"]; v == "" || !prs { if v, prs := params["fields"]; v == "" || !prs {
@ -72,7 +72,7 @@ type UsersGetSubscriptionsResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/users.getSubscriptions // https://dev.vk.com/method/users.getSubscriptions
// //
// BUG(SevereCloud): UsersGetSubscriptions bad response with extended=1. // BUG(SevereCloud): UsersGetSubscriptions bad response with extended=1.
func (vk *VK) UsersGetSubscriptions(params Params) (response UsersGetSubscriptionsResponse, err error) { func (vk *VK) UsersGetSubscriptions(params Params) (response UsersGetSubscriptionsResponse, err error) {
@ -83,7 +83,7 @@ func (vk *VK) UsersGetSubscriptions(params Params) (response UsersGetSubscriptio
// UsersReport reports (submits a complain about) a user. // UsersReport reports (submits a complain about) a user.
// //
// https://vk.com/dev/users.report // https://dev.vk.com/method/users.report
func (vk *VK) UsersReport(params Params) (response int, err error) { func (vk *VK) UsersReport(params Params) (response int, err error) {
err = vk.RequestUnmarshal("users.report", &response, params) err = vk.RequestUnmarshal("users.report", &response, params)
return return
@ -97,7 +97,7 @@ type UsersSearchResponse struct {
// UsersSearch returns a list of users matching the search criteria. // UsersSearch returns a list of users matching the search criteria.
// //
// https://vk.com/dev/users.search // https://dev.vk.com/method/users.search
func (vk *VK) UsersSearch(params Params) (response UsersSearchResponse, err error) { func (vk *VK) UsersSearch(params Params) (response UsersSearchResponse, err error) {
err = vk.RequestUnmarshal("users.search", &response, params) err = vk.RequestUnmarshal("users.search", &response, params)
return return

View File

@ -10,7 +10,7 @@ type UtilsCheckLinkResponse object.UtilsLinkChecked
// UtilsCheckLink checks whether a link is blocked in VK. // UtilsCheckLink checks whether a link is blocked in VK.
// //
// https://vk.com/dev/utils.checkLink // https://dev.vk.com/method/utils.checkLink
func (vk *VK) UtilsCheckLink(params Params) (response UtilsCheckLinkResponse, err error) { func (vk *VK) UtilsCheckLink(params Params) (response UtilsCheckLinkResponse, err error) {
err = vk.RequestUnmarshal("utils.checkLink", &response, params) err = vk.RequestUnmarshal("utils.checkLink", &response, params)
return return
@ -18,7 +18,7 @@ func (vk *VK) UtilsCheckLink(params Params) (response UtilsCheckLinkResponse, er
// UtilsDeleteFromLastShortened deletes shortened link from user's list. // UtilsDeleteFromLastShortened deletes shortened link from user's list.
// //
// https://vk.com/dev/utils.deleteFromLastShortened // https://dev.vk.com/method/utils.deleteFromLastShortened
func (vk *VK) UtilsDeleteFromLastShortened(params Params) (response int, err error) { func (vk *VK) UtilsDeleteFromLastShortened(params Params) (response int, err error) {
err = vk.RequestUnmarshal("utils.deleteFromLastShortened", &response, params) err = vk.RequestUnmarshal("utils.deleteFromLastShortened", &response, params)
return return
@ -32,7 +32,7 @@ type UtilsGetLastShortenedLinksResponse struct {
// UtilsGetLastShortenedLinks returns a list of user's shortened links. // UtilsGetLastShortenedLinks returns a list of user's shortened links.
// //
// https://vk.com/dev/utils.getLastShortenedLinks // https://dev.vk.com/method/utils.getLastShortenedLinks
func (vk *VK) UtilsGetLastShortenedLinks(params Params) (response UtilsGetLastShortenedLinksResponse, err error) { func (vk *VK) UtilsGetLastShortenedLinks(params Params) (response UtilsGetLastShortenedLinksResponse, err error) {
err = vk.RequestUnmarshal("utils.getLastShortenedLinks", &response, params) err = vk.RequestUnmarshal("utils.getLastShortenedLinks", &response, params)
return return
@ -45,7 +45,7 @@ type UtilsGetLinkStatsResponse object.UtilsLinkStats
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/utils.getLinkStats // https://dev.vk.com/method/utils.getLinkStats
func (vk *VK) UtilsGetLinkStats(params Params) (response UtilsGetLinkStatsResponse, err error) { func (vk *VK) UtilsGetLinkStats(params Params) (response UtilsGetLinkStatsResponse, err error) {
err = vk.RequestUnmarshal("utils.getLinkStats", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("utils.getLinkStats", &response, params, Params{"extended": false})
@ -59,7 +59,7 @@ type UtilsGetLinkStatsExtendedResponse object.UtilsLinkStatsExtended
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/utils.getLinkStats // https://dev.vk.com/method/utils.getLinkStats
func (vk *VK) UtilsGetLinkStatsExtended(params Params) (response UtilsGetLinkStatsExtendedResponse, err error) { func (vk *VK) UtilsGetLinkStatsExtended(params Params) (response UtilsGetLinkStatsExtendedResponse, err error) {
err = vk.RequestUnmarshal("utils.getLinkStats", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("utils.getLinkStats", &response, params, Params{"extended": true})
@ -68,7 +68,7 @@ func (vk *VK) UtilsGetLinkStatsExtended(params Params) (response UtilsGetLinkSta
// UtilsGetServerTime returns the current time of the VK server. // UtilsGetServerTime returns the current time of the VK server.
// //
// https://vk.com/dev/utils.getServerTime // https://dev.vk.com/method/utils.getServerTime
func (vk *VK) UtilsGetServerTime(params Params) (response int, err error) { func (vk *VK) UtilsGetServerTime(params Params) (response int, err error) {
err = vk.RequestUnmarshal("utils.getServerTime", &response, params) err = vk.RequestUnmarshal("utils.getServerTime", &response, params)
return return
@ -79,7 +79,7 @@ type UtilsGetShortLinkResponse object.UtilsShortLink
// UtilsGetShortLink allows to receive a link shortened via vk.cc. // UtilsGetShortLink allows to receive a link shortened via vk.cc.
// //
// https://vk.com/dev/utils.getShortLink // https://dev.vk.com/method/utils.getShortLink
func (vk *VK) UtilsGetShortLink(params Params) (response UtilsGetShortLinkResponse, err error) { func (vk *VK) UtilsGetShortLink(params Params) (response UtilsGetShortLinkResponse, err error) {
err = vk.RequestUnmarshal("utils.getShortLink", &response, params) err = vk.RequestUnmarshal("utils.getShortLink", &response, params)
return return
@ -114,7 +114,7 @@ func (resp *UtilsResolveScreenNameResponse) DecodeMsgpack(dec *msgpack.Decoder)
// UtilsResolveScreenName detects a type of object (e.g., user, community, application) and its ID by screen name. // UtilsResolveScreenName detects a type of object (e.g., user, community, application) and its ID by screen name.
// //
// https://vk.com/dev/utils.resolveScreenName // https://dev.vk.com/method/utils.resolveScreenName
func (vk *VK) UtilsResolveScreenName(params Params) (response UtilsResolveScreenNameResponse, err error) { func (vk *VK) UtilsResolveScreenName(params Params) (response UtilsResolveScreenNameResponse, err error) {
err = vk.RequestUnmarshal("utils.resolveScreenName", &response, params) err = vk.RequestUnmarshal("utils.resolveScreenName", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// VideoAdd adds a video to a user or community page. // VideoAdd adds a video to a user or community page.
// //
// https://vk.com/dev/video.add // https://dev.vk.com/method/video.add
func (vk *VK) VideoAdd(params Params) (response int, err error) { func (vk *VK) VideoAdd(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.add", &response, params) err = vk.RequestUnmarshal("video.add", &response, params)
return return
@ -19,7 +19,7 @@ type VideoAddAlbumResponse struct {
// VideoAddAlbum creates an empty album for videos. // VideoAddAlbum creates an empty album for videos.
// //
// https://vk.com/dev/video.addAlbum // https://dev.vk.com/method/video.addAlbum
func (vk *VK) VideoAddAlbum(params Params) (response VideoAddAlbumResponse, err error) { func (vk *VK) VideoAddAlbum(params Params) (response VideoAddAlbumResponse, err error) {
err = vk.RequestUnmarshal("video.addAlbum", &response, params) err = vk.RequestUnmarshal("video.addAlbum", &response, params)
return return
@ -27,7 +27,7 @@ func (vk *VK) VideoAddAlbum(params Params) (response VideoAddAlbumResponse, err
// VideoAddToAlbum allows you to add a video to the album. // VideoAddToAlbum allows you to add a video to the album.
// //
// https://vk.com/dev/video.addToAlbum // https://dev.vk.com/method/video.addToAlbum
func (vk *VK) VideoAddToAlbum(params Params) (response int, err error) { func (vk *VK) VideoAddToAlbum(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.addToAlbum", &response, params) err = vk.RequestUnmarshal("video.addToAlbum", &response, params)
return return
@ -35,7 +35,7 @@ func (vk *VK) VideoAddToAlbum(params Params) (response int, err error) {
// VideoCreateComment adds a new comment on a video. // VideoCreateComment adds a new comment on a video.
// //
// https://vk.com/dev/video.createComment // https://dev.vk.com/method/video.createComment
func (vk *VK) VideoCreateComment(params Params) (response int, err error) { func (vk *VK) VideoCreateComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.createComment", &response, params) err = vk.RequestUnmarshal("video.createComment", &response, params)
return return
@ -43,7 +43,7 @@ func (vk *VK) VideoCreateComment(params Params) (response int, err error) {
// VideoDelete deletes a video from a user or community page. // VideoDelete deletes a video from a user or community page.
// //
// https://vk.com/dev/video.delete // https://dev.vk.com/method/video.delete
func (vk *VK) VideoDelete(params Params) (response int, err error) { func (vk *VK) VideoDelete(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.delete", &response, params) err = vk.RequestUnmarshal("video.delete", &response, params)
return return
@ -51,7 +51,7 @@ func (vk *VK) VideoDelete(params Params) (response int, err error) {
// VideoDeleteAlbum deletes a video album. // VideoDeleteAlbum deletes a video album.
// //
// https://vk.com/dev/video.deleteAlbum // https://dev.vk.com/method/video.deleteAlbum
func (vk *VK) VideoDeleteAlbum(params Params) (response int, err error) { func (vk *VK) VideoDeleteAlbum(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.deleteAlbum", &response, params) err = vk.RequestUnmarshal("video.deleteAlbum", &response, params)
return return
@ -59,7 +59,7 @@ func (vk *VK) VideoDeleteAlbum(params Params) (response int, err error) {
// VideoDeleteComment deletes a comment on a video. // VideoDeleteComment deletes a comment on a video.
// //
// https://vk.com/dev/video.deleteComment // https://dev.vk.com/method/video.deleteComment
func (vk *VK) VideoDeleteComment(params Params) (response int, err error) { func (vk *VK) VideoDeleteComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.deleteComment", &response, params) err = vk.RequestUnmarshal("video.deleteComment", &response, params)
return return
@ -67,7 +67,7 @@ func (vk *VK) VideoDeleteComment(params Params) (response int, err error) {
// VideoEdit edits information about a video on a user or community page. // VideoEdit edits information about a video on a user or community page.
// //
// https://vk.com/dev/video.edit // https://dev.vk.com/method/video.edit
func (vk *VK) VideoEdit(params Params) (response int, err error) { func (vk *VK) VideoEdit(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.edit", &response, params) err = vk.RequestUnmarshal("video.edit", &response, params)
return return
@ -75,7 +75,7 @@ func (vk *VK) VideoEdit(params Params) (response int, err error) {
// VideoEditAlbum edits the title of a video album. // VideoEditAlbum edits the title of a video album.
// //
// https://vk.com/dev/video.editAlbum // https://dev.vk.com/method/video.editAlbum
func (vk *VK) VideoEditAlbum(params Params) (response int, err error) { func (vk *VK) VideoEditAlbum(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.editAlbum", &response, params) err = vk.RequestUnmarshal("video.editAlbum", &response, params)
return return
@ -83,7 +83,7 @@ func (vk *VK) VideoEditAlbum(params Params) (response int, err error) {
// VideoEditComment edits the text of a comment on a video. // VideoEditComment edits the text of a comment on a video.
// //
// https://vk.com/dev/video.editComment // https://dev.vk.com/method/video.editComment
func (vk *VK) VideoEditComment(params Params) (response int, err error) { func (vk *VK) VideoEditComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.editComment", &response, params) err = vk.RequestUnmarshal("video.editComment", &response, params)
return return
@ -99,7 +99,7 @@ type VideoGetResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/video.get // https://dev.vk.com/method/video.get
func (vk *VK) VideoGet(params Params) (response VideoGetResponse, err error) { func (vk *VK) VideoGet(params Params) (response VideoGetResponse, err error) {
err = vk.RequestUnmarshal("video.get", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("video.get", &response, params, Params{"extended": false})
@ -117,7 +117,7 @@ type VideoGetExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/video.get // https://dev.vk.com/method/video.get
func (vk *VK) VideoGetExtended(params Params) (response VideoGetExtendedResponse, err error) { func (vk *VK) VideoGetExtended(params Params) (response VideoGetExtendedResponse, err error) {
err = vk.RequestUnmarshal("video.get", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("video.get", &response, params, Params{"extended": true})
@ -129,7 +129,7 @@ type VideoGetAlbumByIDResponse object.VideoVideoAlbumFull
// VideoGetAlbumByID returns video album info. // VideoGetAlbumByID returns video album info.
// //
// https://vk.com/dev/video.getAlbumById // https://dev.vk.com/method/video.getAlbumById
func (vk *VK) VideoGetAlbumByID(params Params) (response VideoGetAlbumByIDResponse, err error) { func (vk *VK) VideoGetAlbumByID(params Params) (response VideoGetAlbumByIDResponse, err error) {
err = vk.RequestUnmarshal("video.getAlbumById", &response, params) err = vk.RequestUnmarshal("video.getAlbumById", &response, params)
return return
@ -145,7 +145,7 @@ type VideoGetAlbumsResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/video.getAlbums // https://dev.vk.com/method/video.getAlbums
func (vk *VK) VideoGetAlbums(params Params) (response VideoGetAlbumsResponse, err error) { func (vk *VK) VideoGetAlbums(params Params) (response VideoGetAlbumsResponse, err error) {
err = vk.RequestUnmarshal("video.getAlbums", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("video.getAlbums", &response, params, Params{"extended": false})
@ -162,7 +162,7 @@ type VideoGetAlbumsExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/video.getAlbums // https://dev.vk.com/method/video.getAlbums
func (vk *VK) VideoGetAlbumsExtended(params Params) (response VideoGetAlbumsExtendedResponse, err error) { func (vk *VK) VideoGetAlbumsExtended(params Params) (response VideoGetAlbumsExtendedResponse, err error) {
err = vk.RequestUnmarshal("video.getAlbums", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("video.getAlbums", &response, params, Params{"extended": true})
@ -176,7 +176,7 @@ type VideoGetAlbumsByVideoResponse []int
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/video.getAlbumsByVideo // https://dev.vk.com/method/video.getAlbumsByVideo
func (vk *VK) VideoGetAlbumsByVideo(params Params) (response VideoGetAlbumsByVideoResponse, err error) { func (vk *VK) VideoGetAlbumsByVideo(params Params) (response VideoGetAlbumsByVideoResponse, err error) {
err = vk.RequestUnmarshal("video.getAlbumsByVideo", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("video.getAlbumsByVideo", &response, params, Params{"extended": false})
@ -193,7 +193,7 @@ type VideoGetAlbumsByVideoExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/video.getAlbumsByVideo // https://dev.vk.com/method/video.getAlbumsByVideo
func (vk *VK) VideoGetAlbumsByVideoExtended(params Params) (response VideoGetAlbumsByVideoExtendedResponse, err error) { func (vk *VK) VideoGetAlbumsByVideoExtended(params Params) (response VideoGetAlbumsByVideoExtendedResponse, err error) {
err = vk.RequestUnmarshal("video.getAlbumsByVideo", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("video.getAlbumsByVideo", &response, params, Params{"extended": true})
@ -210,7 +210,7 @@ type VideoGetCommentsResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/video.getComments // https://dev.vk.com/method/video.getComments
func (vk *VK) VideoGetComments(params Params) (response VideoGetCommentsResponse, err error) { func (vk *VK) VideoGetComments(params Params) (response VideoGetCommentsResponse, err error) {
err = vk.RequestUnmarshal("video.getComments", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("video.getComments", &response, params, Params{"extended": false})
@ -228,7 +228,7 @@ type VideoGetCommentsExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/video.getComments // https://dev.vk.com/method/video.getComments
func (vk *VK) VideoGetCommentsExtended(params Params) (response VideoGetCommentsExtendedResponse, err error) { func (vk *VK) VideoGetCommentsExtended(params Params) (response VideoGetCommentsExtendedResponse, err error) {
err = vk.RequestUnmarshal("video.getComments", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("video.getComments", &response, params, Params{"extended": true})
@ -240,7 +240,7 @@ type VideoLiveGetCategoriesResponse []object.VideoLiveCategory
// VideoLiveGetCategories method. // VideoLiveGetCategories method.
// //
// https://vk.com/dev/video.liveGetCategories // https://dev.vk.com/method/video.liveGetCategories
func (vk *VK) VideoLiveGetCategories(params Params) (response VideoLiveGetCategoriesResponse, err error) { func (vk *VK) VideoLiveGetCategories(params Params) (response VideoLiveGetCategoriesResponse, err error) {
err = vk.RequestUnmarshal("video.liveGetCategories", &response, params) err = vk.RequestUnmarshal("video.liveGetCategories", &response, params)
return return
@ -248,7 +248,7 @@ func (vk *VK) VideoLiveGetCategories(params Params) (response VideoLiveGetCatego
// VideoRemoveFromAlbum allows you to remove the video from the album. // VideoRemoveFromAlbum allows you to remove the video from the album.
// //
// https://vk.com/dev/video.removeFromAlbum // https://dev.vk.com/method/video.removeFromAlbum
func (vk *VK) VideoRemoveFromAlbum(params Params) (response int, err error) { func (vk *VK) VideoRemoveFromAlbum(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.removeFromAlbum", &response, params) err = vk.RequestUnmarshal("video.removeFromAlbum", &response, params)
return return
@ -256,7 +256,7 @@ func (vk *VK) VideoRemoveFromAlbum(params Params) (response int, err error) {
// VideoReorderAlbums reorders the album in the list of user video albums. // VideoReorderAlbums reorders the album in the list of user video albums.
// //
// https://vk.com/dev/video.reorderAlbums // https://dev.vk.com/method/video.reorderAlbums
func (vk *VK) VideoReorderAlbums(params Params) (response int, err error) { func (vk *VK) VideoReorderAlbums(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.reorderAlbums", &response, params) err = vk.RequestUnmarshal("video.reorderAlbums", &response, params)
return return
@ -264,7 +264,7 @@ func (vk *VK) VideoReorderAlbums(params Params) (response int, err error) {
// VideoReorderVideos reorders the video in the video album. // VideoReorderVideos reorders the video in the video album.
// //
// https://vk.com/dev/video.reorderVideos // https://dev.vk.com/method/video.reorderVideos
func (vk *VK) VideoReorderVideos(params Params) (response int, err error) { func (vk *VK) VideoReorderVideos(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.reorderVideos", &response, params) err = vk.RequestUnmarshal("video.reorderVideos", &response, params)
return return
@ -272,7 +272,7 @@ func (vk *VK) VideoReorderVideos(params Params) (response int, err error) {
// VideoReport reports (submits a complaint about) a video. // VideoReport reports (submits a complaint about) a video.
// //
// https://vk.com/dev/video.report // https://dev.vk.com/method/video.report
func (vk *VK) VideoReport(params Params) (response int, err error) { func (vk *VK) VideoReport(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.report", &response, params) err = vk.RequestUnmarshal("video.report", &response, params)
return return
@ -280,7 +280,7 @@ func (vk *VK) VideoReport(params Params) (response int, err error) {
// VideoReportComment reports (submits a complaint about) a comment on a video. // VideoReportComment reports (submits a complaint about) a comment on a video.
// //
// https://vk.com/dev/video.reportComment // https://dev.vk.com/method/video.reportComment
func (vk *VK) VideoReportComment(params Params) (response int, err error) { func (vk *VK) VideoReportComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.reportComment", &response, params) err = vk.RequestUnmarshal("video.reportComment", &response, params)
return return
@ -288,7 +288,7 @@ func (vk *VK) VideoReportComment(params Params) (response int, err error) {
// VideoRestore restores a previously deleted video. // VideoRestore restores a previously deleted video.
// //
// https://vk.com/dev/video.restore // https://dev.vk.com/method/video.restore
func (vk *VK) VideoRestore(params Params) (response int, err error) { func (vk *VK) VideoRestore(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.restore", &response, params) err = vk.RequestUnmarshal("video.restore", &response, params)
return return
@ -296,7 +296,7 @@ func (vk *VK) VideoRestore(params Params) (response int, err error) {
// VideoRestoreComment restores a previously deleted comment on a video. // VideoRestoreComment restores a previously deleted comment on a video.
// //
// https://vk.com/dev/video.restoreComment // https://dev.vk.com/method/video.restoreComment
func (vk *VK) VideoRestoreComment(params Params) (response int, err error) { func (vk *VK) VideoRestoreComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("video.restoreComment", &response, params) err = vk.RequestUnmarshal("video.restoreComment", &response, params)
return return
@ -307,7 +307,7 @@ type VideoSaveResponse object.VideoSaveResult
// VideoSave returns a server address (required for upload) and video data. // VideoSave returns a server address (required for upload) and video data.
// //
// https://vk.com/dev/video.save // https://dev.vk.com/method/video.save
func (vk *VK) VideoSave(params Params) (response VideoSaveResponse, err error) { func (vk *VK) VideoSave(params Params) (response VideoSaveResponse, err error) {
err = vk.RequestUnmarshal("video.save", &response, params) err = vk.RequestUnmarshal("video.save", &response, params)
return return
@ -323,7 +323,7 @@ type VideoSearchResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/video.search // https://dev.vk.com/method/video.search
func (vk *VK) VideoSearch(params Params) (response VideoSearchResponse, err error) { func (vk *VK) VideoSearch(params Params) (response VideoSearchResponse, err error) {
err = vk.RequestUnmarshal("video.search", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("video.search", &response, params, Params{"extended": false})
@ -341,7 +341,7 @@ type VideoSearchExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/video.search // https://dev.vk.com/method/video.search
func (vk *VK) VideoSearchExtended(params Params) (response VideoSearchExtendedResponse, err error) { func (vk *VK) VideoSearchExtended(params Params) (response VideoSearchExtendedResponse, err error) {
err = vk.RequestUnmarshal("video.search", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("video.search", &response, params, Params{"extended": true})
@ -353,7 +353,7 @@ type VideoStartStreamingResponse object.VideoLive
// VideoStartStreaming method. // VideoStartStreaming method.
// //
// https://vk.com/dev/video.startStreaming // https://dev.vk.com/method/video.startStreaming
func (vk *VK) VideoStartStreaming(params Params) (response VideoStartStreamingResponse, err error) { func (vk *VK) VideoStartStreaming(params Params) (response VideoStartStreamingResponse, err error) {
err = vk.RequestUnmarshal("video.startStreaming", &response, params) err = vk.RequestUnmarshal("video.startStreaming", &response, params)
return return
@ -366,7 +366,7 @@ type VideoStopStreamingResponse struct {
// VideoStopStreaming method. // VideoStopStreaming method.
// //
// https://vk.com/dev/video.stopStreaming // https://dev.vk.com/method/video.stopStreaming
func (vk *VK) VideoStopStreaming(params Params) (response VideoStopStreamingResponse, err error) { func (vk *VK) VideoStopStreaming(params Params) (response VideoStopStreamingResponse, err error) {
err = vk.RequestUnmarshal("video.stopStreaming", &response, params) err = vk.RequestUnmarshal("video.stopStreaming", &response, params)
return return

View File

@ -6,7 +6,7 @@ import (
// WallCheckCopyrightLink method. // WallCheckCopyrightLink method.
// //
// https://vk.com/dev/wall.checkCopyrightLink // https://dev.vk.com/method/wall.checkCopyrightLink
func (vk *VK) WallCheckCopyrightLink(params Params) (response int, err error) { func (vk *VK) WallCheckCopyrightLink(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.checkCopyrightLink", &response, params) err = vk.RequestUnmarshal("wall.checkCopyrightLink", &response, params)
return return
@ -14,7 +14,7 @@ func (vk *VK) WallCheckCopyrightLink(params Params) (response int, err error) {
// WallCloseComments turn off post commenting. // WallCloseComments turn off post commenting.
// //
// https://vk.com/dev/wall.closeComments // https://dev.vk.com/method/wall.closeComments
func (vk *VK) WallCloseComments(params Params) (response int, err error) { func (vk *VK) WallCloseComments(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.closeComments", &response, params) err = vk.RequestUnmarshal("wall.closeComments", &response, params)
return return
@ -28,7 +28,7 @@ type WallCreateCommentResponse struct {
// WallCreateComment adds a comment to a post on a user wall or community wall. // WallCreateComment adds a comment to a post on a user wall or community wall.
// //
// https://vk.com/dev/wall.createComment // https://dev.vk.com/method/wall.createComment
func (vk *VK) WallCreateComment(params Params) (response WallCreateCommentResponse, err error) { func (vk *VK) WallCreateComment(params Params) (response WallCreateCommentResponse, err error) {
err = vk.RequestUnmarshal("wall.createComment", &response, params) err = vk.RequestUnmarshal("wall.createComment", &response, params)
return return
@ -36,7 +36,7 @@ func (vk *VK) WallCreateComment(params Params) (response WallCreateCommentRespon
// WallDelete deletes a post from a user wall or community wall. // WallDelete deletes a post from a user wall or community wall.
// //
// https://vk.com/dev/wall.delete // https://dev.vk.com/method/wall.delete
func (vk *VK) WallDelete(params Params) (response int, err error) { func (vk *VK) WallDelete(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.delete", &response, params) err = vk.RequestUnmarshal("wall.delete", &response, params)
return return
@ -44,7 +44,7 @@ func (vk *VK) WallDelete(params Params) (response int, err error) {
// WallDeleteComment deletes a comment on a post on a user wall or community wall. // WallDeleteComment deletes a comment on a post on a user wall or community wall.
// //
// https://vk.com/dev/wall.deleteComment // https://dev.vk.com/method/wall.deleteComment
func (vk *VK) WallDeleteComment(params Params) (response int, err error) { func (vk *VK) WallDeleteComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.deleteComment", &response, params) err = vk.RequestUnmarshal("wall.deleteComment", &response, params)
return return
@ -57,7 +57,7 @@ type WallEditResponse struct {
// WallEdit edits a post on a user wall or community wall. // WallEdit edits a post on a user wall or community wall.
// //
// https://vk.com/dev/wall.edit // https://dev.vk.com/method/wall.edit
func (vk *VK) WallEdit(params Params) (response WallEditResponse, err error) { func (vk *VK) WallEdit(params Params) (response WallEditResponse, err error) {
err = vk.RequestUnmarshal("wall.edit", &response, params) err = vk.RequestUnmarshal("wall.edit", &response, params)
return return
@ -65,7 +65,7 @@ func (vk *VK) WallEdit(params Params) (response WallEditResponse, err error) {
// WallEditAdsStealth allows to edit hidden post. // WallEditAdsStealth allows to edit hidden post.
// //
// https://vk.com/dev/wall.editAdsStealth // https://dev.vk.com/method/wall.editAdsStealth
func (vk *VK) WallEditAdsStealth(params Params) (response int, err error) { func (vk *VK) WallEditAdsStealth(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.editAdsStealth", &response, params) err = vk.RequestUnmarshal("wall.editAdsStealth", &response, params)
return return
@ -73,7 +73,7 @@ func (vk *VK) WallEditAdsStealth(params Params) (response int, err error) {
// WallEditComment edits a comment on a user wall or community wall. // WallEditComment edits a comment on a user wall or community wall.
// //
// https://vk.com/dev/wall.editComment // https://dev.vk.com/method/wall.editComment
func (vk *VK) WallEditComment(params Params) (response int, err error) { func (vk *VK) WallEditComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.editComment", &response, params) err = vk.RequestUnmarshal("wall.editComment", &response, params)
return return
@ -89,7 +89,7 @@ type WallGetResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/wall.get // https://dev.vk.com/method/wall.get
func (vk *VK) WallGet(params Params) (response WallGetResponse, err error) { func (vk *VK) WallGet(params Params) (response WallGetResponse, err error) {
err = vk.RequestUnmarshal("wall.get", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("wall.get", &response, params, Params{"extended": false})
@ -107,7 +107,7 @@ type WallGetExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/wall.get // https://dev.vk.com/method/wall.get
func (vk *VK) WallGetExtended(params Params) (response WallGetExtendedResponse, err error) { func (vk *VK) WallGetExtended(params Params) (response WallGetExtendedResponse, err error) {
err = vk.RequestUnmarshal("wall.get", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("wall.get", &response, params, Params{"extended": true})
@ -121,7 +121,7 @@ type WallGetByIDResponse []object.WallWallpost
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/wall.getById // https://dev.vk.com/method/wall.getById
func (vk *VK) WallGetByID(params Params) (response WallGetByIDResponse, err error) { func (vk *VK) WallGetByID(params Params) (response WallGetByIDResponse, err error) {
err = vk.RequestUnmarshal("wall.getById", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("wall.getById", &response, params, Params{"extended": false})
@ -138,7 +138,7 @@ type WallGetByIDExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/wall.getById // https://dev.vk.com/method/wall.getById
func (vk *VK) WallGetByIDExtended(params Params) (response WallGetByIDExtendedResponse, err error) { func (vk *VK) WallGetByIDExtended(params Params) (response WallGetByIDExtendedResponse, err error) {
err = vk.RequestUnmarshal("wall.getById", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("wall.getById", &response, params, Params{"extended": true})
@ -158,7 +158,7 @@ type WallGetCommentResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/wall.getComment // https://dev.vk.com/method/wall.getComment
func (vk *VK) WallGetComment(params Params) (response WallGetCommentResponse, err error) { func (vk *VK) WallGetComment(params Params) (response WallGetCommentResponse, err error) {
err = vk.RequestUnmarshal("wall.getComment", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("wall.getComment", &response, params, Params{"extended": false})
@ -181,7 +181,7 @@ type WallGetCommentExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/wall.getComment // https://dev.vk.com/method/wall.getComment
func (vk *VK) WallGetCommentExtended(params Params) (response WallGetCommentExtendedResponse, err error) { func (vk *VK) WallGetCommentExtended(params Params) (response WallGetCommentExtendedResponse, err error) {
err = vk.RequestUnmarshal("wall.getComment", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("wall.getComment", &response, params, Params{"extended": true})
@ -202,7 +202,7 @@ type WallGetCommentsResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/wall.getComments // https://dev.vk.com/method/wall.getComments
func (vk *VK) WallGetComments(params Params) (response WallGetCommentsResponse, err error) { func (vk *VK) WallGetComments(params Params) (response WallGetCommentsResponse, err error) {
err = vk.RequestUnmarshal("wall.getComments", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("wall.getComments", &response, params, Params{"extended": false})
@ -224,7 +224,7 @@ type WallGetCommentsExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/wall.getComments // https://dev.vk.com/method/wall.getComments
func (vk *VK) WallGetCommentsExtended(params Params) (response WallGetCommentsExtendedResponse, err error) { func (vk *VK) WallGetCommentsExtended(params Params) (response WallGetCommentsExtendedResponse, err error) {
err = vk.RequestUnmarshal("wall.getComments", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("wall.getComments", &response, params, Params{"extended": true})
@ -239,7 +239,7 @@ type WallGetRepostsResponse struct {
// WallGetReposts returns information about reposts of a post on user wall or community wall. // WallGetReposts returns information about reposts of a post on user wall or community wall.
// //
// https://vk.com/dev/wall.getReposts // https://dev.vk.com/method/wall.getReposts
func (vk *VK) WallGetReposts(params Params) (response WallGetRepostsResponse, err error) { func (vk *VK) WallGetReposts(params Params) (response WallGetRepostsResponse, err error) {
err = vk.RequestUnmarshal("wall.getReposts", &response, params) err = vk.RequestUnmarshal("wall.getReposts", &response, params)
return return
@ -247,7 +247,7 @@ func (vk *VK) WallGetReposts(params Params) (response WallGetRepostsResponse, er
// WallOpenComments includes posting comments. // WallOpenComments includes posting comments.
// //
// https://vk.com/dev/wall.openComments // https://dev.vk.com/method/wall.openComments
func (vk *VK) WallOpenComments(params Params) (response int, err error) { func (vk *VK) WallOpenComments(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.openComments", &response, params) err = vk.RequestUnmarshal("wall.openComments", &response, params)
return return
@ -255,7 +255,7 @@ func (vk *VK) WallOpenComments(params Params) (response int, err error) {
// WallPin pins the post on wall. // WallPin pins the post on wall.
// //
// https://vk.com/dev/wall.pin // https://dev.vk.com/method/wall.pin
func (vk *VK) WallPin(params Params) (response int, err error) { func (vk *VK) WallPin(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.pin", &response, params) err = vk.RequestUnmarshal("wall.pin", &response, params)
return return
@ -268,7 +268,7 @@ type WallPostResponse struct {
// WallPost adds a new post on a user wall or community wall.Can also be used to publish suggested or scheduled posts. // WallPost adds a new post on a user wall or community wall.Can also be used to publish suggested or scheduled posts.
// //
// https://vk.com/dev/wall.post // https://dev.vk.com/method/wall.post
func (vk *VK) WallPost(params Params) (response WallPostResponse, err error) { func (vk *VK) WallPost(params Params) (response WallPostResponse, err error) {
err = vk.RequestUnmarshal("wall.post", &response, params) err = vk.RequestUnmarshal("wall.post", &response, params)
return return
@ -283,7 +283,7 @@ type WallPostAdsStealthResponse struct {
// not be shown on the community's wall and can be used for creating // not be shown on the community's wall and can be used for creating
// an ad with type "Community post". // an ad with type "Community post".
// //
// https://vk.com/dev/wall.postAdsStealth // https://dev.vk.com/method/wall.postAdsStealth
func (vk *VK) WallPostAdsStealth(params Params) (response WallPostAdsStealthResponse, err error) { func (vk *VK) WallPostAdsStealth(params Params) (response WallPostAdsStealthResponse, err error) {
err = vk.RequestUnmarshal("wall.postAdsStealth", &response, params) err = vk.RequestUnmarshal("wall.postAdsStealth", &response, params)
return return
@ -291,7 +291,7 @@ func (vk *VK) WallPostAdsStealth(params Params) (response WallPostAdsStealthResp
// WallReportComment reports (submits a complaint about) a comment on a post on a user wall or community wall. // WallReportComment reports (submits a complaint about) a comment on a post on a user wall or community wall.
// //
// https://vk.com/dev/wall.reportComment // https://dev.vk.com/method/wall.reportComment
func (vk *VK) WallReportComment(params Params) (response int, err error) { func (vk *VK) WallReportComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.reportComment", &response, params) err = vk.RequestUnmarshal("wall.reportComment", &response, params)
return return
@ -299,7 +299,7 @@ func (vk *VK) WallReportComment(params Params) (response int, err error) {
// WallReportPost reports (submits a complaint about) a post on a user wall or community wall. // WallReportPost reports (submits a complaint about) a post on a user wall or community wall.
// //
// https://vk.com/dev/wall.reportPost // https://dev.vk.com/method/wall.reportPost
func (vk *VK) WallReportPost(params Params) (response int, err error) { func (vk *VK) WallReportPost(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.reportPost", &response, params) err = vk.RequestUnmarshal("wall.reportPost", &response, params)
return return
@ -317,7 +317,7 @@ type WallRepostResponse struct {
// WallRepost reposts ( copies) an object to a user wall or community wall. // WallRepost reposts ( copies) an object to a user wall or community wall.
// //
// https://vk.com/dev/wall.repost // https://dev.vk.com/method/wall.repost
func (vk *VK) WallRepost(params Params) (response WallRepostResponse, err error) { func (vk *VK) WallRepost(params Params) (response WallRepostResponse, err error) {
err = vk.RequestUnmarshal("wall.repost", &response, params) err = vk.RequestUnmarshal("wall.repost", &response, params)
return return
@ -325,7 +325,7 @@ func (vk *VK) WallRepost(params Params) (response WallRepostResponse, err error)
// WallRestore restores a post deleted from a user wall or community wall. // WallRestore restores a post deleted from a user wall or community wall.
// //
// https://vk.com/dev/wall.restore // https://dev.vk.com/method/wall.restore
func (vk *VK) WallRestore(params Params) (response int, err error) { func (vk *VK) WallRestore(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.restore", &response, params) err = vk.RequestUnmarshal("wall.restore", &response, params)
return return
@ -333,7 +333,7 @@ func (vk *VK) WallRestore(params Params) (response int, err error) {
// WallRestoreComment restores a comment deleted from a user wall or community wall. // WallRestoreComment restores a comment deleted from a user wall or community wall.
// //
// https://vk.com/dev/wall.restoreComment // https://dev.vk.com/method/wall.restoreComment
func (vk *VK) WallRestoreComment(params Params) (response int, err error) { func (vk *VK) WallRestoreComment(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.restoreComment", &response, params) err = vk.RequestUnmarshal("wall.restoreComment", &response, params)
return return
@ -349,7 +349,7 @@ type WallSearchResponse struct {
// //
// extended=0 // extended=0
// //
// https://vk.com/dev/wall.search // https://dev.vk.com/method/wall.search
func (vk *VK) WallSearch(params Params) (response WallSearchResponse, err error) { func (vk *VK) WallSearch(params Params) (response WallSearchResponse, err error) {
err = vk.RequestUnmarshal("wall.search", &response, params, Params{"extended": false}) err = vk.RequestUnmarshal("wall.search", &response, params, Params{"extended": false})
@ -367,7 +367,7 @@ type WallSearchExtendedResponse struct {
// //
// extended=1 // extended=1
// //
// https://vk.com/dev/wall.search // https://dev.vk.com/method/wall.search
func (vk *VK) WallSearchExtended(params Params) (response WallSearchExtendedResponse, err error) { func (vk *VK) WallSearchExtended(params Params) (response WallSearchExtendedResponse, err error) {
err = vk.RequestUnmarshal("wall.search", &response, params, Params{"extended": true}) err = vk.RequestUnmarshal("wall.search", &response, params, Params{"extended": true})
@ -376,7 +376,7 @@ func (vk *VK) WallSearchExtended(params Params) (response WallSearchExtendedResp
// WallUnpin unpins the post on wall. // WallUnpin unpins the post on wall.
// //
// https://vk.com/dev/wall.unpin // https://dev.vk.com/method/wall.unpin
func (vk *VK) WallUnpin(params Params) (response int, err error) { func (vk *VK) WallUnpin(params Params) (response int, err error) {
err = vk.RequestUnmarshal("wall.unpin", &response, params) err = vk.RequestUnmarshal("wall.unpin", &response, params)
return return

View File

@ -12,7 +12,7 @@ type WidgetsGetCommentsResponse struct {
// WidgetsGetComments gets a list of comments for the page added through the Comments widget. // WidgetsGetComments gets a list of comments for the page added through the Comments widget.
// //
// https://vk.com/dev/widgets.getComments // https://dev.vk.com/method/widgets.getComments
func (vk *VK) WidgetsGetComments(params Params) (response WidgetsGetCommentsResponse, err error) { func (vk *VK) WidgetsGetComments(params Params) (response WidgetsGetCommentsResponse, err error) {
err = vk.RequestUnmarshal("widgets.getComments", &response, params) err = vk.RequestUnmarshal("widgets.getComments", &response, params)
return return
@ -26,7 +26,7 @@ type WidgetsGetPagesResponse struct {
// WidgetsGetPages gets a list of application/site pages where the Comments widget or Like widget is installed. // WidgetsGetPages gets a list of application/site pages where the Comments widget or Like widget is installed.
// //
// https://vk.com/dev/widgets.getPages // https://dev.vk.com/method/widgets.getPages
func (vk *VK) WidgetsGetPages(params Params) (response WidgetsGetPagesResponse, err error) { func (vk *VK) WidgetsGetPages(params Params) (response WidgetsGetPagesResponse, err error) {
err = vk.RequestUnmarshal("widgets.getPages", &response, params) err = vk.RequestUnmarshal("widgets.getPages", &response, params)
return return

View File

@ -7,6 +7,6 @@ package vksdk
// Module constants. // Module constants.
const ( const (
Version = "2.16.1" Version = "2.17.0"
API = "5.131" API = "5.131"
) )

View File

@ -1,7 +1,7 @@
/* /*
Package events for community events handling. Package events for community events handling.
See more https://vk.com/dev/groups_events See more https://dev.vk.com/ru/api/community-events/json-schema
*/ */
package events // import "github.com/SevereCloud/vksdk/v2/events" package events // import "github.com/SevereCloud/vksdk/v2/events"

View File

@ -1,7 +1,7 @@
# Bots Long Poll API # Bots Long Poll API
[![PkgGoDev](https://pkg.go.dev/badge/github.com/SevereCloud/vksdk/v2/longpoll-bot)](https://pkg.go.dev/github.com/SevereCloud/vksdk/v2/longpoll-bot) [![PkgGoDev](https://pkg.go.dev/badge/github.com/SevereCloud/vksdk/v2/longpoll-bot)](https://pkg.go.dev/github.com/SevereCloud/vksdk/v2/longpoll-bot)
[![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://vk.com/dev/bots_longpoll) [![VK](https://img.shields.io/badge/developers-%234a76a8.svg?logo=VK&logoColor=white)](https://dev.vk.com/ru/api/bots-long-poll/getting-started)
## Подключение Bots Long Poll API ## Подключение Bots Long Poll API
@ -71,7 +71,7 @@ lp.FullResponse(func(resp object.LongPollBotResponse) {
}) })
``` ```
Полный список событий Вы найдёте [в документации](https://vk.com/dev/groups_events) Полный список событий Вы найдёте [в документации](https://dev.vk.com/ru/api/community-events/json-schema)
### Контекст ### Контекст

View File

@ -1,7 +1,7 @@
/* /*
Package longpoll implements Bots Long Poll API. Package longpoll implements Bots Long Poll API.
See more https://vk.com/dev/bots_longpoll See more https://dev.vk.com/ru/api/bots-long-poll/getting-started
*/ */
package longpoll // import "github.com/SevereCloud/vksdk/v2/longpoll-bot" package longpoll // import "github.com/SevereCloud/vksdk/v2/longpoll-bot"

View File

@ -244,7 +244,7 @@ type GroupsGroupLikeFriends struct {
type GroupsLiveCovers struct { type GroupsLiveCovers struct {
IsEnabled BaseBoolInt `json:"is_enabled"` IsEnabled BaseBoolInt `json:"is_enabled"`
IsScalable BaseBoolInt `json:"is_scalable"` IsScalable BaseBoolInt `json:"is_scalable"`
StoryIds []string `json:"story_ids"` StoryIds []string `json:"story_ids"` //nolint:revive
} }
// GroupsBanInfo reason type. // GroupsBanInfo reason type.
@ -607,7 +607,7 @@ type GroupsYoulaSettings struct {
ModerationStatus int `json:"moderation_status"` ModerationStatus int `json:"moderation_status"`
DeclineReason string `json:"decline_reason"` DeclineReason string `json:"decline_reason"`
GroupMode int `json:"group_mode"` GroupMode int `json:"group_mode"`
SelectedCategoryIDS []int `json:"selected_category_ids"` SelectedCategoryIDS []int `json:"selected_category_ids"` //nolint:revive
Lat float64 `json:"lat"` Lat float64 `json:"lat"`
Long float64 `json:"long"` Long float64 `json:"long"`
Radius float64 `json:"radius"` Radius float64 `json:"radius"`

View File

@ -357,7 +357,7 @@ func (eventData MessagesEventData) ToJSON() string {
// MessagesTemplate struct. // MessagesTemplate struct.
// //
// https://vk.com/dev/bot_docs_templates // https://dev.vk.com/ru/api/bots/development/messages
type MessagesTemplate struct { type MessagesTemplate struct {
Type string `json:"type"` Type string `json:"type"`
Elements []MessagesTemplateElement `json:"elements"` Elements []MessagesTemplateElement `json:"elements"`
@ -404,7 +404,7 @@ type MessageContentSourceURL struct {
// MessageContentSource struct. // MessageContentSource struct.
// //
// https://vk.com/dev/bots_docs_2 // https://dev.vk.com/ru/api/bots/development/messages
type MessageContentSource struct { type MessageContentSource struct {
Type string `json:"type"` Type string `json:"type"`
MessageContentSourceMessage // type message MessageContentSourceMessage // type message
@ -592,7 +592,6 @@ type MessagesConversationPushSettings struct {
// MessagesConversationWithMessage struct. // MessagesConversationWithMessage struct.
type MessagesConversationWithMessage struct { type MessagesConversationWithMessage struct {
Conversation MessagesConversation `json:"conversation"` Conversation MessagesConversation `json:"conversation"`
// BUG(VK): https://vk.com/bug229134
LastMessage MessagesMessage `json:"last_message"` LastMessage MessagesMessage `json:"last_message"`
} }

View File

@ -1,7 +1,7 @@
/* /*
Package object contains objects for VK. Package object contains objects for VK.
See more https://vk.com/dev/objects See more https://dev.vk.com/ru/reference/objects
*/ */
package object // import "github.com/SevereCloud/vksdk/v2/object" package object // import "github.com/SevereCloud/vksdk/v2/object"

View File

@ -75,7 +75,7 @@ type PagesWikipageFull struct {
// PagesWikipageHistory struct. // PagesWikipageHistory struct.
// //
// BUG(VK): https://vk.com/dev/pages.getHistory edited and date. // BUG(VK): https://dev.vk.com/method/pages.getHistory edited and date.
type PagesWikipageHistory struct { type PagesWikipageHistory struct {
Date int `json:"date"` // Date when the page has been edited in Unixtime Date int `json:"date"` // Date when the page has been edited in Unixtime
EditorID int `json:"editor_id"` // Last editor ID EditorID int `json:"editor_id"` // Last editor ID

View File

@ -186,7 +186,7 @@ type StoriesFeedItem struct {
// The sticker object is pasted by the developer on the client himself, only // The sticker object is pasted by the developer on the client himself, only
// coordinates are transmitted to the server. // coordinates are transmitted to the server.
// //
// https://vk.com/dev/objects/clickable_stickers // https://dev.vk.com/ru/reference/objects/clickable-sticker
type StoriesClickableStickers struct { type StoriesClickableStickers struct {
OriginalWidth int `json:"original_width"` OriginalWidth int `json:"original_width"`
OriginalHeight int `json:"original_height"` OriginalHeight int `json:"original_height"`

View File

@ -269,7 +269,7 @@ func (c *Color) Printf(format string, a ...interface{}) (n int, err error) {
// On Windows, users should wrap w with colorable.NewColorable() if w is of // On Windows, users should wrap w with colorable.NewColorable() if w is of
// type *os.File. // type *os.File.
func (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error) { func (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error) {
return fmt.Fprintln(w, c.wrap(fmt.Sprint(a...))) return fmt.Fprintln(w, c.wrap(sprintln(a...)))
} }
// Println formats using the default formats for its operands and writes to // Println formats using the default formats for its operands and writes to
@ -278,7 +278,7 @@ func (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error) {
// encountered. This is the standard fmt.Print() method wrapped with the given // encountered. This is the standard fmt.Print() method wrapped with the given
// color. // color.
func (c *Color) Println(a ...interface{}) (n int, err error) { func (c *Color) Println(a ...interface{}) (n int, err error) {
return fmt.Fprintln(Output, c.wrap(fmt.Sprint(a...))) return fmt.Fprintln(Output, c.wrap(sprintln(a...)))
} }
// Sprint is just like Print, but returns a string instead of printing it. // Sprint is just like Print, but returns a string instead of printing it.
@ -288,7 +288,7 @@ func (c *Color) Sprint(a ...interface{}) string {
// Sprintln is just like Println, but returns a string instead of printing it. // Sprintln is just like Println, but returns a string instead of printing it.
func (c *Color) Sprintln(a ...interface{}) string { func (c *Color) Sprintln(a ...interface{}) string {
return fmt.Sprintln(c.Sprint(a...)) return c.wrap(sprintln(a...)) + "\n"
} }
// Sprintf is just like Printf, but returns a string instead of printing it. // Sprintf is just like Printf, but returns a string instead of printing it.
@ -370,7 +370,7 @@ func (c *Color) SprintfFunc() func(format string, a ...interface{}) string {
// string. Windows users should use this in conjunction with color.Output. // string. Windows users should use this in conjunction with color.Output.
func (c *Color) SprintlnFunc() func(a ...interface{}) string { func (c *Color) SprintlnFunc() func(a ...interface{}) string {
return func(a ...interface{}) string { return func(a ...interface{}) string {
return fmt.Sprintln(c.Sprint(a...)) return c.wrap(sprintln(a...)) + "\n"
} }
} }
@ -648,3 +648,8 @@ func HiCyanString(format string, a ...interface{}) string { return colorString(f
func HiWhiteString(format string, a ...interface{}) string { func HiWhiteString(format string, a ...interface{}) string {
return colorString(format, FgHiWhite, a...) return colorString(format, FgHiWhite, a...)
} }
// sprintln is a helper function to format a string with fmt.Sprintln and trim the trailing newline.
func sprintln(a ...interface{}) string {
return strings.TrimSuffix(fmt.Sprintln(a...), "\n")
}

View File

@ -5,9 +5,12 @@ import (
"errors" "errors"
"fmt" "fmt"
"io" "io"
"io/ioutil"
"math" "math"
"os" "os"
"reflect" "reflect"
"strconv"
"strings"
"time" "time"
"unicode/utf8" "unicode/utf8"
) )
@ -352,13 +355,22 @@ func readPacket(reader io.Reader) (*Packet, int, error) {
if MaxPacketLengthBytes > 0 && int64(length) > MaxPacketLengthBytes { if MaxPacketLengthBytes > 0 && int64(length) > MaxPacketLengthBytes {
return nil, read, fmt.Errorf("length %d greater than maximum %d", length, MaxPacketLengthBytes) return nil, read, fmt.Errorf("length %d greater than maximum %d", length, MaxPacketLengthBytes)
} }
content := make([]byte, length)
var content []byte
if length > 0 { if length > 0 {
_, err := io.ReadFull(reader, content) // Read the content and limit it to the parsed length.
// If the content is less than the length, we return an EOF error.
content, err = ioutil.ReadAll(io.LimitReader(reader, int64(length)))
if err == nil && len(content) < int(length) {
err = io.EOF
}
if err != nil { if err != nil {
return nil, read, unexpectedEOF(err) return nil, read, unexpectedEOF(err)
} }
read += length read += len(content)
} else {
// If length == 0, we set the ByteValue to an empty slice
content = make([]byte, 0)
} }
if p.ClassType == ClassUniversal { if p.ClassType == ClassUniversal {
@ -381,6 +393,10 @@ func readPacket(reader io.Reader) (*Packet, int, error) {
p.Value = DecodeString(content) p.Value = DecodeString(content)
case TagNULL: case TagNULL:
case TagObjectIdentifier: case TagObjectIdentifier:
oid, err := parseObjectIdentifier(content)
if err == nil {
p.Value = OIDToString(oid)
}
case TagObjectDescriptor: case TagObjectDescriptor:
case TagExternal: case TagExternal:
case TagRealFloat: case TagRealFloat:
@ -396,6 +412,10 @@ func readPacket(reader io.Reader) (*Packet, int, error) {
p.Value = val p.Value = val
} }
case TagRelativeOID: case TagRelativeOID:
oid, err := parseObjectIdentifier(content)
if err == nil {
p.Value = OIDToString(oid)
}
case TagSequence: case TagSequence:
case TagSet: case TagSet:
case TagNumericString: case TagNumericString:
@ -623,3 +643,166 @@ func NewReal(classType Class, tagType Type, tag Tag, value interface{}, descript
} }
return p return p
} }
func NewOID(classType Class, tagType Type, tag Tag, value interface{}, description string) *Packet {
p := Encode(classType, tagType, tag, nil, description)
switch v := value.(type) {
case string:
encoded, err := encodeOID(v)
if err != nil {
fmt.Printf("failed writing %v", err)
return nil
}
p.Value = v
p.Data.Write(encoded)
// TODO: support []int already ?
default:
panic(fmt.Sprintf("Invalid type %T, expected float{64|32}", v))
}
return p
}
// encodeOID takes a string representation of an OID and returns its DER-encoded byte slice along with any error.
func encodeOID(oidString string) ([]byte, error) {
// Convert the string representation to an asn1.ObjectIdentifier
parts := strings.Split(oidString, ".")
oid := make([]int, len(parts))
for i, part := range parts {
var val int
if _, err := fmt.Sscanf(part, "%d", &val); err != nil {
return nil, fmt.Errorf("invalid OID part '%s': %w", part, err)
}
oid[i] = val
}
if len(oid) < 2 || oid[0] > 2 || (oid[0] < 2 && oid[1] >= 40) {
panic(fmt.Sprintf("invalid object identifier % d", oid)) // TODO: not elegant
}
encoded := make([]byte, 0)
encoded = appendBase128Int(encoded[:0], int64(oid[0]*40+oid[1]))
for i := 2; i < len(oid); i++ {
encoded = appendBase128Int(encoded, int64(oid[i]))
}
return encoded, nil
}
func appendBase128Int(dst []byte, n int64) []byte {
l := base128IntLength(n)
for i := l - 1; i >= 0; i-- {
o := byte(n >> uint(i*7))
o &= 0x7f
if i != 0 {
o |= 0x80
}
dst = append(dst, o)
}
return dst
}
func base128IntLength(n int64) int {
if n == 0 {
return 1
}
l := 0
for i := n; i > 0; i >>= 7 {
l++
}
return l
}
func OIDToString(oi []int) string {
var s strings.Builder
s.Grow(32)
buf := make([]byte, 0, 19)
for i, v := range oi {
if i > 0 {
s.WriteByte('.')
}
s.Write(strconv.AppendInt(buf, int64(v), 10))
}
return s.String()
}
// parseObjectIdentifier parses an OBJECT IDENTIFIER from the given bytes and
// returns it. An object identifier is a sequence of variable length integers
// that are assigned in a hierarchy.
func parseObjectIdentifier(bytes []byte) (s []int, err error) {
if len(bytes) == 0 {
err = fmt.Errorf("zero length OBJECT IDENTIFIER")
return
}
// In the worst case, we get two elements from the first byte (which is
// encoded differently) and then every varint is a single byte long.
s = make([]int, len(bytes)+1)
// The first varint is 40*value1 + value2:
// According to this packing, value1 can take the values 0, 1 and 2 only.
// When value1 = 0 or value1 = 1, then value2 is <= 39. When value1 = 2,
// then there are no restrictions on value2.
v, offset, err := parseBase128Int(bytes, 0)
if err != nil {
return
}
if v < 80 {
s[0] = v / 40
s[1] = v % 40
} else {
s[0] = 2
s[1] = v - 80
}
i := 2
for ; offset < len(bytes); i++ {
v, offset, err = parseBase128Int(bytes, offset)
if err != nil {
return
}
s[i] = v
}
s = s[0:i]
return
}
// parseBase128Int parses a base-128 encoded int from the given offset in the
// given byte slice. It returns the value and the new offset.
func parseBase128Int(bytes []byte, initOffset int) (ret, offset int, err error) {
offset = initOffset
var ret64 int64
for shifted := 0; offset < len(bytes); shifted++ {
// 5 * 7 bits per byte == 35 bits of data
// Thus the representation is either non-minimal or too large for an int32
if shifted == 5 {
err = fmt.Errorf("base 128 integer too large")
return
}
ret64 <<= 7
b := bytes[offset]
// integers should be minimally encoded, so the leading octet should
// never be 0x80
if shifted == 0 && b == 0x80 {
err = fmt.Errorf("integer is not minimally encoded")
return
}
ret64 |= int64(b & 0x7f)
offset++
if b&0x80 == 0 {
ret = int(ret64)
// Ensure that the returned value fits in an int on all platforms
if ret64 > math.MaxInt32 {
err = fmt.Errorf("base 128 integer too large")
}
return
}
}
err = fmt.Errorf("truncated base 128 integer")
return
}

View File

@ -12,9 +12,13 @@ import (
"strings" "strings"
) )
const (
defaultMaxSize = 16000
)
// NewDecoder returns a new Decoder. // NewDecoder returns a new Decoder.
func NewDecoder() *Decoder { func NewDecoder() *Decoder {
return &Decoder{cache: newCache()} return &Decoder{cache: newCache(), maxSize: defaultMaxSize}
} }
// Decoder decodes values from a map[string][]string to a struct. // Decoder decodes values from a map[string][]string to a struct.
@ -22,6 +26,7 @@ type Decoder struct {
cache *cache cache *cache
zeroEmpty bool zeroEmpty bool
ignoreUnknownKeys bool ignoreUnknownKeys bool
maxSize int
} }
// SetAliasTag changes the tag used to locate custom field aliases. // SetAliasTag changes the tag used to locate custom field aliases.
@ -54,6 +59,13 @@ func (d *Decoder) IgnoreUnknownKeys(i bool) {
d.ignoreUnknownKeys = i d.ignoreUnknownKeys = i
} }
// MaxSize limits the size of slices for URL nested arrays or object arrays.
// Choose MaxSize carefully; large values may create many zero-value slice elements.
// Example: "items.100000=apple" would create a slice with 100,000 empty strings.
func (d *Decoder) MaxSize(size int) {
d.maxSize = size
}
// RegisterConverter registers a converter function for a custom type. // RegisterConverter registers a converter function for a custom type.
func (d *Decoder) RegisterConverter(value interface{}, converterFunc Converter) { func (d *Decoder) RegisterConverter(value interface{}, converterFunc Converter) {
d.cache.registerConverter(value, converterFunc) d.cache.registerConverter(value, converterFunc)
@ -92,9 +104,9 @@ func (d *Decoder) Decode(dst interface{}, src map[string][]string) error {
return nil return nil
} }
//setDefaults sets the default values when the `default` tag is specified, // setDefaults sets the default values when the `default` tag is specified,
//default is supported on basic/primitive types and their pointers, // default is supported on basic/primitive types and their pointers,
//nested structs can also have default tags // nested structs can also have default tags
func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError { func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError {
struc := d.cache.get(t) struc := d.cache.get(t)
if struc == nil { if struc == nil {
@ -104,6 +116,15 @@ func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError {
errs := MultiError{} errs := MultiError{}
if v.Type().Kind() == reflect.Struct {
for i := 0; i < v.NumField(); i++ {
field := v.Field(i)
if field.Type().Kind() == reflect.Ptr && field.IsNil() && v.Type().Field(i).Anonymous {
field.Set(reflect.New(field.Type().Elem()))
}
}
}
for _, f := range struc.fields { for _, f := range struc.fields {
vCurrent := v.FieldByName(f.name) vCurrent := v.FieldByName(f.name)
@ -121,7 +142,7 @@ func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError {
} else if f.typ.Kind() == reflect.Slice { } else if f.typ.Kind() == reflect.Slice {
vals := strings.Split(f.defaultValue, "|") vals := strings.Split(f.defaultValue, "|")
//check if slice has one of the supported types for defaults // check if slice has one of the supported types for defaults
if _, ok := builtinConverters[f.typ.Elem().Kind()]; !ok { if _, ok := builtinConverters[f.typ.Elem().Kind()]; !ok {
errs.merge(MultiError{"default-" + f.name: errors.New("default option is supported only on: bool, float variants, string, unit variants types or their corresponding pointers or slices")}) errs.merge(MultiError{"default-" + f.name: errors.New("default option is supported only on: bool, float variants, string, unit variants types or their corresponding pointers or slices")})
continue continue
@ -129,10 +150,13 @@ func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError {
defaultSlice := reflect.MakeSlice(f.typ, 0, cap(vals)) defaultSlice := reflect.MakeSlice(f.typ, 0, cap(vals))
for _, val := range vals { for _, val := range vals {
//this check is to handle if the wrong value is provided // this check is to handle if the wrong value is provided
if convertedVal := builtinConverters[f.typ.Elem().Kind()](val); convertedVal.IsValid() { convertedVal := builtinConverters[f.typ.Elem().Kind()](val)
defaultSlice = reflect.Append(defaultSlice, convertedVal) if !convertedVal.IsValid() {
errs.merge(MultiError{"default-" + f.name: fmt.Errorf("failed setting default: %s is not compatible with field %s type", val, f.name)})
break
} }
defaultSlice = reflect.Append(defaultSlice, convertedVal)
} }
vCurrent.Set(defaultSlice) vCurrent.Set(defaultSlice)
} else if f.typ.Kind() == reflect.Ptr { } else if f.typ.Kind() == reflect.Ptr {
@ -142,12 +166,12 @@ func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError {
errs.merge(MultiError{"default-" + f.name: errors.New("default option is supported only on: bool, float variants, string, unit variants types or their corresponding pointers or slices")}) errs.merge(MultiError{"default-" + f.name: errors.New("default option is supported only on: bool, float variants, string, unit variants types or their corresponding pointers or slices")})
} }
//this check is to handle if the wrong value is provided // this check is to handle if the wrong value is provided
if convertedVal := convertPointer(t1.Kind(), f.defaultValue); convertedVal.IsValid() { if convertedVal := convertPointer(t1.Kind(), f.defaultValue); convertedVal.IsValid() {
vCurrent.Set(convertedVal) vCurrent.Set(convertedVal)
} }
} else { } else {
//this check is to handle if the wrong value is provided // this check is to handle if the wrong value is provided
if convertedVal := builtinConverters[f.typ.Kind()](f.defaultValue); convertedVal.IsValid() { if convertedVal := builtinConverters[f.typ.Kind()](f.defaultValue); convertedVal.IsValid() {
vCurrent.Set(builtinConverters[f.typ.Kind()](f.defaultValue)) vCurrent.Set(builtinConverters[f.typ.Kind()](f.defaultValue))
} }
@ -290,6 +314,10 @@ func (d *Decoder) decode(v reflect.Value, path string, parts []pathPart, values
// Slice of structs. Let's go recursive. // Slice of structs. Let's go recursive.
if len(parts) > 1 { if len(parts) > 1 {
idx := parts[0].index idx := parts[0].index
// a defensive check to avoid creating a large slice based on user input index
if idx > d.maxSize {
return fmt.Errorf("%v index %d is larger than the configured maxSize %d", v.Kind(), idx, d.maxSize)
}
if v.IsNil() || v.Len() < idx+1 { if v.IsNil() || v.Len() < idx+1 {
value := reflect.MakeSlice(t, idx+1, idx+1) value := reflect.MakeSlice(t, idx+1, idx+1)
if v.Len() < idx+1 { if v.Len() < idx+1 {

View File

@ -1,20 +0,0 @@
; https://editorconfig.org/
root = true
[*]
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
[{Makefile,go.mod,go.sum,*.go,.gitmodules}]
indent_style = tab
indent_size = 4
[*.md]
indent_size = 4
trim_trailing_whitespace = false
eclint_indent_style = unset

View File

@ -1 +1,25 @@
coverage.coverprofile # Compiled Object files, Static and Dynamic libs (Shared Objects)
*.o
*.a
*.so
# Folders
_obj
_test
# Architecture specific extensions/prefixes
*.[568vq]
[568vq].out
*.cgo1.go
*.cgo2.c
_cgo_defun.c
_cgo_gotypes.go
_cgo_export.*
_testmain.go
*.exe
.idea/
*.iml

View File

@ -1,3 +0,0 @@
run:
skip-dirs:
- examples/*.go

9
vendor/github.com/gorilla/websocket/AUTHORS generated vendored Normal file
View File

@ -0,0 +1,9 @@
# This is the official list of Gorilla WebSocket authors for copyright
# purposes.
#
# Please keep the list sorted.
Gary Burd <gary@beagledreams.com>
Google LLC (https://opensource.google.com/)
Joachim Bauch <mail@joachim-bauch.de>

View File

@ -1,27 +1,22 @@
Copyright (c) 2023 The Gorilla Authors. All rights reserved. Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are modification, are permitted provided that the following conditions are met:
met:
* Redistributions of source code must retain the above copyright Redistributions of source code must retain the above copyright notice, this
notice, this list of conditions and the following disclaimer. list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS Redistributions in binary form must reproduce the above copyright notice,
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT this list of conditions and the following disclaimer in the documentation
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR and/or other materials provided with the distribution.
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -1,34 +0,0 @@
GO_LINT=$(shell which golangci-lint 2> /dev/null || echo '')
GO_LINT_URI=github.com/golangci/golangci-lint/cmd/golangci-lint@latest
GO_SEC=$(shell which gosec 2> /dev/null || echo '')
GO_SEC_URI=github.com/securego/gosec/v2/cmd/gosec@latest
GO_VULNCHECK=$(shell which govulncheck 2> /dev/null || echo '')
GO_VULNCHECK_URI=golang.org/x/vuln/cmd/govulncheck@latest
.PHONY: golangci-lint
golangci-lint:
$(if $(GO_LINT), ,go install $(GO_LINT_URI))
@echo "##### Running golangci-lint"
golangci-lint run -v
.PHONY: gosec
gosec:
$(if $(GO_SEC), ,go install $(GO_SEC_URI))
@echo "##### Running gosec"
gosec -exclude-dir examples ./...
.PHONY: govulncheck
govulncheck:
$(if $(GO_VULNCHECK), ,go install $(GO_VULNCHECK_URI))
@echo "##### Running govulncheck"
govulncheck ./...
.PHONY: verify
verify: golangci-lint gosec govulncheck
.PHONY: test
test:
@echo "##### Running tests"
go test -race -cover -coverprofile=coverage.coverprofile -covermode=atomic -v ./...

View File

@ -1,13 +1,10 @@
# gorilla/websocket # Gorilla WebSocket
![testing](https://github.com/gorilla/websocket/actions/workflows/test.yml/badge.svg) [![GoDoc](https://godoc.org/github.com/gorilla/websocket?status.svg)](https://godoc.org/github.com/gorilla/websocket)
[![codecov](https://codecov.io/github/gorilla/websocket/branch/main/graph/badge.svg)](https://codecov.io/github/gorilla/websocket) [![CircleCI](https://circleci.com/gh/gorilla/websocket.svg?style=svg)](https://circleci.com/gh/gorilla/websocket)
[![godoc](https://godoc.org/github.com/gorilla/websocket?status.svg)](https://godoc.org/github.com/gorilla/websocket)
[![sourcegraph](https://sourcegraph.com/github.com/gorilla/websocket/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/websocket?badge)
Gorilla WebSocket is a [Go](http://golang.org/) implementation of the [WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol. Gorilla WebSocket is a [Go](http://golang.org/) implementation of the
[WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol.
![Gorilla Logo](https://github.com/gorilla/.github/assets/53367916/d92caabf-98e0-473e-bfbf-ab554ba435e5)
### Documentation ### Documentation
@ -17,7 +14,6 @@ Gorilla WebSocket is a [Go](http://golang.org/) implementation of the [WebSocket
* [Command example](https://github.com/gorilla/websocket/tree/master/examples/command) * [Command example](https://github.com/gorilla/websocket/tree/master/examples/command)
* [Client and server example](https://github.com/gorilla/websocket/tree/master/examples/echo) * [Client and server example](https://github.com/gorilla/websocket/tree/master/examples/echo)
* [File watch example](https://github.com/gorilla/websocket/tree/master/examples/filewatch) * [File watch example](https://github.com/gorilla/websocket/tree/master/examples/filewatch)
* [Write buffer pool example](https://github.com/gorilla/websocket/tree/master/examples/bufferpool)
### Status ### Status
@ -34,3 +30,4 @@ package API is stable.
The Gorilla WebSocket package passes the server tests in the [Autobahn Test The Gorilla WebSocket package passes the server tests in the [Autobahn Test
Suite](https://github.com/crossbario/autobahn-testsuite) using the application in the [examples/autobahn Suite](https://github.com/crossbario/autobahn-testsuite) using the application in the [examples/autobahn
subdirectory](https://github.com/gorilla/websocket/tree/master/examples/autobahn). subdirectory](https://github.com/gorilla/websocket/tree/master/examples/autobahn).

View File

@ -11,16 +11,13 @@ import (
"errors" "errors"
"fmt" "fmt"
"io" "io"
"log" "io/ioutil"
"net" "net"
"net/http" "net/http"
"net/http/httptrace" "net/http/httptrace"
"net/url" "net/url"
"strings" "strings"
"time" "time"
"golang.org/x/net/proxy"
) )
// ErrBadHandshake is returned when the server response to opening handshake is // ErrBadHandshake is returned when the server response to opening handshake is
@ -228,7 +225,6 @@ func (d *Dialer) DialContext(ctx context.Context, urlStr string, requestHeader h
k == "Connection" || k == "Connection" ||
k == "Sec-Websocket-Key" || k == "Sec-Websocket-Key" ||
k == "Sec-Websocket-Version" || k == "Sec-Websocket-Version" ||
//#nosec G101 (CWE-798): Potential HTTP request smuggling via parameter pollution
k == "Sec-Websocket-Extensions" || k == "Sec-Websocket-Extensions" ||
(k == "Sec-Websocket-Protocol" && len(d.Subprotocols) > 0): (k == "Sec-Websocket-Protocol" && len(d.Subprotocols) > 0):
return nil, nil, errors.New("websocket: duplicate header not allowed: " + k) return nil, nil, errors.New("websocket: duplicate header not allowed: " + k)
@ -294,9 +290,7 @@ func (d *Dialer) DialContext(ctx context.Context, urlStr string, requestHeader h
} }
err = c.SetDeadline(deadline) err = c.SetDeadline(deadline)
if err != nil { if err != nil {
if err := c.Close(); err != nil { c.Close()
log.Printf("websocket: failed to close network connection: %v", err)
}
return nil, err return nil, err
} }
return c, nil return c, nil
@ -310,7 +304,7 @@ func (d *Dialer) DialContext(ctx context.Context, urlStr string, requestHeader h
return nil, nil, err return nil, nil, err
} }
if proxyURL != nil { if proxyURL != nil {
dialer, err := proxy.FromURL(proxyURL, netDialerFunc(netDial)) dialer, err := proxy_FromURL(proxyURL, netDialerFunc(netDial))
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
@ -336,9 +330,7 @@ func (d *Dialer) DialContext(ctx context.Context, urlStr string, requestHeader h
defer func() { defer func() {
if netConn != nil { if netConn != nil {
if err := netConn.Close(); err != nil { netConn.Close()
log.Printf("websocket: failed to close network connection: %v", err)
}
} }
}() }()
@ -408,7 +400,7 @@ func (d *Dialer) DialContext(ctx context.Context, urlStr string, requestHeader h
// debugging. // debugging.
buf := make([]byte, 1024) buf := make([]byte, 1024)
n, _ := io.ReadFull(resp.Body, buf) n, _ := io.ReadFull(resp.Body, buf)
resp.Body = io.NopCloser(bytes.NewReader(buf[:n])) resp.Body = ioutil.NopCloser(bytes.NewReader(buf[:n]))
return nil, resp, ErrBadHandshake return nil, resp, ErrBadHandshake
} }
@ -426,19 +418,17 @@ func (d *Dialer) DialContext(ctx context.Context, urlStr string, requestHeader h
break break
} }
resp.Body = io.NopCloser(bytes.NewReader([]byte{})) resp.Body = ioutil.NopCloser(bytes.NewReader([]byte{}))
conn.subprotocol = resp.Header.Get("Sec-Websocket-Protocol") conn.subprotocol = resp.Header.Get("Sec-Websocket-Protocol")
if err := netConn.SetDeadline(time.Time{}); err != nil { netConn.SetDeadline(time.Time{})
return nil, nil, err
}
netConn = nil // to avoid close in defer. netConn = nil // to avoid close in defer.
return conn, resp, nil return conn, resp, nil
} }
func cloneTLSConfig(cfg *tls.Config) *tls.Config { func cloneTLSConfig(cfg *tls.Config) *tls.Config {
if cfg == nil { if cfg == nil {
return &tls.Config{MinVersion: tls.VersionTLS12} return &tls.Config{}
} }
return cfg.Clone() return cfg.Clone()
} }

View File

@ -8,7 +8,6 @@ import (
"compress/flate" "compress/flate"
"errors" "errors"
"io" "io"
"log"
"strings" "strings"
"sync" "sync"
) )
@ -34,9 +33,7 @@ func decompressNoContextTakeover(r io.Reader) io.ReadCloser {
"\x01\x00\x00\xff\xff" "\x01\x00\x00\xff\xff"
fr, _ := flateReaderPool.Get().(io.ReadCloser) fr, _ := flateReaderPool.Get().(io.ReadCloser)
if err := fr.(flate.Resetter).Reset(io.MultiReader(r, strings.NewReader(tail)), nil); err != nil { fr.(flate.Resetter).Reset(io.MultiReader(r, strings.NewReader(tail)), nil)
panic(err)
}
return &flateReadWrapper{fr} return &flateReadWrapper{fr}
} }
@ -135,9 +132,7 @@ func (r *flateReadWrapper) Read(p []byte) (int, error) {
// Preemptively place the reader back in the pool. This helps with // Preemptively place the reader back in the pool. This helps with
// scenarios where the application does not call NextReader() soon after // scenarios where the application does not call NextReader() soon after
// this final read. // this final read.
if err := r.Close(); err != nil { r.Close()
log.Printf("websocket: flateReadWrapper.Close() returned error: %v", err)
}
} }
return n, err return n, err
} }

View File

@ -6,11 +6,11 @@ package websocket
import ( import (
"bufio" "bufio"
"crypto/rand"
"encoding/binary" "encoding/binary"
"errors" "errors"
"io" "io"
"log" "io/ioutil"
"math/rand"
"net" "net"
"strconv" "strconv"
"strings" "strings"
@ -181,20 +181,13 @@ var (
errInvalidControlFrame = errors.New("websocket: invalid control frame") errInvalidControlFrame = errors.New("websocket: invalid control frame")
) )
// maskRand is an io.Reader for generating mask bytes. The reader is initialized
// to crypto/rand Reader. Tests swap the reader to a math/rand reader for
// reproducible results.
var maskRand = rand.Reader
// newMaskKey returns a new 32 bit value for masking client frames.
func newMaskKey() [4]byte { func newMaskKey() [4]byte {
var k [4]byte n := rand.Uint32()
_, _ = io.ReadFull(maskRand, k[:]) return [4]byte{byte(n), byte(n >> 8), byte(n >> 16), byte(n >> 24)}
return k
} }
func hideTempErr(err error) error { func hideTempErr(err error) error {
if e, ok := err.(net.Error); ok { if e, ok := err.(net.Error); ok && e.Temporary() {
err = &netError{msg: e.Error(), timeout: e.Timeout()} err = &netError{msg: e.Error(), timeout: e.Timeout()}
} }
return err return err
@ -379,9 +372,7 @@ func (c *Conn) read(n int) ([]byte, error) {
if err == io.EOF { if err == io.EOF {
err = errUnexpectedEOF err = errUnexpectedEOF
} }
if _, err := c.br.Discard(len(p)); err != nil { c.br.Discard(len(p))
return p, err
}
return p, err return p, err
} }
@ -396,9 +387,7 @@ func (c *Conn) write(frameType int, deadline time.Time, buf0, buf1 []byte) error
return err return err
} }
if err := c.conn.SetWriteDeadline(deadline); err != nil { c.conn.SetWriteDeadline(deadline)
return c.writeFatal(err)
}
if len(buf1) == 0 { if len(buf1) == 0 {
_, err = c.conn.Write(buf0) _, err = c.conn.Write(buf0)
} else { } else {
@ -408,7 +397,7 @@ func (c *Conn) write(frameType int, deadline time.Time, buf0, buf1 []byte) error
return c.writeFatal(err) return c.writeFatal(err)
} }
if frameType == CloseMessage { if frameType == CloseMessage {
_ = c.writeFatal(ErrCloseSent) c.writeFatal(ErrCloseSent)
} }
return nil return nil
} }
@ -449,7 +438,7 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er
d := 1000 * time.Hour d := 1000 * time.Hour
if !deadline.IsZero() { if !deadline.IsZero() {
d = time.Until(deadline) d = deadline.Sub(time.Now())
if d < 0 { if d < 0 {
return errWriteTimeout return errWriteTimeout
} }
@ -471,15 +460,13 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er
return err return err
} }
if err := c.conn.SetWriteDeadline(deadline); err != nil { c.conn.SetWriteDeadline(deadline)
return c.writeFatal(err)
}
_, err = c.conn.Write(buf) _, err = c.conn.Write(buf)
if err != nil { if err != nil {
return c.writeFatal(err) return c.writeFatal(err)
} }
if messageType == CloseMessage { if messageType == CloseMessage {
_ = c.writeFatal(ErrCloseSent) c.writeFatal(ErrCloseSent)
} }
return err return err
} }
@ -490,9 +477,7 @@ func (c *Conn) beginMessage(mw *messageWriter, messageType int) error {
// probably better to return an error in this situation, but we cannot // probably better to return an error in this situation, but we cannot
// change this without breaking existing applications. // change this without breaking existing applications.
if c.writer != nil { if c.writer != nil {
if err := c.writer.Close(); err != nil { c.writer.Close()
log.Printf("websocket: discarding writer close error: %v", err)
}
c.writer = nil c.writer = nil
} }
@ -645,7 +630,7 @@ func (w *messageWriter) flushFrame(final bool, extra []byte) error {
} }
if final { if final {
_ = w.endMessage(errWriteClosed) w.endMessage(errWriteClosed)
return nil return nil
} }
@ -810,7 +795,7 @@ func (c *Conn) advanceFrame() (int, error) {
// 1. Skip remainder of previous frame. // 1. Skip remainder of previous frame.
if c.readRemaining > 0 { if c.readRemaining > 0 {
if _, err := io.CopyN(io.Discard, c.br, c.readRemaining); err != nil { if _, err := io.CopyN(ioutil.Discard, c.br, c.readRemaining); err != nil {
return noFrame, err return noFrame, err
} }
} }
@ -832,9 +817,7 @@ func (c *Conn) advanceFrame() (int, error) {
rsv2 := p[0]&rsv2Bit != 0 rsv2 := p[0]&rsv2Bit != 0
rsv3 := p[0]&rsv3Bit != 0 rsv3 := p[0]&rsv3Bit != 0
mask := p[1]&maskBit != 0 mask := p[1]&maskBit != 0
if err := c.setReadRemaining(int64(p[1] & 0x7f)); err != nil { c.setReadRemaining(int64(p[1] & 0x7f))
return noFrame, err
}
c.readDecompress = false c.readDecompress = false
if rsv1 { if rsv1 {
@ -939,9 +922,7 @@ func (c *Conn) advanceFrame() (int, error) {
} }
if c.readLimit > 0 && c.readLength > c.readLimit { if c.readLimit > 0 && c.readLength > c.readLimit {
if err := c.WriteControl(CloseMessage, FormatCloseMessage(CloseMessageTooBig, ""), time.Now().Add(writeWait)); err != nil { c.WriteControl(CloseMessage, FormatCloseMessage(CloseMessageTooBig, ""), time.Now().Add(writeWait))
return noFrame, err
}
return noFrame, ErrReadLimit return noFrame, ErrReadLimit
} }
@ -953,9 +934,7 @@ func (c *Conn) advanceFrame() (int, error) {
var payload []byte var payload []byte
if c.readRemaining > 0 { if c.readRemaining > 0 {
payload, err = c.read(int(c.readRemaining)) payload, err = c.read(int(c.readRemaining))
if err := c.setReadRemaining(0); err != nil { c.setReadRemaining(0)
return noFrame, err
}
if err != nil { if err != nil {
return noFrame, err return noFrame, err
} }
@ -1002,9 +981,7 @@ func (c *Conn) handleProtocolError(message string) error {
if len(data) > maxControlFramePayloadSize { if len(data) > maxControlFramePayloadSize {
data = data[:maxControlFramePayloadSize] data = data[:maxControlFramePayloadSize]
} }
if err := c.WriteControl(CloseMessage, data, time.Now().Add(writeWait)); err != nil { c.WriteControl(CloseMessage, data, time.Now().Add(writeWait))
return err
}
return errors.New("websocket: " + message) return errors.New("websocket: " + message)
} }
@ -1021,9 +998,7 @@ func (c *Conn) handleProtocolError(message string) error {
func (c *Conn) NextReader() (messageType int, r io.Reader, err error) { func (c *Conn) NextReader() (messageType int, r io.Reader, err error) {
// Close previous reader, only relevant for decompression. // Close previous reader, only relevant for decompression.
if c.reader != nil { if c.reader != nil {
if err := c.reader.Close(); err != nil { c.reader.Close()
log.Printf("websocket: discarding reader close error: %v", err)
}
c.reader = nil c.reader = nil
} }
@ -1079,9 +1054,7 @@ func (r *messageReader) Read(b []byte) (int, error) {
} }
rem := c.readRemaining rem := c.readRemaining
rem -= int64(n) rem -= int64(n)
if err := c.setReadRemaining(rem); err != nil { c.setReadRemaining(rem)
return 0, err
}
if c.readRemaining > 0 && c.readErr == io.EOF { if c.readRemaining > 0 && c.readErr == io.EOF {
c.readErr = errUnexpectedEOF c.readErr = errUnexpectedEOF
} }
@ -1121,7 +1094,7 @@ func (c *Conn) ReadMessage() (messageType int, p []byte, err error) {
if err != nil { if err != nil {
return messageType, nil, err return messageType, nil, err
} }
p, err = io.ReadAll(r) p, err = ioutil.ReadAll(r)
return messageType, p, err return messageType, p, err
} }
@ -1163,9 +1136,7 @@ func (c *Conn) SetCloseHandler(h func(code int, text string) error) {
if h == nil { if h == nil {
h = func(code int, text string) error { h = func(code int, text string) error {
message := FormatCloseMessage(code, "") message := FormatCloseMessage(code, "")
if err := c.WriteControl(CloseMessage, message, time.Now().Add(writeWait)); err != nil { c.WriteControl(CloseMessage, message, time.Now().Add(writeWait))
return err
}
return nil return nil
} }
} }
@ -1190,7 +1161,7 @@ func (c *Conn) SetPingHandler(h func(appData string) error) {
err := c.WriteControl(PongMessage, []byte(message), time.Now().Add(writeWait)) err := c.WriteControl(PongMessage, []byte(message), time.Now().Add(writeWait))
if err == ErrCloseSent { if err == ErrCloseSent {
return nil return nil
} else if _, ok := err.(net.Error); ok { } else if e, ok := err.(net.Error); ok && e.Temporary() {
return nil return nil
} }
return err return err

View File

@ -9,7 +9,6 @@ package websocket
import "unsafe" import "unsafe"
// #nosec G103 -- (CWE-242) Has been audited
const wordSize = int(unsafe.Sizeof(uintptr(0))) const wordSize = int(unsafe.Sizeof(uintptr(0)))
func maskBytes(key [4]byte, pos int, b []byte) int { func maskBytes(key [4]byte, pos int, b []byte) int {
@ -23,7 +22,6 @@ func maskBytes(key [4]byte, pos int, b []byte) int {
} }
// Mask one byte at a time to word boundary. // Mask one byte at a time to word boundary.
//#nosec G103 -- (CWE-242) Has been audited
if n := int(uintptr(unsafe.Pointer(&b[0]))) % wordSize; n != 0 { if n := int(uintptr(unsafe.Pointer(&b[0]))) % wordSize; n != 0 {
n = wordSize - n n = wordSize - n
for i := range b[:n] { for i := range b[:n] {
@ -38,13 +36,11 @@ func maskBytes(key [4]byte, pos int, b []byte) int {
for i := range k { for i := range k {
k[i] = key[(pos+i)&3] k[i] = key[(pos+i)&3]
} }
//#nosec G103 -- (CWE-242) Has been audited
kw := *(*uintptr)(unsafe.Pointer(&k)) kw := *(*uintptr)(unsafe.Pointer(&k))
// Mask one word at a time. // Mask one word at a time.
n := (len(b) / wordSize) * wordSize n := (len(b) / wordSize) * wordSize
for i := 0; i < n; i += wordSize { for i := 0; i < n; i += wordSize {
//#nosec G103 -- (CWE-242) Has been audited
*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&b[0])) + uintptr(i))) ^= kw *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&b[0])) + uintptr(i))) ^= kw
} }

View File

@ -8,13 +8,10 @@ import (
"bufio" "bufio"
"encoding/base64" "encoding/base64"
"errors" "errors"
"log"
"net" "net"
"net/http" "net/http"
"net/url" "net/url"
"strings" "strings"
"golang.org/x/net/proxy"
) )
type netDialerFunc func(network, addr string) (net.Conn, error) type netDialerFunc func(network, addr string) (net.Conn, error)
@ -24,7 +21,7 @@ func (fn netDialerFunc) Dial(network, addr string) (net.Conn, error) {
} }
func init() { func init() {
proxy.RegisterDialerType("http", func(proxyURL *url.URL, forwardDialer proxy.Dialer) (proxy.Dialer, error) { proxy_RegisterDialerType("http", func(proxyURL *url.URL, forwardDialer proxy_Dialer) (proxy_Dialer, error) {
return &httpProxyDialer{proxyURL: proxyURL, forwardDial: forwardDialer.Dial}, nil return &httpProxyDialer{proxyURL: proxyURL, forwardDial: forwardDialer.Dial}, nil
}) })
} }
@ -58,9 +55,7 @@ func (hpd *httpProxyDialer) Dial(network string, addr string) (net.Conn, error)
} }
if err := connectReq.Write(conn); err != nil { if err := connectReq.Write(conn); err != nil {
if err := conn.Close(); err != nil { conn.Close()
log.Printf("httpProxyDialer: failed to close connection: %v", err)
}
return nil, err return nil, err
} }
@ -69,16 +64,12 @@ func (hpd *httpProxyDialer) Dial(network string, addr string) (net.Conn, error)
br := bufio.NewReader(conn) br := bufio.NewReader(conn)
resp, err := http.ReadResponse(br, connectReq) resp, err := http.ReadResponse(br, connectReq)
if err != nil { if err != nil {
if err := conn.Close(); err != nil { conn.Close()
log.Printf("httpProxyDialer: failed to close connection: %v", err)
}
return nil, err return nil, err
} }
if resp.StatusCode != 200 { if resp.StatusCode != 200 {
if err := conn.Close(); err != nil { conn.Close()
log.Printf("httpProxyDialer: failed to close connection: %v", err)
}
f := strings.SplitN(resp.Status, " ", 2) f := strings.SplitN(resp.Status, " ", 2)
return nil, errors.New(f[1]) return nil, errors.New(f[1])
} }

View File

@ -8,7 +8,6 @@ import (
"bufio" "bufio"
"errors" "errors"
"io" "io"
"log"
"net/http" "net/http"
"net/url" "net/url"
"strings" "strings"
@ -184,9 +183,7 @@ func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeade
} }
if brw.Reader.Buffered() > 0 { if brw.Reader.Buffered() > 0 {
if err := netConn.Close(); err != nil { netConn.Close()
log.Printf("websocket: failed to close network connection: %v", err)
}
return nil, errors.New("websocket: client sent data before handshake is complete") return nil, errors.New("websocket: client sent data before handshake is complete")
} }
@ -251,34 +248,17 @@ func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeade
p = append(p, "\r\n"...) p = append(p, "\r\n"...)
// Clear deadlines set by HTTP server. // Clear deadlines set by HTTP server.
if err := netConn.SetDeadline(time.Time{}); err != nil { netConn.SetDeadline(time.Time{})
if err := netConn.Close(); err != nil {
log.Printf("websocket: failed to close network connection: %v", err)
}
return nil, err
}
if u.HandshakeTimeout > 0 { if u.HandshakeTimeout > 0 {
if err := netConn.SetWriteDeadline(time.Now().Add(u.HandshakeTimeout)); err != nil { netConn.SetWriteDeadline(time.Now().Add(u.HandshakeTimeout))
if err := netConn.Close(); err != nil {
log.Printf("websocket: failed to close network connection: %v", err)
}
return nil, err
}
} }
if _, err = netConn.Write(p); err != nil { if _, err = netConn.Write(p); err != nil {
if err := netConn.Close(); err != nil { netConn.Close()
log.Printf("websocket: failed to close network connection: %v", err)
}
return nil, err return nil, err
} }
if u.HandshakeTimeout > 0 { if u.HandshakeTimeout > 0 {
if err := netConn.SetWriteDeadline(time.Time{}); err != nil { netConn.SetWriteDeadline(time.Time{})
if err := netConn.Close(); err != nil {
log.Printf("websocket: failed to close network connection: %v", err)
}
return nil, err
}
} }
return c, nil return c, nil
@ -376,12 +356,8 @@ func bufioWriterBuffer(originalWriter io.Writer, bw *bufio.Writer) []byte {
// bufio.Writer's underlying writer. // bufio.Writer's underlying writer.
var wh writeHook var wh writeHook
bw.Reset(&wh) bw.Reset(&wh)
if err := bw.WriteByte(0); err != nil { bw.WriteByte(0)
panic(err) bw.Flush()
}
if err := bw.Flush(); err != nil {
log.Printf("websocket: bufioWriterBuffer: Flush: %v", err)
}
bw.Reset(originalWriter) bw.Reset(originalWriter)

View File

@ -1,3 +1,6 @@
//go:build go1.17
// +build go1.17
package websocket package websocket
import ( import (

View File

@ -0,0 +1,21 @@
//go:build !go1.17
// +build !go1.17
package websocket
import (
"context"
"crypto/tls"
)
func doHandshake(ctx context.Context, tlsConn *tls.Conn, cfg *tls.Config) error {
if err := tlsConn.Handshake(); err != nil {
return err
}
if !cfg.InsecureSkipVerify {
if err := tlsConn.VerifyHostname(cfg.ServerName); err != nil {
return err
}
}
return nil
}

View File

@ -6,7 +6,7 @@ package websocket
import ( import (
"crypto/rand" "crypto/rand"
"crypto/sha1" //#nosec G505 -- (CWE-327) https://datatracker.ietf.org/doc/html/rfc6455#page-54 "crypto/sha1"
"encoding/base64" "encoding/base64"
"io" "io"
"net/http" "net/http"
@ -17,7 +17,7 @@ import (
var keyGUID = []byte("258EAFA5-E914-47DA-95CA-C5AB0DC85B11") var keyGUID = []byte("258EAFA5-E914-47DA-95CA-C5AB0DC85B11")
func computeAcceptKey(challengeKey string) string { func computeAcceptKey(challengeKey string) string {
h := sha1.New() //#nosec G401 -- (CWE-326) https://datatracker.ietf.org/doc/html/rfc6455#page-54 h := sha1.New()
h.Write([]byte(challengeKey)) h.Write([]byte(challengeKey))
h.Write(keyGUID) h.Write(keyGUID)
return base64.StdEncoding.EncodeToString(h.Sum(nil)) return base64.StdEncoding.EncodeToString(h.Sum(nil))

473
vendor/github.com/gorilla/websocket/x_net_proxy.go generated vendored Normal file
View File

@ -0,0 +1,473 @@
// Code generated by golang.org/x/tools/cmd/bundle. DO NOT EDIT.
//go:generate bundle -o x_net_proxy.go golang.org/x/net/proxy
// Package proxy provides support for a variety of protocols to proxy network
// data.
//
package websocket
import (
"errors"
"io"
"net"
"net/url"
"os"
"strconv"
"strings"
"sync"
)
type proxy_direct struct{}
// Direct is a direct proxy: one that makes network connections directly.
var proxy_Direct = proxy_direct{}
func (proxy_direct) Dial(network, addr string) (net.Conn, error) {
return net.Dial(network, addr)
}
// A PerHost directs connections to a default Dialer unless the host name
// requested matches one of a number of exceptions.
type proxy_PerHost struct {
def, bypass proxy_Dialer
bypassNetworks []*net.IPNet
bypassIPs []net.IP
bypassZones []string
bypassHosts []string
}
// NewPerHost returns a PerHost Dialer that directs connections to either
// defaultDialer or bypass, depending on whether the connection matches one of
// the configured rules.
func proxy_NewPerHost(defaultDialer, bypass proxy_Dialer) *proxy_PerHost {
return &proxy_PerHost{
def: defaultDialer,
bypass: bypass,
}
}
// Dial connects to the address addr on the given network through either
// defaultDialer or bypass.
func (p *proxy_PerHost) Dial(network, addr string) (c net.Conn, err error) {
host, _, err := net.SplitHostPort(addr)
if err != nil {
return nil, err
}
return p.dialerForRequest(host).Dial(network, addr)
}
func (p *proxy_PerHost) dialerForRequest(host string) proxy_Dialer {
if ip := net.ParseIP(host); ip != nil {
for _, net := range p.bypassNetworks {
if net.Contains(ip) {
return p.bypass
}
}
for _, bypassIP := range p.bypassIPs {
if bypassIP.Equal(ip) {
return p.bypass
}
}
return p.def
}
for _, zone := range p.bypassZones {
if strings.HasSuffix(host, zone) {
return p.bypass
}
if host == zone[1:] {
// For a zone ".example.com", we match "example.com"
// too.
return p.bypass
}
}
for _, bypassHost := range p.bypassHosts {
if bypassHost == host {
return p.bypass
}
}
return p.def
}
// AddFromString parses a string that contains comma-separated values
// specifying hosts that should use the bypass proxy. Each value is either an
// IP address, a CIDR range, a zone (*.example.com) or a host name
// (localhost). A best effort is made to parse the string and errors are
// ignored.
func (p *proxy_PerHost) AddFromString(s string) {
hosts := strings.Split(s, ",")
for _, host := range hosts {
host = strings.TrimSpace(host)
if len(host) == 0 {
continue
}
if strings.Contains(host, "/") {
// We assume that it's a CIDR address like 127.0.0.0/8
if _, net, err := net.ParseCIDR(host); err == nil {
p.AddNetwork(net)
}
continue
}
if ip := net.ParseIP(host); ip != nil {
p.AddIP(ip)
continue
}
if strings.HasPrefix(host, "*.") {
p.AddZone(host[1:])
continue
}
p.AddHost(host)
}
}
// AddIP specifies an IP address that will use the bypass proxy. Note that
// this will only take effect if a literal IP address is dialed. A connection
// to a named host will never match an IP.
func (p *proxy_PerHost) AddIP(ip net.IP) {
p.bypassIPs = append(p.bypassIPs, ip)
}
// AddNetwork specifies an IP range that will use the bypass proxy. Note that
// this will only take effect if a literal IP address is dialed. A connection
// to a named host will never match.
func (p *proxy_PerHost) AddNetwork(net *net.IPNet) {
p.bypassNetworks = append(p.bypassNetworks, net)
}
// AddZone specifies a DNS suffix that will use the bypass proxy. A zone of
// "example.com" matches "example.com" and all of its subdomains.
func (p *proxy_PerHost) AddZone(zone string) {
if strings.HasSuffix(zone, ".") {
zone = zone[:len(zone)-1]
}
if !strings.HasPrefix(zone, ".") {
zone = "." + zone
}
p.bypassZones = append(p.bypassZones, zone)
}
// AddHost specifies a host name that will use the bypass proxy.
func (p *proxy_PerHost) AddHost(host string) {
if strings.HasSuffix(host, ".") {
host = host[:len(host)-1]
}
p.bypassHosts = append(p.bypassHosts, host)
}
// A Dialer is a means to establish a connection.
type proxy_Dialer interface {
// Dial connects to the given address via the proxy.
Dial(network, addr string) (c net.Conn, err error)
}
// Auth contains authentication parameters that specific Dialers may require.
type proxy_Auth struct {
User, Password string
}
// FromEnvironment returns the dialer specified by the proxy related variables in
// the environment.
func proxy_FromEnvironment() proxy_Dialer {
allProxy := proxy_allProxyEnv.Get()
if len(allProxy) == 0 {
return proxy_Direct
}
proxyURL, err := url.Parse(allProxy)
if err != nil {
return proxy_Direct
}
proxy, err := proxy_FromURL(proxyURL, proxy_Direct)
if err != nil {
return proxy_Direct
}
noProxy := proxy_noProxyEnv.Get()
if len(noProxy) == 0 {
return proxy
}
perHost := proxy_NewPerHost(proxy, proxy_Direct)
perHost.AddFromString(noProxy)
return perHost
}
// proxySchemes is a map from URL schemes to a function that creates a Dialer
// from a URL with such a scheme.
var proxy_proxySchemes map[string]func(*url.URL, proxy_Dialer) (proxy_Dialer, error)
// RegisterDialerType takes a URL scheme and a function to generate Dialers from
// a URL with that scheme and a forwarding Dialer. Registered schemes are used
// by FromURL.
func proxy_RegisterDialerType(scheme string, f func(*url.URL, proxy_Dialer) (proxy_Dialer, error)) {
if proxy_proxySchemes == nil {
proxy_proxySchemes = make(map[string]func(*url.URL, proxy_Dialer) (proxy_Dialer, error))
}
proxy_proxySchemes[scheme] = f
}
// FromURL returns a Dialer given a URL specification and an underlying
// Dialer for it to make network requests.
func proxy_FromURL(u *url.URL, forward proxy_Dialer) (proxy_Dialer, error) {
var auth *proxy_Auth
if u.User != nil {
auth = new(proxy_Auth)
auth.User = u.User.Username()
if p, ok := u.User.Password(); ok {
auth.Password = p
}
}
switch u.Scheme {
case "socks5":
return proxy_SOCKS5("tcp", u.Host, auth, forward)
}
// If the scheme doesn't match any of the built-in schemes, see if it
// was registered by another package.
if proxy_proxySchemes != nil {
if f, ok := proxy_proxySchemes[u.Scheme]; ok {
return f(u, forward)
}
}
return nil, errors.New("proxy: unknown scheme: " + u.Scheme)
}
var (
proxy_allProxyEnv = &proxy_envOnce{
names: []string{"ALL_PROXY", "all_proxy"},
}
proxy_noProxyEnv = &proxy_envOnce{
names: []string{"NO_PROXY", "no_proxy"},
}
)
// envOnce looks up an environment variable (optionally by multiple
// names) once. It mitigates expensive lookups on some platforms
// (e.g. Windows).
// (Borrowed from net/http/transport.go)
type proxy_envOnce struct {
names []string
once sync.Once
val string
}
func (e *proxy_envOnce) Get() string {
e.once.Do(e.init)
return e.val
}
func (e *proxy_envOnce) init() {
for _, n := range e.names {
e.val = os.Getenv(n)
if e.val != "" {
return
}
}
}
// SOCKS5 returns a Dialer that makes SOCKSv5 connections to the given address
// with an optional username and password. See RFC 1928 and RFC 1929.
func proxy_SOCKS5(network, addr string, auth *proxy_Auth, forward proxy_Dialer) (proxy_Dialer, error) {
s := &proxy_socks5{
network: network,
addr: addr,
forward: forward,
}
if auth != nil {
s.user = auth.User
s.password = auth.Password
}
return s, nil
}
type proxy_socks5 struct {
user, password string
network, addr string
forward proxy_Dialer
}
const proxy_socks5Version = 5
const (
proxy_socks5AuthNone = 0
proxy_socks5AuthPassword = 2
)
const proxy_socks5Connect = 1
const (
proxy_socks5IP4 = 1
proxy_socks5Domain = 3
proxy_socks5IP6 = 4
)
var proxy_socks5Errors = []string{
"",
"general failure",
"connection forbidden",
"network unreachable",
"host unreachable",
"connection refused",
"TTL expired",
"command not supported",
"address type not supported",
}
// Dial connects to the address addr on the given network via the SOCKS5 proxy.
func (s *proxy_socks5) Dial(network, addr string) (net.Conn, error) {
switch network {
case "tcp", "tcp6", "tcp4":
default:
return nil, errors.New("proxy: no support for SOCKS5 proxy connections of type " + network)
}
conn, err := s.forward.Dial(s.network, s.addr)
if err != nil {
return nil, err
}
if err := s.connect(conn, addr); err != nil {
conn.Close()
return nil, err
}
return conn, nil
}
// connect takes an existing connection to a socks5 proxy server,
// and commands the server to extend that connection to target,
// which must be a canonical address with a host and port.
func (s *proxy_socks5) connect(conn net.Conn, target string) error {
host, portStr, err := net.SplitHostPort(target)
if err != nil {
return err
}
port, err := strconv.Atoi(portStr)
if err != nil {
return errors.New("proxy: failed to parse port number: " + portStr)
}
if port < 1 || port > 0xffff {
return errors.New("proxy: port number out of range: " + portStr)
}
// the size here is just an estimate
buf := make([]byte, 0, 6+len(host))
buf = append(buf, proxy_socks5Version)
if len(s.user) > 0 && len(s.user) < 256 && len(s.password) < 256 {
buf = append(buf, 2 /* num auth methods */, proxy_socks5AuthNone, proxy_socks5AuthPassword)
} else {
buf = append(buf, 1 /* num auth methods */, proxy_socks5AuthNone)
}
if _, err := conn.Write(buf); err != nil {
return errors.New("proxy: failed to write greeting to SOCKS5 proxy at " + s.addr + ": " + err.Error())
}
if _, err := io.ReadFull(conn, buf[:2]); err != nil {
return errors.New("proxy: failed to read greeting from SOCKS5 proxy at " + s.addr + ": " + err.Error())
}
if buf[0] != 5 {
return errors.New("proxy: SOCKS5 proxy at " + s.addr + " has unexpected version " + strconv.Itoa(int(buf[0])))
}
if buf[1] == 0xff {
return errors.New("proxy: SOCKS5 proxy at " + s.addr + " requires authentication")
}
// See RFC 1929
if buf[1] == proxy_socks5AuthPassword {
buf = buf[:0]
buf = append(buf, 1 /* password protocol version */)
buf = append(buf, uint8(len(s.user)))
buf = append(buf, s.user...)
buf = append(buf, uint8(len(s.password)))
buf = append(buf, s.password...)
if _, err := conn.Write(buf); err != nil {
return errors.New("proxy: failed to write authentication request to SOCKS5 proxy at " + s.addr + ": " + err.Error())
}
if _, err := io.ReadFull(conn, buf[:2]); err != nil {
return errors.New("proxy: failed to read authentication reply from SOCKS5 proxy at " + s.addr + ": " + err.Error())
}
if buf[1] != 0 {
return errors.New("proxy: SOCKS5 proxy at " + s.addr + " rejected username/password")
}
}
buf = buf[:0]
buf = append(buf, proxy_socks5Version, proxy_socks5Connect, 0 /* reserved */)
if ip := net.ParseIP(host); ip != nil {
if ip4 := ip.To4(); ip4 != nil {
buf = append(buf, proxy_socks5IP4)
ip = ip4
} else {
buf = append(buf, proxy_socks5IP6)
}
buf = append(buf, ip...)
} else {
if len(host) > 255 {
return errors.New("proxy: destination host name too long: " + host)
}
buf = append(buf, proxy_socks5Domain)
buf = append(buf, byte(len(host)))
buf = append(buf, host...)
}
buf = append(buf, byte(port>>8), byte(port))
if _, err := conn.Write(buf); err != nil {
return errors.New("proxy: failed to write connect request to SOCKS5 proxy at " + s.addr + ": " + err.Error())
}
if _, err := io.ReadFull(conn, buf[:4]); err != nil {
return errors.New("proxy: failed to read connect reply from SOCKS5 proxy at " + s.addr + ": " + err.Error())
}
failure := "unknown error"
if int(buf[1]) < len(proxy_socks5Errors) {
failure = proxy_socks5Errors[buf[1]]
}
if len(failure) > 0 {
return errors.New("proxy: SOCKS5 proxy at " + s.addr + " failed to connect: " + failure)
}
bytesToDiscard := 0
switch buf[3] {
case proxy_socks5IP4:
bytesToDiscard = net.IPv4len
case proxy_socks5IP6:
bytesToDiscard = net.IPv6len
case proxy_socks5Domain:
_, err := io.ReadFull(conn, buf[:1])
if err != nil {
return errors.New("proxy: failed to read domain length from SOCKS5 proxy at " + s.addr + ": " + err.Error())
}
bytesToDiscard = int(buf[0])
default:
return errors.New("proxy: got unknown address type " + strconv.Itoa(int(buf[3])) + " from SOCKS5 proxy at " + s.addr)
}
if cap(buf) < bytesToDiscard {
buf = make([]byte, bytesToDiscard)
} else {
buf = buf[:bytesToDiscard]
}
if _, err := io.ReadFull(conn, buf); err != nil {
return errors.New("proxy: failed to read address from SOCKS5 proxy at " + s.addr + ": " + err.Error())
}
// Also need to discard the port number
if _, err := io.ReadFull(conn, buf[:2]); err != nil {
return errors.New("proxy: failed to read port from SOCKS5 proxy at " + s.addr + ": " + err.Error())
}
return nil
}

View File

@ -81,6 +81,7 @@ var _ Logger = &intLogger{}
// defined entirely by this package. // defined entirely by this package.
type intLogger struct { type intLogger struct {
json bool json bool
jsonEscapeEnabled bool
callerOffset int callerOffset int
name string name string
timeFormat string timeFormat string
@ -173,6 +174,7 @@ func newLogger(opts *LoggerOptions) *intLogger {
l := &intLogger{ l := &intLogger{
json: opts.JSONFormat, json: opts.JSONFormat,
jsonEscapeEnabled: !opts.JSONEscapeDisabled,
name: opts.Name, name: opts.Name,
timeFormat: TimeFormat, timeFormat: TimeFormat,
timeFn: time.Now, timeFn: time.Now,
@ -667,13 +669,17 @@ func (l *intLogger) logJSON(t time.Time, name string, level Level, msg string, a
} }
} }
err := json.NewEncoder(l.writer).Encode(vals) encoder := json.NewEncoder(l.writer)
encoder.SetEscapeHTML(l.jsonEscapeEnabled)
err := encoder.Encode(vals)
if err != nil { if err != nil {
if _, ok := err.(*json.UnsupportedTypeError); ok { if _, ok := err.(*json.UnsupportedTypeError); ok {
plainVal := l.jsonMapEntry(t, name, level, msg) plainVal := l.jsonMapEntry(t, name, level, msg)
plainVal["@warn"] = errJsonUnsupportedTypeMsg plainVal["@warn"] = errJsonUnsupportedTypeMsg
json.NewEncoder(l.writer).Encode(plainVal) errEncoder := json.NewEncoder(l.writer)
errEncoder.SetEscapeHTML(l.jsonEscapeEnabled)
errEncoder.Encode(plainVal)
} }
} }
} }

View File

@ -264,6 +264,9 @@ type LoggerOptions struct {
// Control if the output should be in JSON. // Control if the output should be in JSON.
JSONFormat bool JSONFormat bool
// Control the escape switch of json.Encoder
JSONEscapeDisabled bool
// Include file and line information in each log line // Include file and line information in each log line
IncludeLocation bool IncludeLocation bool

View File

@ -1,3 +1,13 @@
## v1.6.1
BUGS:
* Suppress spurious `os.ErrClosed` on plugin shutdown [[GH-299](https://github.com/hashicorp/go-plugin/pull/299)]
ENHANCEMENTS:
* deps: bump google.golang.org/grpc to v1.58.3 [[GH-296](https://github.com/hashicorp/go-plugin/pull/296)]
## v1.6.0 ## v1.6.0
CHANGES: CHANGES:

View File

@ -104,9 +104,9 @@ type Client struct {
// goroutines. // goroutines.
clientWaitGroup sync.WaitGroup clientWaitGroup sync.WaitGroup
// stderrWaitGroup is used to prevent the command's Wait() function from // pipesWaitGroup is used to prevent the command's Wait() function from
// being called before we've finished reading from the stderr pipe. // being called before we've finished reading from the stdout and stderr pipe.
stderrWaitGroup sync.WaitGroup pipesWaitGroup sync.WaitGroup
// processKilled is used for testing only, to flag when the process was // processKilled is used for testing only, to flag when the process was
// forcefully killed. // forcefully killed.
@ -756,8 +756,8 @@ func (c *Client) Start() (addr net.Addr, err error) {
// Start goroutine that logs the stderr // Start goroutine that logs the stderr
c.clientWaitGroup.Add(1) c.clientWaitGroup.Add(1)
c.stderrWaitGroup.Add(1) c.pipesWaitGroup.Add(1)
// logStderr calls Done() // logStderr calls c.pipesWaitGroup.Done()
go c.logStderr(runner.Name(), runner.Stderr()) go c.logStderr(runner.Name(), runner.Stderr())
c.clientWaitGroup.Add(1) c.clientWaitGroup.Add(1)
@ -767,9 +767,9 @@ func (c *Client) Start() (addr net.Addr, err error) {
defer c.clientWaitGroup.Done() defer c.clientWaitGroup.Done()
// wait to finish reading from stderr since the stderr pipe reader // wait to finish reading from stdout/stderr since the stdout/stderr pipe readers
// will be closed by the subsequent call to cmd.Wait(). // will be closed by the subsequent call to cmd.Wait().
c.stderrWaitGroup.Wait() c.pipesWaitGroup.Wait()
// Wait for the command to end. // Wait for the command to end.
err := runner.Wait(context.Background()) err := runner.Wait(context.Background())
@ -792,8 +792,10 @@ func (c *Client) Start() (addr net.Addr, err error) {
// out of stdout // out of stdout
linesCh := make(chan string) linesCh := make(chan string)
c.clientWaitGroup.Add(1) c.clientWaitGroup.Add(1)
c.pipesWaitGroup.Add(1)
go func() { go func() {
defer c.clientWaitGroup.Done() defer c.clientWaitGroup.Done()
defer c.pipesWaitGroup.Done()
defer close(linesCh) defer close(linesCh)
scanner := bufio.NewScanner(runner.Stdout()) scanner := bufio.NewScanner(runner.Stdout())
@ -1159,7 +1161,7 @@ func (c *Client) getGRPCMuxer(addr net.Addr) (*grpcmux.GRPCClientMuxer, error) {
func (c *Client) logStderr(name string, r io.Reader) { func (c *Client) logStderr(name string, r io.Reader) {
defer c.clientWaitGroup.Done() defer c.clientWaitGroup.Done()
defer c.stderrWaitGroup.Done() defer c.pipesWaitGroup.Done()
l := c.logger.Named(filepath.Base(name)) l := c.logger.Named(filepath.Base(name))
reader := bufio.NewReaderSize(r, c.config.PluginLogBufferSize) reader := bufio.NewReaderSize(r, c.config.PluginLogBufferSize)

View File

@ -56,6 +56,10 @@ https://github.com/klauspost/compress/pull/919 https://github.com/klauspost/comp
* flate: Add amd64 assembly matchlen https://github.com/klauspost/compress/pull/837 * flate: Add amd64 assembly matchlen https://github.com/klauspost/compress/pull/837
* gzip: Copy bufio.Reader on Reset by @thatguystone in https://github.com/klauspost/compress/pull/860 * gzip: Copy bufio.Reader on Reset by @thatguystone in https://github.com/klauspost/compress/pull/860
<details>
<summary>See changes to v1.16.x</summary>
* July 1st, 2023 - [v1.16.7](https://github.com/klauspost/compress/releases/tag/v1.16.7) * July 1st, 2023 - [v1.16.7](https://github.com/klauspost/compress/releases/tag/v1.16.7)
* zstd: Fix default level first dictionary encode https://github.com/klauspost/compress/pull/829 * zstd: Fix default level first dictionary encode https://github.com/klauspost/compress/pull/829
* s2: add GetBufferCapacity() method by @GiedriusS in https://github.com/klauspost/compress/pull/832 * s2: add GetBufferCapacity() method by @GiedriusS in https://github.com/klauspost/compress/pull/832
@ -93,6 +97,7 @@ https://github.com/klauspost/compress/pull/919 https://github.com/klauspost/comp
* s2: Add LZ4 block converter. https://github.com/klauspost/compress/pull/748 * s2: Add LZ4 block converter. https://github.com/klauspost/compress/pull/748
* s2: Support io.ReaderAt in ReadSeeker. https://github.com/klauspost/compress/pull/747 * s2: Support io.ReaderAt in ReadSeeker. https://github.com/klauspost/compress/pull/747
* s2c/s2sx: Use concurrent decoding. https://github.com/klauspost/compress/pull/746 * s2c/s2sx: Use concurrent decoding. https://github.com/klauspost/compress/pull/746
</details>
<details> <details>
<summary>See changes to v1.15.x</summary> <summary>See changes to v1.15.x</summary>
@ -560,6 +565,8 @@ the stateless compress described below.
For compression performance, see: [this spreadsheet](https://docs.google.com/spreadsheets/d/1nuNE2nPfuINCZJRMt6wFWhKpToF95I47XjSsc-1rbPQ/edit?usp=sharing). For compression performance, see: [this spreadsheet](https://docs.google.com/spreadsheets/d/1nuNE2nPfuINCZJRMt6wFWhKpToF95I47XjSsc-1rbPQ/edit?usp=sharing).
To disable all assembly add `-tags=noasm`. This works across all packages.
# Stateless compression # Stateless compression
This package offers stateless compression as a special option for gzip/deflate. This package offers stateless compression as a special option for gzip/deflate.

Some files were not shown because too many files have changed in this diff Show More