vksdk

Golang module for working with VK API

MIT License

Stars
191
Committers
27

Bot releases are hidden (Show)

vksdk - v3.0.0 Latest Release

Published by SevereCloud 3 months ago

BREAKING CHANGE

Version API 5.199

Full Changelog: https://github.com/SevereCloud/vksdk/compare/v2.16.1...v3.0.0

vksdk - v2.17.0

Published by SevereCloud 4 months ago

What's Changed

  • feat: using go 1.21
  • docs: update links
  • deps: update golang.org/x/text to v0.16.0

Full Changelog: https://github.com/SevereCloud/vksdk/compare/v2.16.1...v2.17.0

vksdk - v2.16.1

Published by SevereCloud about 1 year ago

What's Changed

Full Changelog: https://github.com/SevereCloud/vksdk/compare/v2.16.0...v2.16.1

vksdk - v2.16.0

Published by SevereCloud over 1 year ago

What's Changed

Full Changelog: https://github.com/SevereCloud/vksdk/compare/v2.15.0...v2.16.0

vksdk - v2.15.0

Published by SevereCloud over 2 years ago

Changelog

31138d4 feat(api): add messages.startCall and messages.forceCallFinish
364b484 feat(api): add TestingGroup methods
4e5e665 feat(api): use Authorization Bearer
0cfb7ea feat(api): add ErrAuthAccessTokenHasExpired
b9dba27 feat(api): add ErrAuthAnonymousTokenIPMismatch
eee5f4c feat(vkapps): add Showcase Referral
2b5f8f2 fix(foaf): add ErrorStatusCode

vksdk - v2.14.1

Published by SevereCloud over 2 years ago

842f06e fix: BanInfo is reference type (fixed #199)
21e68d9 fix: CanDownload is int (fixed #201)

vksdk - v2.14.0

Published by SevereCloud over 2 years ago

Версия API в Callback и Bots Long Poll API

Теперь можно получить версию API в Callback и Bots Long Poll API с помощью функции events.VersionFromContext(ctx)

877a027 feat(event): add VersionFromContext

Пост ВКонтакте API

Прямые трансляции

Добавлены методы получения RTMP-адреса для трансляции видео и завершения трансляции

69e9790 feat: add video start & stop streaming
2ba1dab feat: add VideoLiveGetCategories

Блог VK о API прямых трансляций

vksdk - v2.13.1

Published by SevereCloud over 2 years ago

Changelog

932998f fix: close zstd Reader

vksdk - v2.13.0

Published by SevereCloud over 2 years ago

Поддержка MessagePack и zstd

Результат перехода с gzip (JSON) на zstd (msgpack):

  • в 7 раз быстрее сжатие (–1 мкс);
  • на 10% меньше размер данных (8 Кбайт вместо 9 Кбайт);
  • продуктовый эффект не статзначимый :(

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

VK API способно возвращать ответ в виде MessagePack. Это эффективный формат двоичной сериализации, похожий на JSON, только быстрее и меньше по размеру.

ВНИМАНИЕ, C MessagePack НЕКОТОРЫЕ МЕТОДЫ МОГУТ ВОЗВРАЩАТЬ СЛОМАННУЮ КОДИРОВКУ.

Для сжатия, вместо классического gzip, можно использовать zstd. Сейчас vksdk поддерживает zstd без словаря. Если кто знает как получать словарь, отпишитесь сюда.

vk := api.NewVK(os.Getenv("USER_TOKEN"))

method := "store.getStickersKeywords"
params := api.Params{
	"aliases":       true,
	"all_products":  true,
	"need_stickers": true,
}

r, err := vk.Request(method, params) // Content-Length: 44758 byte
if err != nil {
	log.Fatal(err)
}
log.Println("json:", len(r)) // json: 814231 byte

vk.EnableMessagePack() // enable MessagePack
vk.EnableZstd() // enable zstd

r, err = vk.Request(method, params) // Content-Length: 35755 byte
if err != nil {
	log.Fatal(err)
}
log.Println("msgpack:", len(r)) // msgpack: 650775 byte

0ed3f0c feat: api support MessagePack
15a6084 feat: api support zstd

Авторизация используя VK ID

VK ID — это единая платформа для авторизации и регистрации пользователей в разных сервисах экосистемы VK.

Для получения данных о пользователя, с фронтенда передайте payload

// В onAuthData callback-функции в аргументе data будет содержаться
// информация об авторизации
const onAuthData = (data:VKUserVisibleAuthResult) => {
  if (data.provider === "vk") {
    fetch('/accessToken', {
      method: 'POST',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(data.payload)
    });
  }

  console.log(data);
}

На бэкенде используйте json декодер.

func accessToken(w http.ResponseWriter, req *http.Request) {
	var payload vkid.SilentAuthPayload
	err := json.NewDecoder(req.Body).Decode(&payload)
	...
}

Чтобы получить данные пользователя с помощью Silent token вызовите метод AuthGetProfileInfoBySilentToken

p := params.NewAuthGetProfileInfoBySilentTokenBuilder()
p.Add(payload.Token, payload.UUID, "click")

r, err := vk.AuthGetProfileInfoBySilentToken(p.Params)

Для получения Access token вызовите метод vk.AuthExchangeSilentAuthToken

p := params.NewAuthExchangeSilentAuthTokenBuilder()
p.Token(payload.Token)
p.UUID(payload.UUID)

r, err := vk.AuthExchangeSilentAuthToken(p.Params)

aaa7499 feat: add SilentAuthPayload
db2c8e7 feat: add AuthGetProfileInfoBySilentToken method
b286e3d feat: add AuthExchangeSilentAuthToken method

Разное

c58c2c9 feat: MessagesTemplateElementCarousel add PhotoID (#171)
04b056b Fix parsing {failed: 1} response (by @Delorus)

vksdk - v2.12.0

Published by SevereCloud almost 3 years ago

Changelog

869811a Add oauth module

u := oauth.ImplicitFlowUser(oauth.UserParams{
	ClientID: 6888183,
	Scope:    oauth.ScopeUserPhotos + oauth.ScopeUserDocs,
})

image

50871ad Add marusia push

push := marusia.Push{
	PushText: "Hello, i am push",
	Payload:   payload,
}

image

bd2de0d Now go 1.16+

Fix

2e44a0d fix: PhotosSaveOwnerPhotoResponse.photo_src=false
image

47c4582 fix: BUG(VK): GroupsCountersGroup return []
image
See https://vk.com/bug341591

4917458 Fix passing callback requests without secret key (by @gaiaz-iusipov)

80326f2 refactor: change arg type in EventData(MessagesSendMessageEventAnswerBuilder) to interface{} (by @ZakharYA)

New errors

d7d8d41 add ErrMessagesPinExpiringMessage
5ac318f add ErrMessagesCantForwarded

New methods

0593eb5 VK.DefaultHandler make public
4297e6c GroupsLongPollServer add GetURL method

New constants

3a657ed vkapps add MobileIPad Platform
8f29374 vkapps add Widget Referral
990a87f vkapps add NotificationsAuto Referral

New fields

7ea3923 GroupsCountersGroup add Clips fields
5559c84 AccountAccountCounters add fields
db14df1 WallWallpost add fields
a814259 WidgetsWidgetComment add fields
4e2886e add WallWallpostHeader
d62e868 WallWallpost add Hash
45be342 VideoVideo add fields
16556dc Privacy update struct
ac6addf AccountInfo add VkPayEndpointV2
a887b39 MarketAddAlbumResponse add AlbumsCount
f4c4f07 AdsAccount add AdNetworkAllowedPotentially
e6c1227 add AdsMusician
18ec7d7 AppsApp add HasVkConnect
9745603 GroupsMarketInfo add MinOrderPrice
8825eeb WallWallpostToID add fields
f4f1a41 VideoVideo add fields
9cc563b StoriesStory add fields
6bde289 PhotosPhotoFull add OrigPhoto
c57525c MessagesChatPermissions add ChangeStyle
350db94 GroupsGroupSettings add fields
a4673aa GroupsGroup add Like
f4c5853 GroupsMarketInfo add IsHsEnabled
09630a7 MessagesMessage add MessageTag
bfb64f6 MessagesConversation add more fields

vksdk - v2.11.0

Published by SevereCloud almost 3 years ago

Changelog

dbfcef5 feat: add MarketSearchItems method
c9a8bfb Fixed an issue with raising wrong error in execute method
244ebff Update messages.go
9721ca5 Update messages.go

Marusia

8954f6f feat: marusia uploading picture
82516ba feat: marusia uploading audio
8bef614 feat: marusia add AudioPlayer
a6eb7c1 feat: marusia Deeplink
4fe4181 feat: marusia add EnableDebuging
1565b5a feat: marusia add Meta.Test field

New fields

6c1bbc4 feat: MarketMarketAlbum add IsMain and IsHidden
436f258 feat: VideoVideoFull add Trailer
2c04182 feat: MessagesChat add IsGroupChannel
8e427b1 feat: StoriesClickableSticker add CategoryID

New parameters

1a11fda feat: AccountGetCountersBuilder add UserID
47a512b feat: GroupsCreateBuilder add PublicSubcategory
319de49 feat: MarketAddAlbumBuilder add IsHidden
1799c9c feat: MarketAddToAlbumBuilder add ItemIDs
b589240 feat: MarketEditAlbumBuilder add IsHidden
9e9f0cc feat: MarketEditOrderBuilder add more parameters
8ebfa0e feat: MarketGetBuilder add NeedVariants
ebefe96 feat: MarketGetBuilder add WithDisabled
fc45e25 feat: MarketGetAlbumByIDBuilder add NeedAllItemIDs
ee0a5d1 feat: MarketSearchBuilder add NeedVariants
38ce45c feat: WallPostBuilder add more parameters
a0fcb35 Update params

New errors

ba9c254 feat: add photos.saveOwnerPhoto errors
4eabf41 feat: add ErrClientVersionDeprecated
32485c1 feat: add ErrIPNotAllowed
c1ebc35 feat: add ErrAnonymousTokenExpired
e3b8c03 feat: add ErrAnonymousTokenInvalid
b548b35 feat: add ErrMainAlbumCantHidden
4b21818 feat: add ErrMessagesAccessDonutChat
3314a5f feat: add ErrMessagesAccessWorkChat

vksdk - v2.10.0

Published by SevereCloud over 3 years ago

Changelog

85e0b43 feat: api version 5.131

New packages

460888a feat: new games module
c8ccd8c feat: new package marusia/ssml

Marusia

4ef0763 feat(marusia): Add new field
3947d5d feat(marusia): Add SpeakerAudio & SpeakerAudioVKID
306d0ad feat(marusia): Add NewMiniApp
a41fd2d feat(marusia): Add NewLink
1aa6124 feat: marusia add SSML field
b7ab2c5 feat: marusia state

New methods

8ae40be feat: add StoreAddStickersToFavorite method
b270b5c feat: add StoreRemoveStickersFromFavorite method
f533e49 feat: add StoreGetFavoriteStickers method

New fields

c1bdeb1 feat: MarketMarketItem add SKU field
5084a57 feat: UsersUser add CanCallFromGroup field
1dd3bd5 feat: MessagesMessage add IsSilent field
1c42bc8 feat: VideoRestriction add DisclaimerType field
24dd9b3 feat: PollsPoll add EmbedHash field
1f484bf feat: StoriesFeedItem add more fields
b28bbde feat: MarketSearchResponse add ViewType field
b29cbc3 feat: GroupsAddress add PlaceID field
020aa95 feat: MarketCurrency add Title field
4cbb490 feat: VideoVideoFiles add 2k and 4k fields
e972187 feat: StoriesSaveResponse add ExtendedResponse fields
6a2190c feat: MessagesChatPreview add IsMember field
03f9442 feat: MessagesConversationChatSettings add FriendsCount
e2effb7 feat: AccountPushConversationsItem add DisabledMentions

New errors

a827d6d feat: add ErrMarketGroupingItemsWithDifferentProperties
daf3bdc feat: add ErrMarketGroupingAlreadyHasSuchVariant
a959f7d feat: add ErrStickersNotPurchased
c37ec20 feat: add ErrStickersTooManyFavorites
57ec6cf feat: add ErrStickersNotFavorite
d673a48 feat: add ErrAdditionalSignupRequired
d99323b feat: add ErrMarketNotEnabled

Other

fd53737 feat: add callback remove function

vksdk - v2.9.2

Published by SevereCloud over 3 years ago

Changelog

0308a7e fix: VideoVideo.ContentRestricted is int
f7ba006 fix: PhotosPhotoAlbum.ID change type
2d88873 fix: UsersPersonal crutch

vksdk -

Published by SevereCloud over 3 years ago

Changelog

f2c22d5 fix: donut events type bugs

vksdk - v2.9.0

Published by SevereCloud almost 4 years ago

Chagelog

931a245 fix: MarketPrice add UnmarshalJSON
bbce989 Add VkClient to vkapps.Params
70c8510 Add CallEndState possible values
df458e2 Add messages.getIntentUsers method
46fc346 Add ErrUnknown*

vksdk - v2.8.0

Published by SevereCloud almost 4 years ago

Changelog

19ecca9 feat(callback): RetryAfter
84ef138 feat: add context support to bot longpolling (#150)

vksdk - v2.7.0

Published by SevereCloud almost 4 years ago

Changelog

cd071d0 feat: api version 5.126


4abdfb1 feat: add MessagesForward object

api.Params{
    ...
    "forward": object.MessagesForward{
        OwnerID:                1,
        PeerID:                 2,
        ConversationMessageIDs: []int{3},
        IsReply:                true,
        MessageIDs:             []int{4},
    },
}

fb4a22c feat: donut events

  • donut_subscription_create
  • donut_subscription_prolonged
  • donut_subscription_expired
  • donut_subscription_cancelled
  • donut_subscription_price_changed
  • donut_money_withdraw
  • donut_money_withdraw_error

266dc8f feat(callback): Add X-Retry-Counter

retryCounter := callback.RetryCounterFromContext(ctx)

New method

be96ba5 feat: donut methods

d8ee337 feat: add AdsCheckLink method
6bad370 feat: add AdsAddOfficeUsers method
0266cc0 feat: add AdsCreateAds method
04ad2ec feat: add AdsCreateCampaigns method
fa6a3af feat: add AdsCreateClients method
be44779 feat: add AdsCreateTargetGroup method
ed87d35 feat: add AdsCreateTargetPixel method
0e06e02 feat: add AdsDeleteAds method
9334987 feat: add AdsDeleteCampaigns method
66c483a feat: add AdsDeleteClients method
67e49a4 feat: add AdsCreateLookalikeRequest method
b8f0786 feat: add AdsGetTargetGroups method
72f49be feat: add AdsGetAds method
d037a71 feat: add AdsGetAdsLayout method

New fields

2ef7b8f feat: GiftsLayout add IsStickersStyle
6d77592 feat: WallPostBuilder add DonutPaidDuration
8ed3d8b feat: MessagesGetHistoryResponse add Conversations
a751679 feat: MessagesMessage add WasListened
87aae23 feat: MessagesMessage add PinnedAt
d1f0bee feat: WallWallpost add ShortTextRate
fe1d2be feat: WallWallpost add CarouselOffset
8ef0715 feat: WallWallpostToID add Donut
cd10b07 feat: MarketPrice add OldAmountText
a4cf85f feat: WallWallComment add Donut
59b9184 feat: add WallWallpostDonut

New errors

e05f7d9 feat: add ErrAdsLookalikeAudienceSaveAlreadyInProgress
1688277 feat: add ErrAdsLookalikeSavesLimit
8783cd6 feat: add ErrAdsRetargetingGroupsLimit
f21b77b feat: add ErrExecutionTimeout
8635d17 feat: add ErrAdsDomain...
4917e21 feat: add ErrAdsApplication...
1b97b3b feat: add ErrAdsLookalike...
7b179f0 feat: add AdsError
c952c8d feat: add ErrLikesReactionCanNotBeApplied
46e144d feat: add ErrUserBanned

vksdk - v2.6.1

Published by SevereCloud almost 4 years ago

Changelog

7342fdd fix: MessageEventObject.Payload type
c616373 fix: error pointer
eab8573 fix(longpoll-user): MessageFlag type
da5e36c fix: market false

vksdk - v2.6.0

Published by SevereCloud almost 4 years ago

Changelog

d1c469e feat: MessagesSendPeerIDs
4ac2442 feat: add ErrReactionCantApplied
706dfe6 feat: add podcast attachment
a3d480c fix(foaf): Person.Gender type
9b11b87 fix(longpoll-user): set User-Agent
09b08ed fix(longpoll-user): act=a_check

vksdk - v2.5.0

Published by SevereCloud about 4 years ago

Changelog

cfbf863 feat: Params add WithContext
568de48 feat: add AcceptedMessageRequest status
0297643 feat: VideoSaveBuilder add IsUnitedVideoUpload
34e15ce feat(vkapps): add more Referral
e4a92d5 animation_url in sticker object