Бот ВКонтакте

Сценарий отвечает в личных сообщениях сообщества и в беседах: принимает сообщения и вложения, шлёт текст, файлы и кнопки — как в Telegram, теми же нодами графа.

Подключение

  1. В сообществе включите Сообщения и Возможности ботов, затем получите ключ доступа сообщества (Управление → Работа с API → Ключи доступа) с правом «Сообщения».
  2. Заведите подключение вида VK в Настройки → Интеграции и вставьте ключ. Номер сообщества определяется автоматически — вводить его вручную не нужно.
  3. Откройте сценарий → вкладка Публикация → канал ВКонтакте, выберите сообщество и нажмите Опубликовать.

Callback-сервер регистрируется сам: платформа передаёт ВКонтакте адрес и секрет, отвечает на проверку владения и подписывается на нужные события. Long Poll не используется — сообщения приходят по HTTPS, и ничего опрашивать не требуется.

Триггеры

В личных сообщениях бот отвечает на каждое сообщение. В беседе — по упоминанию, по ответу на своё сообщение или по заданным фразам; всё остальное считается шумом и запуска не создаёт. Отдельно включаются события участников (кто вошёл и вышел).

Кнопки

Нода vk_keyboard отправляет клавиатуру: ряды кнопок с подписью, командой и цветом. Нажатие приходит событием, и граф читает trigger.vk.payload.command и args.

Клиент сообщает при каждом сообщении, умеет ли он рисовать кнопки. Если не умеет — клавиатура не отправляется, но текст доходит: иначе ВКонтакте отклонил бы сообщение целиком, и пользователь не получил бы ничего.

Диагностика

В панели канала есть проверка: она спрашивает у ВКонтакте, включены ли боты в сообществе, наш ли callback-сервер там зарегистрирован и совпадает ли набор событий. Начинайте с неё, если бот не отвечает.

История беседы

API ВКонтакте не отдаёт боту переписку за прошлое, поэтому история — это то, что бот записал сам, пока состоял в беседе. Запись включается отдельно и по умолчанию выключена; глубина хранения ограничена тарифом. С включённой записью работают ноды vk_history, vk_search и инструмент агента vk_tools.

Что дальше