Popularity
5.3
Growing
Activity
7.8
-
181
12
35
Programming language: Go
License: MIT License
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.
-
go-openai
OpenAI ChatGPT, GPT-3, GPT-4, DALL·E, Whisper API wrapper for Go -
telegram-bot-api
Golang bindings for the Telegram Bot API -
goamz
Popular fork of goamz which adds some missing API calls to certain packages. -
webhooks
:fishing_pole_and_fish: Webhook receiver for GitHub, Bitbucket, GitLab, Gogs -
githubql
Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql). -
twitter-scraper
Scrape the Twitter frontend API without authentication with Golang. -
geo-golang
Go library to access geocoding and reverse geocoding APIs -
lark
Feishu(飞书)/Lark Open API Go SDK, Support ALL Open API and Event Callback. -
openaigo
OpenAI GPT3/3.5 and GPT4 ChatGPT API Client Library for Go, simple, less dependencies, and well-tested -
go-lark
An easy-to-use SDK for Feishu and Lark Open Platform (Instant Messaging API only) -
go-trending
Go library for accessing trending repositories and developers at Github. -
hipchat (xmpp)
A golang package to communicate with HipChat over XMPP -
gostorm
GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. -
clarifai
DEPRECATED: please use https://github.com/Clarifai/clarifai-go-grpc -
simples3
Simple no frills AWS S3 Golang Library using REST with V4 Signing (without AWS Go SDK) -
hipchat
This project implements a Go client library for the Hipchat API. -
go-tgbot
Golang telegram bot API wrapper, session-based router and middleware -
cachet
Go(lang) client library for Cachet (open source status page system). -
google-play-scraper
Golang scraper to get data from Google Play Store -
ynab
Go client for the YNAB API. Unofficial. It covers 100% of the resources made available by the YNAB API.
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Promo
www.influxdata.com
Do you think we are missing an alternative of VK SDK for Golang or a related project?
README
VK SDK for Golang
VK SDK for Golang ready implementation of the main VK API functions for Go.
Features
Version API 5.131.
- 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/v2@latest
Use by
- A simple chat bridge: https://github.com/42wim/matterbridge
- Joe adapter: https://github.com/tdakkota/joe-vk-adapter
- Logrus hook: https://github.com/SevereCloud/vkrus
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
*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.