npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-vkontakte-messages

v0.3.2

Published

VK (VKontakte) nodes for n8n: trigger and messages

Downloads

118

Readme

VK Messages для n8n

Кастомный пакет нод для n8n, который позволяет:

  • принимать сообщения во VK‑сообщество через Callback API (VK Trigger);
  • отправлять сообщения и показывать “печатает…” через одну ноду (VK Messages).

Пакет публикуется как n8n-nodes-vkontakte-messages.


Установка

Через npm в папку custom‑нод

  1. Создай папку для кастомных нод n8n (если ещё нет):
mkdir -p ~/.n8n/custom
cd ~/.n8n/custom
  1. Установи пакет:
npm install n8n-nodes-vkontakte-messages
  1. Убедись, что n8n смотрит в эту папку. Например, для Docker n8n:
services:
  n8n:
    image: n8nio/n8n
    environment:
      - N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom
    volumes:
      - ./n8n_data:/home/node/.n8n
  1. Перезапусти n8n.

После перезапуска в панели нод появятся:

  • VK Trigger
  • VK Messages
  • креды VK API.

Настройка VK API (credentials VK API)

В n8n открой раздел Credentials и создай новые креды типа VK API:

  • Access Token – токен сообщества или пользователя с правами на работу с сообщениями (messages).
  • API Version – версия VK API, по умолчанию 5.199.

Эти креды будут использоваться и триггером, и нодой сообщений.


Настройка VK Callback API (сервер событий)

  1. В VK зайди в настройки сообщества:

    • Управление → Настройки → API → Callback API.
  2. В n8n создай новый workflow и добавь ноду VK Trigger.

    • Нажми на ноду и скопируй Production URL (или Test URL) – это будет адрес вебхука.
  3. В VK:

    • Во вкладке Серверы создай новый сервер.
    • В поле Адрес сервера вставь URL вебхука из ноды VK Trigger.
    • Сохрани.
  4. VK покажет Код подтверждения (Confirmation code).

    • Скопируй его.
    • В ноде VK Trigger заполни поле Confirmation Code этим значением.
  5. В VK нажми Подтвердить сервер.

    • Нода ответит кодом подтверждения.
    • Статус сервера станет “подтверждён”.
  6. Во вкладке Типы событий включи как минимум:

    • Входящие сообщения (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_id
    • message
    • random_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_id
    • type
    • access_token и v из кредов.

Ответ VK также возвращается в json.


Пример простого сценария

Задача: поймать входящее сообщение в сообщество и ответить пользователю.

  1. Воркфлоу:

    • Нода VK Trigger.
    • Следующая нода VK Messages.
  2. В VK Messages:

    • Operation: Send Message
    • Peer ID:
      ={{ $json["message"]["peer_id"] }}
    • Message: например, Спасибо за сообщение!.
  3. Запусти workflow (Execute workflow), затем напиши в сообщество.

  4. Сообщение от пользователя придёт в VK Trigger, а VK Messages отправит ответ.


Лицензия

MIT