vksdk

package module
Version: v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2020 License: MIT Imports: 0 Imported by: 0

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
    • Возвращает готовые структуры
    • Возможность изменять HTTP клиент
  • Streaming API
    • Возвращает готовые структуры
    • Возможность изменять HTTP клиент
  • FOAF
    • Работает с пользователями и группами
    • Возвращает готовые структуры
  • VK Mini Apps
    • Проверка параметров запуска
    • Промежуточный http обработчик
  • Payments API
    • Обрабатывает уведомления о платежах
  • Скиллы Маруси
    • Готовые структуры и методы
    • Обработка запросов от Маруси

Установка

# 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.NewVK(token)

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

	// Инициализируем longpoll
	lp, err := longpoll.NewLongpoll(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.

Source https://github.com/SevereCloud/vksdk

Index

Constants

View Source
const Version = "1.10.0"

Version module.

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Source Files

Directories

Path Synopsis
api
Package api implements VK API.
Package api implements VK API.
errors
Package errors for api.
Package errors for api.
params
Package params for generating query parameters.
Package params for generating query parameters.
Package callback implements Callback API.
Package callback implements Callback API.
Package events for community events handling.
Package events for community events handling.
Package foaf wrapper for FOAF.
Package foaf wrapper for FOAF.
Package longpoll implements Bots Long Poll API.
Package longpoll implements Bots Long Poll API.
Package longpoll implements User Long Poll API.
Package longpoll implements User Long Poll API.
v3
Package wrapper implement User Long Poll API wrapper v3.
Package wrapper implement User Long Poll API wrapper v3.
Package marusia для создания скилла Маруси.
Package marusia для создания скилла Маруси.
Package object contains objects for VK.
Package object contains objects for VK.
Package payments implements Payments API.
Package payments implements Payments API.
Package streaming implements Streaming API.
Package streaming implements Streaming API.
Package vkapps for VK Mini Apps.
Package vkapps for VK Mini Apps.
Package internal unimportable Package internal unimportable
Package internal unimportable Package internal unimportable

Jump to

Keyboard shortcuts

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