Skip to content

Подключение группы VK

Модуль принимает входящие сообщения из группы ВКонтакте через Callback API и пересылает их в Telegram-группу поддержки. Ответы менеджеров доставляются пользователям обратно в ВКонтакте от имени сообщества.

Эндпоинт вебхука: POST /api/vk/bot

Предварительные требования

Перед подключением убедитесь, что проект развёрнут по одной из инструкций:

1. Настройка переменных окружения

Добавьте или обновите следующие переменные в файле .env:

env
VK_TOKEN=your_vk_group_access_token
VK_CONFIRM_CODE=your_vk_confirm_string
VK_SECRET_CODE=your_custom_vk_secret
ПеременнаяОписание
VK_TOKENКлюч доступа группы ВКонтакте
VK_CONFIRM_CODEСтрока подтверждения из настроек Callback API
VK_SECRET_CODEПроизвольный секретный ключ для верификации запросов от ВКонтакте

2. Получение данных в интерфейсе ВКонтакте

2.1. Создание ключа доступа

  1. Перейдите в Управление сообществом → Работа с API → Ключи доступа.
  2. Создайте новый ключ с правами:
    • Сообщения сообщества
    • Фотографии
    • Документы
  3. Скопируйте полученный ключ и укажите его в качестве значения VK_TOKEN в .env.

2.2. Настройка Callback API

Перейдите в Управление сообществом → Работа с API → Callback API.

Вкладка «Серверы»

  1. Укажите URL сервера: https://your-domain.com/api/vk/bot
  2. Выберите тип: Callback API.
  3. Укажите версию API: 5.131 или более новую.
  4. В поле Секретный ключ введите произвольное значение и скопируйте его в .env как VK_SECRET_CODE.

Вкладка «Настройки»

  1. Скопируйте Строку подтверждения и вставьте её в .env как VK_CONFIRM_CODE.

Вкладка «Типы событий»

  1. Активируйте события:
    • Входящее сообщение
    • Исходящее сообщение
  2. Сохраните настройки.

HTTPS обязателен

Убедитесь, что домен сервера доступен извне и обслуживается по HTTPS — иначе ВКонтакте не сможет отправить запрос на сервер.

После сохранения нажмите Подтвердить адрес сервера. Сервер должен вернуть строку из VK_CONFIRM_CODE — это подтвердит корректность настройки.

3. Проверка

  1. Напишите сообщение в группу ВКонтакте от имени обычного пользователя.
  2. Бот должен создать (или использовать существующую) тему в Telegram-группе и переслать туда полученное сообщение.
  3. Ответ менеджера из Telegram будет доставлен обратно в ВКонтакте от имени сообщества.

Чек-лист подключения

  • [ ] VK_TOKEN задан в .env
  • [ ] VK_CONFIRM_CODE задан в .env
  • [ ] VK_SECRET_CODE задан в .env
  • [ ] URL сервера указан в Callback API: https://your-domain.com/api/vk/bot
  • [ ] Адрес сервера подтверждён в интерфейсе ВКонтакте
  • [ ] События «Входящее сообщение» и «Исходящее сообщение» активированы
  • [ ] Тестовое сообщение из ВКонтакте появляется в Telegram-группе
  • [ ] Ответ менеджера из Telegram доставляется в ВКонтакте

Выпущено под лицензией MIT.