Библиотека для работы с VK API.
Основана на luvit.
- Работает на любой версии VK API.
- Полностью асинхронна.
- Умеет оптимизировать запросы к VK API.
- Умеет использовать несколько токенов.
- Для начала нужно установить luvit.
- Затем необходимо выполнить команду
lit install Laminariy/vk-luvitlocal 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.
Параметры
tokenstring|table Токен или список токенов для взаимодействия. Если указать список токенов, то они будут использоваться по очереди.versionstring (optional) Версия VK API. По умолчанию '5.131'.
Совершает запрос к VK API. Возвращает результат запроса, если он успешен, либо nil и ошибку.
Подробности о всех методах VK API здесь
Параметры
methodstring Название метода который необходимо исполнить.paramstable (optional) Таблица параметров запроса.
Создает и возвращает объект-обертку над VK. Позволяет использовать синтаксис языка для запросов.
Параметры
optionsstring|table Таблица параметров для апи. Либо строка/список токенов, если нужно оставить настройки по-умолчанию.options.tokenstring|table Токен или список токенов для взаимодействия. Если указать список токенов, то они будут использоваться по очереди.options.versionstring (optional) Версия VK API. По умолчанию '5.131'.options.queuedboolean (optional) Если true, то все запросы будут собираться в очередь и использовать api.execute для оптимизации количества запросов. Позволяет совершать 500 запросов в секунду на один токен. По умолчанию - false.
Выполняет запрос к VK API, где method - название метода. Поддерживается как camelCase так и snake_case.
Подробности о всех методах VK API здесь
Параметры
paramstable (optional) Таблица параметров запроса.
Пример
local API = require('vk-luvit').API
local api = API('Your token')
-- camelCase
api.groups.getById()
-- snake_case
api.groups.get_by_id()Создает и возвращает объект-обертку над VK. Позволяет использовать синтаксис языка для запросов.
Параметры
optionsstring|table Таблица параметров для апи. Либо строка/список токенов, если нужно оставить настройки по-умолчанию.options.tokenstring|table Токен или список токенов для взаимодействия. Если указать список токенов, то они будут использоваться по очереди.options.versionstring (optional) Версия VK API. По умолчанию '5.131'.options.queuedboolean (optional) Если true, то все запросы будут собираться в очередь и использовать api.execute для оптимизации количества запросов. Позволяет совершать 500 запросов в секунду на один токен. По умолчанию - false.
Запускает бота.
Останавливает бота. Известный баг: перед остановкой бот может совершить еще один запрос к VK API.
Доступ к объекту API бота.
Подписывает функцию-обработчик на событие от Bot LongPoll event_name - название события. Со списком всех событий VK API можно ознакомиться здесь
Так же доступен особый тип события 'all', который передает все поступившие события в функцию-обработчик.
Параметры
filterfunction (optional) Обрабатывает поступившее событие и передает его функции-обработчику. Сигнатура функции filter(event). Функция должна вернуть результат, который будет обработан функцией-обработчиком, либо nil, если функцию-обработчик не нужно вызывать. По умолчанию используется функция, которая возвращает объект из события.funcfunction Функция-обработчик, которая будет вызвана, если фильтр обработал событие и вернул результат, отличный от nil. Сигнатура функции совпадает с результатом функции filter.
Создает объект клавиатуры. Подробнее о клавиатурах ботов здесь
Параметры
one_timeboolean (optional) Если true, клавиатура скроется после первого нажатия.inlineboolean (optional) Если true, клавиатура будет закреплена под сообщением.
Добавляет кнопку на клавиатуру.
Параметры
actiontable Объект действия кнопки.colorstring (optional) Цвет кнопки.
Добавляет ряд кнопок к клавиатуре.
Очищает клавиатуру.
Возвращает JSON клавиатуры для отправки вместе с сообщением.