1.0.7 • Published 4 years ago

node-vk-bot-sdk v1.0.7

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

node-vk-bot-sdk

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

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

npm version install size npm downloads license: MIT

Установка

$ 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.eventstringТип полученного события
ctx.dataobjectПолученные данные в событии
ctx.group_idnumberID сообщества
ctx.event_idnumberID события
ctx.user_idnumberПсевдоним для ctx.from_id
ctx.from_idnumberID автора сообщения (ID затрагиваемого пользователя для других событий)
ctx.peer_idnumberID дилога (ID затрагиваемого пользователя события для других событий)
ctx.messagestringПреобразованный текст сообщения (пустая строка для других событий)
ctx.orig_messagestringОригинальный текст сообщения
ctx.client_infoobjectДанные о клиенте пользователя или стандартный объект
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
1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago