node-vk-bot-sdk
Небольшое SDK для создания чат-ботов с использованием Node.JS на платформе сообществ ВКонтакте.
Рекомендуется использовать с версиями VK API выше 5.103.
Установка
$ npm install node-vk-bot-sdk
или
$ yarn add node-vk-bot-sdk
Возможности
- Поддерживает работу с Callback событиями через Express/Koa или LongPoll
- Позволяет добавлять слушатели произвольных событий в сообществе
- Позволяет добавлять обработчики команд в сообщениях через RegExp или строки
- Поддерживает работу с присылаемой полезной нагрузкой и данными о клиенте
- Поддерживает установку middleware для всех получаемых событий
- Поддерживает настройку собственных обработчиков ошибок
Пример использования
const express = ;const VkBotSdk = ; const app = ; const sdk = group_id: 0 secret: '' confirmation: '' access_token: ''; const bot = sdk; bot; bot; app;appall'/callback' boteventsCallback; app;
Context API
Значение | Тип | Описание |
---|---|---|
ctx.event | string |
Тип полученного события |
ctx.data | object |
Полученные данные в событии |
ctx.group_id | number |
ID сообщества |
ctx.event_id | number |
ID события |
ctx.user_id | number |
Псевдоним для ctx.from_id |
ctx.from_id | number |
ID автора сообщения (ID затрагиваемого пользователя для других событий) |
ctx.peer_id | number |
ID дилога (ID затрагиваемого пользователя события для других событий) |
ctx.message | string |
Преобразованный текст сообщения (пустая строка для других событий) |
ctx.orig_message | string |
Оригинальный текст сообщения |
ctx.client_info | object |
Данные о клиенте пользователя или стандартный объект |
ctx.reply(text, attachment, keyboard) | function |
Отправляет ответ с текстом, вложениями и клавиатурой |
ctx.replyKeyboard(text, keyboard) | function |
Отправляет ответ с текстом и клавиатурой |
ctx.replyAttachment(attachment) | function |
Отправляет ответ только с вложениями |
ctx.replyCustom(params) | function |
Отправляет ответ с кастомными параметрами |
ctx.isKeyboardSupported() | function |
Возвращает информацию из client_info |
ctx.isInlineKeyboardSupported() | function |
Возвращает информацию из client_info |
ctx.isCarouselSupported() | function |
Возвращает информацию из client_info |