Главная · Справка · Бот сообщества ВКонтакте молчит: чеклист

Бот сообщества ВКонтакте молчит: чеклист

У бота ВКонтакте две стороны, которые ломаются независимо: настройки сообщества (события не доходят до ЧБТ) и сценарий с тарифом (события доходят, ответа нет). Первый шаг — понять, на какой стороне обрыв, затем пройти чеклист этой стороны. Всё вместе — две минуты.

Шаг 0. Где обрыв: тест за 30 секунд

  1. С личной страницы (не от имени сообщества) откройте сообщения сообщества и отправьте любой текст, например «тест».
  2. В кабинете ЧБТ откройте раздел «Диалоги».
  • Сообщение появилось, ответа нет → события доходят, подключение работает. Смотрите чеклист «Сторона ЧБТ» ниже.
  • Сообщения нет → ВКонтакте не отправляет события или ЧБТ их отбрасывает. Смотрите чеклист «Сторона ВКонтакте».

Дополнительно нажмите «Проверить сценарий» в редакторе: тест-чат работает без ВКонтакте. Если там бот отвечает, а в сообществе нет, — сценарий исправен, дело в подключении.

Сторона ВКонтакте: события не доходят

Все пункты — в «Управлении» сообщества, нужны права администратора.

  1. «Сообщения» → «Сообщения сообщества: Включены». Выключены — у людей нет кнопки «Написать», Callback API не отправляет ничего.
  2. «Работа с API» → «Callback API» → адрес сервера. Должен быть https://app.chbt.io/webhook/vk/ID_канала — адрес показывается в «Каналах» после подключения. Если канал в ЧБТ удаляли и создавали заново, ID сменился, и старый адрес ведёт в пустоту: скопируйте новый и подтвердите сервер ещё раз.
  3. Статус сервера — «подтверждён». Не подтверждается — «Строка, которую должен вернуть сервер» из VK не совпадает с полем «VK: строка подтверждения» в ЧБТ. Сравните посимвольно, лишний пробел ломает проверку. Поле в ЧБТ правится только пересозданием канала — после него обновите адрес (п. 2).
  4. Вкладка «Типы событий». Отмечено «Входящее сообщение» (message_new) — без него бот не узнаёт о сообщениях. Для кнопок-веток отмечено событие нажатия callback-кнопки (message_event) — иначе кнопка «крутится» и ничего не происходит.
  5. «Секретный ключ». Строка в VK и поле «VK: секретный ключ» в ЧБТ совпадают. При несовпадении ЧБТ отвечает VK «ok» и молча отбрасывает запрос — со стороны ВКонтакте всё выглядит доставленным. Либо одинаковый секрет в обоих местах, либо пустой в обоих.
  6. «Версия API». Выберите самую новую версию из списка — ответы ЧБТ отправляет по версии 5.199. На версиях ниже 5.103 входящее сообщение приходит в старом формате, без поля message внутри события, и ЧБТ его пропускает — тишина без ошибок.

Сторона ЧБТ: событие пришло, ответа нет

  1. Права ключа доступа. Ключ создан в «Работа с API» → «Ключи доступа» с отмеченным «Сообщения сообщества». Без этого права событие доходит, а отправка ответа отклоняется: в «Диалогах» у ответа бота пометка «не доставлено». Поле токена в канале ЧБТ не редактируется, поэтому: создайте новый ключ с этим правом, подключите VK-канал в ЧБТ заново и впишите новый адрес в Callback API (п. 2). Старый канал удаляйте с оглядкой: вместе с ним из «Диалогов» пропадёт его переписка, контакты и теги останутся.
  2. Сценарий включён и есть вход для VK. «Сценарии» → на карточке сценария плашка «Включён», а не «Черновик»; включается он переключателем на карточке. Во ВКонтакте клиенты не набирают /start: триггер «Команда (/start)» срабатывает на кнопку «Начать», а она появляется, когда в «Настройках для бота» включены «Возможности ботов» и отмечено «Добавить кнопку «Начать»». Текст «здравствуйте, сколько стоит» ловят только «Ключевые слова» или «Любое сообщение» — без них бот отвечает на кнопку и молчит на слова.
  3. Лимит Бесплатного тарифа. 30 диалогов в месяц на бота по всем каналам вместе. Признак — новым собеседникам бот отвечает одной фразой «Лимит диалогов на бесплатном тарифе исчерпан» вместо сценария; с теми, кто уже писал в этом месяце, разговор продолжается. Тариф — в подзаголовке «Обзора», снимается в «Оплате»: Базовый — 650 ₽/мес.
  4. Диалог у оператора. Если в сценарии сработал блок «Оператор», бот в этом диалоге молчит намеренно, пока в «Диалогах» не нажать «Вернуть боту». Так бывает и с собственным тестовым диалогом владельца: после проверки блока «Оператор» диалог остаётся у оператора.

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

Симптом → куда смотреть

СимптомВероятная причинаПункт
Сервер в Callback API не подтверждаетсяСтрока подтверждения не совпадает или адрес с чужим ID2, 3
В «Диалогах» пусто, сервер подтверждёнНе отмечено «Входящее сообщение», секрет не совпал или старая версия API4, 5, 6
Сообщение в «Диалогах» есть, ответа нетКлюч без права на сообщения, сценарий выключен, лимит7, 8, 9
Отвечает на «Начать», молчит на текстНет триггера «Любое сообщение» / «Ключевые слова»8
Кнопка «крутится», ответа нетНе отмечено событие callback-кнопки или сценарий выключен4, 8
Новые собеседники получают одну фразу про лимитИсчерпаны 30 диалогов Free9
Молчит только у одного человекаДиалог у оператора или запрет сообщений от сообщества10

С какого аккаунта тестировать

Пишите сообществу с личной страницы — своей или коллеги. Ответы администратора из интерфейса ВКонтакте событий боту не создают, и сценарий их не видит. Для чистого теста нужна страница, которая сообществу ещё не писала: так проверяются и кнопка «Начать», и первое сообщение.

Как настраивалось подключение по шагам — в инструкции по подключению ВКонтакте; полный путь от ключа доступа до первого сценария с объяснением каждой настройки — в статье бот ВКонтакте для сообщества. Что бот умеет в этом канале — на странице чат-бота ВКонтакте. Аналогичные чеклисты: Telegram и MAX. Если сообщество ещё без бота — подключите его бесплатно: ВКонтакте входит в Бесплатный тариф.

Частые вопросы

Поменял ключ доступа — что обновить в ЧБТ?
Поле токена в канале не редактируется: подключите VK-канал в «Каналах» заново с новым ключом. У нового канала другой ID, поэтому в Callback API замените адрес сервера и подтвердите его ещё раз. Старый канал можно удалить, но вместе с ним из «Диалогов» пропадёт его переписка; контакты и теги останутся.

Бот отвечает на кнопку «Начать», но не на текст. Это поломка?
Нет. Кнопка «Начать» запускает триггер «Команда (/start)», а для обычного текста нужен триггер «Любое сообщение» или «Ключевые слова». Добавьте его в сценарий — во ВКонтакте люди пишут словами, а не командами.

В ВКонтакте написано «доставлено», а в ЧБТ ничего нет. Почему?
Так выглядит несовпадение секретного ключа: ЧБТ отвечает VK «ok» и отбрасывает запрос. Впишите одинаковый секрет в Callback API и в поле «VK: секретный ключ» — или оставьте пустым в обоих местах.

Создать бота бесплатно