modulepackage
0.0.0-20200129183856-014d9b8adc96
Repository: https://github.com/go-vk-api/vk.git
Documentation: pkg.go.dev
# README
go-vk-api
Golang bindings for the VK API
Install
Install the package with:
go get github.com/go-vk-api/vk
Import it with:
import "github.com/go-vk-api/vk"
and use vk
as the package name inside the code.
Example
Full example with errors handling
package main
import (
"log"
"net/http"
"os"
"github.com/go-vk-api/vk"
lp "github.com/go-vk-api/vk/longpoll/user"
)
func main() {
client, _ := vk.NewClientWithOptions(
vk.WithToken(os.Getenv("VK_ACCESS_TOKEN")),
)
_ = printMe(client)
longpoll, _ := lp.NewWithOptions(client, lp.WithMode(lp.ReceiveAttachments))
stream, _ := longpoll.GetUpdatesStream(0)
for update := range stream.Updates {
switch data := update.Data.(type) {
case *lp.NewMessage:
if data.Text == "/hello" {
_ = client.CallMethod("messages.send", vk.RequestParams{
"peer_id": data.PeerID,
"message": "Hello!",
"forward_messages": data.ID,
"random_id": 0,
}, nil)
}
}
}
}
func printMe(api *vk.Client) error {
var users []struct {
ID int64 `json:"id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
}
_ = api.CallMethod("users.get", vk.RequestParams{}, &users)
me := users[0]
log.Println(me.ID, me.FirstName, me.LastName)
return nil
}
# Functions
NewClient initializes a new VK API client with default values.
NewClientWithOptions initializes a new VK API client with default values.
WithHTTPClient overrides the client http client with the specified one.
WithToken overrides the client token with the specified one.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
Client manages communication with VK API.
MethodError represents a VK API method call error.
# Type aliases
Option is a configuration option to initialize a client.
RequestParams are the params for invoking methods.