n8n-nodes-vkontakte-messages
v0.3.2
Published
VK (VKontakte) nodes for n8n: trigger and messages
Downloads
118
Maintainers
Keywords
Readme
VK Messages для n8n
Кастомный пакет нод для n8n, который позволяет:
- принимать сообщения во VK‑сообщество через Callback API (
VK Trigger); - отправлять сообщения и показывать “печатает…” через одну ноду (
VK Messages).
Пакет публикуется как n8n-nodes-vkontakte-messages.
Установка
Через npm в папку custom‑нод
- Создай папку для кастомных нод n8n (если ещё нет):
mkdir -p ~/.n8n/custom
cd ~/.n8n/custom- Установи пакет:
npm install n8n-nodes-vkontakte-messages- Убедись, что n8n смотрит в эту папку. Например, для Docker n8n:
services:
n8n:
image: n8nio/n8n
environment:
- N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom
volumes:
- ./n8n_data:/home/node/.n8n- Перезапусти n8n.
После перезапуска в панели нод появятся:
VK TriggerVK Messages- креды
VK API.
Настройка VK API (credentials VK API)
В n8n открой раздел Credentials и создай новые креды типа VK API:
- Access Token – токен сообщества или пользователя с правами на работу с сообщениями (
messages). - API Version – версия VK API, по умолчанию
5.199.
Эти креды будут использоваться и триггером, и нодой сообщений.
Настройка VK Callback API (сервер событий)
В VK зайди в настройки сообщества:
- Управление → Настройки → API → Callback API.
В n8n создай новый workflow и добавь ноду
VK Trigger.- Нажми на ноду и скопируй Production URL (или Test URL) – это будет адрес вебхука.
В VK:
- Во вкладке Серверы создай новый сервер.
- В поле Адрес сервера вставь URL вебхука из ноды
VK Trigger. - Сохрани.
VK покажет Код подтверждения (Confirmation code).
- Скопируй его.
- В ноде
VK Triggerзаполни поле Confirmation Code этим значением.
В VK нажми Подтвердить сервер.
- Нода ответит кодом подтверждения.
- Статус сервера станет “подтверждён”.
Во вкладке Типы событий включи как минимум:
- Входящие сообщения (
message_new).
- Входящие сообщения (
Теперь VK будет отправлять в n8n событие message_new при каждом новом сообщении в сообщество.
Нода VK Trigger
Задача: запускать workflow при новых сообщениях во VK‑сообщество.
Параметры:
- Confirmation Code – строка из настроек Callback API в VK.
Поведение:
- Если VK шлёт
type: "confirmation"– нода отвечает кодом подтверждения (для привязки сервера). - Для всех остальных событий:
- Нода отвечает
ok(как требует VK Callback API). - Если
type === "message_new", в workflow передаётся JSON, иначе – нет запуска.
- Нода отвечает
Выходные данные (Output ноды при message_new):
{
"type": "message_new",
"group_id": 123456789,
"object": { ...полный объект VK... },
"message": { ...вложенный объект сообщения из object.message... }
}Именно из message удобно брать:
peer_id– чтобы ответить пользователю/в чат;from_id– автор сообщения;text– текст сообщения;- другие поля VK (attachments и т.п.).
Нода VK Messages
Задача: одна нода для:
- отправки сообщений (
messages.send); - установки активности (
messages.setActivity– эффект “печатает…”).
Параметры ноды:
Operation
Send Message– отправка текста.Set Typing Activity– показать набор текста/аудио.
Peer ID
- ID пользователя или чата VK.
- Для ответа на входящее сообщение обычно:
={{ $json["message"]["peer_id"] }}если ноду подключать прямо послеVK Trigger.
Operation: Send Message
Дополнительные поля:
- Message – текст сообщения.
- Additional Fields:
Attachment– вложения в формате VK (например,photo123_456,doc123_789).Keyboard (JSON)– строка с JSON‑описанием клавиатуры.Disable Links Parsing– отключить парсинг ссылок.
Отправляется запрос:
POST https://api.vk.ru/method/messages.send- Параметры:
peer_idmessagerandom_id(генерируется автоматически)- плюс все дополнительные поля
access_tokenиvдобавляются из кредовVK API.
Ответ VK возвращается в json следующего item‑а.
Operation: Set Typing Activity
Дополнительные поля:
- Activity Type:
typing– “печатает…”audiomessage– “записывает голосовое сообщение”.
Отправляется запрос:
POST https://api.vk.ru/method/messages.setActivity- Параметры:
peer_idtypeaccess_tokenиvиз кредов.
Ответ VK также возвращается в json.
Пример простого сценария
Задача: поймать входящее сообщение в сообщество и ответить пользователю.
Воркфлоу:
- Нода
VK Trigger. - Следующая нода
VK Messages.
- Нода
В
VK Messages:- Operation:
Send Message - Peer ID:
={{ $json["message"]["peer_id"] }} - Message: например,
Спасибо за сообщение!.
- Operation:
Запусти workflow (Execute workflow), затем напиши в сообщество.
Сообщение от пользователя придёт в
VK Trigger, аVK Messagesотправит ответ.
Лицензия
MIT
