Popularity
4.8
Growing
Activity
8.0
Declining
108
9
21

Programming language: Go
License: MIT License
Tags: Bot     Third-party APIs     VK    
Latest version: v2.9.0

VK SDK for Golang alternatives and similar packages

Based on the "Third-party APIs" category.
Alternatively, view VK SDK for Golang alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of VK SDK for Golang or a related project?

Add another 'Third-party APIs' Package

README

VK SDK for Golang

Build Status 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

  • API
    • 400+ methods
    • Ability to change the request handler
    • Ability to modify HTTP client
    • Request Limiter
    • Token pool
  • 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
  • VK Mini Apps
    • Checking launch parameters
    • Intermediate http handler
  • Payments API
    • Processes payment notifications
  • Marusia Skills
    • For creating Marusia Skills

Install

# go mod init mymodulename
go get github.com/SevereCloud/vksdk/[email protected]

Use by

Example

package main

import (
    "context"
    "log"

    "github.com/SevereCloud/vksdk/v2/api"
    "github.com/SevereCloud/vksdk/v2/api/params"
    "github.com/SevereCloud/vksdk/v2/events"
    "github.com/SevereCloud/vksdk/v2/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


*Note that all licence references and agreements mentioned in the VK SDK for Golang README section above are relevant to that project's source code only.