Библиотека для работы с VK API.
Основана на luvit.
- Работает на любой версии VK API.
- Полностью асинхронна.
- Умеет оптимизировать запросы к VK API.
- Умеет использовать несколько токенов.
- Для начала нужно установить luvit.
- Затем необходимо выполнить команду
lit install Laminariy/vk-luvit
local Bot = require("vk-luvit").Bot
local bot = Bot('Your token')
bot.on.message_new(function(event)
bot.api.messages.send({
peer_id = event.message.from_id,
random_id = 0,
message = event.message.text
})
end)
bot:run()
Создает и возвращает объект для запросов к VK API.
Параметры
token
string|table Токен или список токенов для взаимодействия. Если указать список токенов, то они будут использоваться по очереди.version
string (optional) Версия VK API. По умолчанию '5.131'.
Совершает запрос к VK API. Возвращает результат запроса, если он успешен, либо nil и ошибку.
Подробности о всех методах VK API здесь
Параметры
method
string Название метода который необходимо исполнить.params
table (optional) Таблица параметров запроса.
Создает и возвращает объект-обертку над VK. Позволяет использовать синтаксис языка для запросов.
Параметры
options
string|table Таблица параметров для апи. Либо строка/список токенов, если нужно оставить настройки по-умолчанию.options.token
string|table Токен или список токенов для взаимодействия. Если указать список токенов, то они будут использоваться по очереди.options.version
string (optional) Версия VK API. По умолчанию '5.131'.options.queued
boolean (optional) Если true, то все запросы будут собираться в очередь и использовать api.execute для оптимизации количества запросов. Позволяет совершать 500 запросов в секунду на один токен. По умолчанию - false.
Выполняет запрос к VK API, где method - название метода. Поддерживается как camelCase так и snake_case.
Подробности о всех методах VK API здесь
Параметры
params
table (optional) Таблица параметров запроса.
Пример
local API = require('vk-luvit').API
local api = API('Your token')
-- camelCase
api.groups.getById()
-- snake_case
api.groups.get_by_id()
Создает и возвращает объект-обертку над VK. Позволяет использовать синтаксис языка для запросов.
Параметры
options
string|table Таблица параметров для апи. Либо строка/список токенов, если нужно оставить настройки по-умолчанию.options.token
string|table Токен или список токенов для взаимодействия. Если указать список токенов, то они будут использоваться по очереди.options.version
string (optional) Версия VK API. По умолчанию '5.131'.options.queued
boolean (optional) Если true, то все запросы будут собираться в очередь и использовать api.execute для оптимизации количества запросов. Позволяет совершать 500 запросов в секунду на один токен. По умолчанию - false.
Запускает бота.
Останавливает бота. Известный баг: перед остановкой бот может совершить еще один запрос к VK API.
Доступ к объекту API бота.
Подписывает функцию-обработчик на событие от Bot LongPoll event_name - название события. Со списком всех событий VK API можно ознакомиться здесь
Так же доступен особый тип события 'all', который передает все поступившие события в функцию-обработчик.
Параметры
filter
function (optional) Обрабатывает поступившее событие и передает его функции-обработчику. Сигнатура функции filter(event). Функция должна вернуть результат, который будет обработан функцией-обработчиком, либо nil, если функцию-обработчик не нужно вызывать. По умолчанию используется функция, которая возвращает объект из события.func
function Функция-обработчик, которая будет вызвана, если фильтр обработал событие и вернул результат, отличный от nil. Сигнатура функции совпадает с результатом функции filter.
Создает объект клавиатуры. Подробнее о клавиатурах ботов здесь
Параметры
one_time
boolean (optional) Если true, клавиатура скроется после первого нажатия.inline
boolean (optional) Если true, клавиатура будет закреплена под сообщением.
Добавляет кнопку на клавиатуру.
Параметры
action
table Объект действия кнопки.color
string (optional) Цвет кнопки.
Добавляет ряд кнопок к клавиатуре.
Очищает клавиатуру.
Возвращает JSON клавиатуры для отправки вместе с сообщением.