MCPcopy Index your code
hub / github.com/SevereCloud/vksdk

github.com/SevereCloud/vksdk @v3.3.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.3.1 ↗ · + Follow
6,098 symbols 15,827 edges 301 files 4,951 documented · 81% 2 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

VK SDK for Golang

PkgGoDev VK Developers codecov VK chat release license

VK SDK for Golang ready implementation of the main VK API functions for Go.

Russian documentation

Features

Version API 5.199.

  • API
  • 500+ methods
  • Ability to modify HTTP client
  • Request Limiter
  • Support zstd and MessagePack
  • Token pool
  • OAuth
  • Callback API
  • Tracking tool for users activity in your VK communities
  • Supports all events
  • Auto setting callback
  • Bots Long Poll API
  • Allows you to work with community events in real time
  • Supports all events
  • Ability to modify HTTP client
  • User Long Poll API
  • Allows you to work with user events in real time
  • Ability to modify HTTP client
  • Streaming API
  • Receiving public data from VK by specified keywords
  • Ability to modify HTTP client
  • FOAF
  • Machine-readable ontology describing persons
  • Works with users and groups
  • The only place to get page creation date
  • Games
  • Checking launch parameters
  • Intermediate http handler
  • VK Mini Apps
  • Checking launch parameters
  • Intermediate http handler
  • Payments API
  • Processes payment notifications
  • Marusia Skills
  • For creating Marusia Skills
  • Support SSML

Install

# go mod init mymodulename
go get github.com/SevereCloud/vksdk/v3@latest

Use by

Example

package main

import (
    "context"
    "log"

    "github.com/SevereCloud/vksdk/v3/api"
    "github.com/SevereCloud/vksdk/v3/api/params"
    "github.com/SevereCloud/vksdk/v3/events"
    "github.com/SevereCloud/vksdk/v3/longpoll-bot"
)

func main() {
    token := "<TOKEN>" // use os.Getenv("TOKEN")
    vk := api.NewVK(token)

    // get information about the group
    group, err := vk.GroupsGetByID(nil)
    if err != nil {
        log.Fatal(err)
    }

    // Initializing Long Poll
    lp, err := longpoll.NewLongPoll(vk, group[0].ID)
    if err != nil {
        log.Fatal(err)
    }

    // New message event
    lp.MessageNew(func(_ context.Context, obj events.MessageNewObject) {
        log.Printf("%d: %s", obj.Message.PeerID, obj.Message.Text)

        if obj.Message.Text == "ping" {
            b := params.NewMessagesSendBuilder()
            b.Message("pong")
            b.RandomID(0)
            b.PeerID(obj.Message.PeerID)

            _, err := vk.MessagesSend(b.Params)
            if err != nil {
                log.Fatal(err)
            }
        }
    })

    // Run Bots Long Poll
    log.Println("Start Long Poll")
    if err := lp.Run(); err != nil {
        log.Fatal(err)
    }
}

LICENSE

FOSSA Status

Extension points exported contracts — how you extend this code

Attachment (Interface)
Attachment interface. [14 implementers]
object/object.go
EventNewFunc (FuncType)
EventNewFunc struct.
longpoll-user/handler.go
MessageFlagsChangeHandler (FuncType)
MessageFlagsChangeHandler handler func for MessageFlagsChange.
longpoll-user/v3/wrapper.go
JSONObject (Interface)
JSONObject interface. [6 implementers]
object/object.go
MessageFlagsSetHandler (FuncType)
MessageFlagsSetHandler handler func for MessageFlagsSet.
longpoll-user/v3/wrapper.go
MessageFlagsResetHandler (FuncType)
MessageFlagsResetHandler handler func for MessageFlagsReset.
longpoll-user/v3/wrapper.go
NewMessageHandler (FuncType)
NewMessageHandler handler func for NewMessage.
longpoll-user/v3/wrapper.go
EditMessageHandler (FuncType)
EditMessageHandler handler func for EditMessage.
longpoll-user/v3/wrapper.go

Core symbols most depended-on inside this repo

RequestUnmarshal
called by 575
api/api.go
Handler
called by 60
events/events.go
NewFuncList
called by 59
events/events.go
ListEvents
called by 57
events/events.go
GroupIDFromContext
called by 56
events/context.go
Goroutine
called by 56
events/events.go
Error
called by 31
api/errors.go
Add
called by 28
api/params/auth.go

Shape

Method 2,955
Function 1,638
Struct 1,292
TypeAlias 187
FuncType 24
Interface 2

Languages

Go100%

Modules by API surface

api/params/groups.go414 symbols
api/params/photos.go292 symbols
api/params/messages.go258 symbols
api/params/market.go202 symbols
api/params/video.go188 symbols
api/params/ads.go185 symbols
api/params/wall.go180 symbols
api/params/newsfeed.go96 symbols
api/groups.go95 symbols
api/params/friends.go94 symbols
api/params/fave.go91 symbols
api/params/account.go85 symbols

Used by 2 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add vksdk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact