node-vk-bot-sdk

A simple bot SDK for vk.com


Keywords
vk, bot, api, sdk, node.js, node
License
MIT
Install
npm install node-vk-bot-sdk@1.0.6

Documentation

node-vk-bot-sdk

Небольшое SDK для создания чат-ботов с использованием Node.JS на платформе сообществ ВКонтакте.

Рекомендуется использовать с версиями API выше 5.103.

Установка

$ npm install node-vk-bot-sdk

или

$ yarn add node-vk-bot-sdk

Возможности

  • Поддерживает работу с Callback событиями через Express/Koa или LongPoll
  • Позволяет добавлять слушатели произвольных событий в сообществе
  • Позволяет добавлять обработчики команд в сообщениях через RegExp или строки
  • Поддерживает работу с присылаемой полезной нагрузкой и данными о клиенте
  • Поддерживает установку middleware для всех получаемых событий
  • Поддерживает настройку собственных обработчиков ошибок

Пример использования

const express = require('express');
const { VkBotSdk } = require('node-vk-bot-sdk');

const app = express();

const sdk = new VkBotSdk({
    group_id: 0,
    secret: '',
    confirmation: '',
    access_token: ''
});

const bot = sdk.getCallback();

bot.command(/test/, (ctx, params) => {
    ctx.reply(`reply to ${ctx.from_id}`);
});

bot.defaultReply((ctx, params) => {
    ctx.reply('Default reply');
});

app.use(express.json());
app.all('/callback', bot.eventsCallback);

app.listen(8080);

Другие примеры работы

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