govkbot alternatives and similar packages
Based on the "Third-party APIs" category.
Alternatively, view govkbot alternatives based on common mentions on social networks and blogs.
-
aws-sdk-go
AWS SDK for the Go programming language (In Maintenance Mode, End-of-Life on 07/31/2025). The AWS SDK for Go v2 is available here: https://github.com/aws/aws-sdk-go-v2 -
githubql
Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql). -
openaigo
OpenAI GPT3/3.5 and GPT4 ChatGPT API Client Library for Go, simple, less dependencies, and well-tested -
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. -
ynab
Go client for the YNAB API. Unofficial. It covers 100% of the resources made available by the YNAB API.
CodeRabbit: AI Code Reviews for Developers

Do you think we are missing an alternative of govkbot or a related project?
Popular Comparisons
README
Go VK bot package
This is simple VK.com bot API.
At 2019-03-01 VK was restrict messages.send for user_tokens. This bot can work with group_token, and access to chat members if has admin rights in chat. You can use v1.0.1 also, if you need only user_token access.
It can:
- Reply to messages (private and chat)
- Send greetings message when invited to chat
- Add and remove mutual friends
- Send notifies to admin
Installatioin:
Use go mod
For old Go versions you can also use
go get github.com/nikepan/govkbot/v2
For work you need get VK access token with rights: messages,friends,offline (see below).
Quickstart
package main
import "github.com/nikepan/govkbot/v2"
import "log"
var VKAdminID = 3759927
var VKToken = "efjr98j9fj8jf4j958jj4985jfj9joijerf0fj548jf94jfiroefije495jf48"
func helpHandler(m *govkbot.Message) (reply string) {
return "help received"
}
func startHandler(m *govkbot.Message) (reply govkbot.Reply) {
keyboard := govkbot.Keyboard{Buttons: make([][]govkbot.Button, 0)}
button := govkbot.NewButton("/help", nil)
row := make([]govkbot.Button, 0)
row = append(row, button)
keyboard.Buttons = append(keyboard.Buttons, row)
return govkbot.Reply{Msg: availableCommands, Keyboard: &keyboard}
}
func errorHandler(m *govkbot.Message, err error) {
log.Fatal(err.Error())
}
func main() {
//govkbot.HandleMessage("/", anyHandler)
//govkbot.HandleMessage("/me", meHandler)
govkbot.HandleMessage("/help", helpHandler)
govkbot.HandleAdvancedMessage("/start", startHandler)
//govkbot.HandleAction("chat_invite_user", inviteHandler)
//govkbot.HandleAction("chat_kick_user", kickHandler)
//govkbot.HandleAction("friend_add", addFriendHandler)
//govkbot.HandleAction("friend_delete", deleteFriendHandler)
govkbot.HandleError(errorHandler)
govkbot.SetAutoFriend(true) // enable auto accept/delete friends
govkbot.SetDebug(true) // log debug messages
// Optional Direct VK API access
govkbot.SetAPI(VKToken, "", "") // Need only before Listen, if you use direct API
me, _ := govkbot.API.Me() // call API method
log.Printf("current user: %+v\n", me.FullName())
// Optional end
govkbot.Listen(VKToken, "", "", VKAdminID)
}
Getting group token
Open group manage and select "Work with API"
Getting user token (most likely will not work for messages)
You need standalone vk app_id. You can use any app_id from https://vk.com/apps?act=wingames, for example 4775211 (Or you can create own app and get app_id on page https://vk.com/editapp?act=create (standalone app))
You can get token from you server ip with this node.js package: https://www.npmjs.com/package/vk-auth (you need login, pass and app_id)
To manual get token you need:
- Open in browser with logged in VK (you must use IP, where you want run bot)
https://oauth.vk.com/authorize?client_id={{app_id}}&scope=offline,groups,messages,friends&display=page&response_type=token&redirect_uri=https://oauth.vk.com/blank.html
- Copy token query parameter from URL string. Token valid only for IP from what you get it.
If you receive validation check (for example, you use ip first time)
{"error":{"error_code":17,"error_msg":"Validation required: please open redirect_uri in browser ...",
"redirect_uri":"https://m.vk.com/login?act=security_check&api_hash=Qwerty1234567890"}}
you can use https://github.com/Yashko/vk-validation-node.