vksdk

package module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2020 License: MIT Imports: 0 Imported by: 2

README

VK SDK for Golang

Build Status Documentation VK Developers codecov VK chat release license

VK SDK for Golang готовая реализация основных функций VK API для языка Go.

English documentation

Возможности
  • API
    • Возвращает готовые структуры
    • Реализовано 400+ методов
    • Возможность изменять HTTP клиент
    • Ограничитель запросов
    • Загрузка файлов
  • Callback API
    • Поддерживает все события
    • Возвращает готовые структуры
  • Bots Long Poll API
    • Поддерживает все события
    • Возвращает готовые структуры
    • Возможность изменять HTTP клиент
  • User Long Poll API
    • Возвращает готовые структуры #44
    • Возможность изменять HTTP клиент
  • Streaming api #3
  • VK Mini Apps
    • Проверка параметров запуска
    • Промежуточный http обработчик
Установка
# go mod init mymodulename
go get github.com/SevereCloud/vksdk@latest
Пример
package main

import (
	"log"

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

func main() {
	token := "<TOKEN>" // рекомендуется использовать os.Getenv("TOKEN")
	vk := api.Init(token)

	// Получаем информацию о группе
	group, err := vk.GroupsGetByID(api.Params{})
	if err != nil {
		log.Fatal(err)
	}

	// Иницилизируем longpoll
	lp, err := longpoll.Init(vk, group[0].ID)
	if err != nil {
		log.Fatal(err)
	}

	// Событие нового сообщения
	lp.MessageNew(func(obj object.MessageNewObject, groupID int) {
		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)
			}
		}
	})

	// Запускаем Bots Longpoll
	log.Println("Start longpoll")
	if err := lp.Run(); err != nil {
		log.Fatal(err)
	}
}
Лицензия

FOSSA Status

Documentation

Overview

Package vksdk implements the basic VK API functions.

Directories

Path Synopsis
api
params
Package params for generating query parameters.
Package params for generating query parameters.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL