Почему бот ВКонтакте не отвечает в личных сообщениях
Бот ВКонтакте не отвечает по одной из пяти причин: выключены сообщения сообщества, не включён или не подтверждён Callback API, не подписаны типы событий, у ключа доступа нет прав на сообщения, отправка отклонена самим ВК. Первые четыре причины видны в настройках сообщества, пятая — в журнале ошибок API. Порядок проверки обязателен.
Молчание бота выглядит одинаково при любой поломке: человек написал в сообщество, ответа нет. Симптом один, причин пять, и лежат они на разных уровнях — от галочки в настройках сообщества до кода ответа ВК на отправку.
Поэтому разбор идёт сверху вниз — тем же порядком, каким разбирается молчание бота в МАКС. Сначала то, что отсекает все сообщения сразу, потом то, что ломает одну ветку сценария. Обратный порядок заканчивается правкой исправной логики.
Короткий ответ
- Причин пять, и порядок проверки обязателен. Сообщения сообщества → Callback API и подтверждение адреса → подписки на типы событий → права ключа доступа → отказ при отправке. Первые три рвут связь целиком, последние две — выборочно.
- Четыре из пяти проверок — в настройках сообщества, в разделах «Сообщения» и «Работа с API». Код при этом трогать не нужно.
- Самое обманчивое молчание — на подтверждении адреса. ВК ждёт строку подтверждения плоским текстом, а на остальные события — ответ
ok. Не получив их, он перестаёт присылать события, и в боте не появится ни одной записи. - Входящие и исходящие ломаются по-разному. Не подписан тип события — бот не узнаёт о сообщении. Нет прав у ключа — бот знает о сообщении, но ответить не может: ошибки 5 и 15 на каждый исходящий запрос.
- Часть жалоб поломкой не является. Ошибка 901 значит, что человек сам запретил сообщения от сообщества. При этом сообщество ВКонтакте может писать подписчику первым бессрочно: окна в 24 часа у ВК нет.
Причина 1. Сообщения сообщества выключены
Самая простая причина и самая частая у новых сообществ. Пока приём сообщений отключён, у сообщества нет кнопки «Написать сообщение», диалога не существует, и обсуждать поведение бота бессмысленно.
Проверяется в двух местах, а не в одном:
- Сообщения сообщества. Управление → Сообщения → приём сообщений включён.
- Возможности ботов. Тот же раздел, настройки для бота. Отдельный переключатель: он отвечает за клавиатуру, кнопки и приветственное сообщение. Бывает так: сообщения включены, возможности ботов нет, и бот отвечает текстом, но без кнопок. Со стороны это читается как «клавиатура сломалась».
Признак: кнопки «Написать сообщение» нет вообще либо бот отвечает, но кнопки не появляются. Если оба переключателя включены, а тишина осталась — идём дальше.
Причина 2. Callback API не включён или адрес не подтверждён
Callback API ВКонтакте — схема, по которой ВК присылает события на ваш адрес. Настраивается в разделе Управление → Настройки → Работа с API → Callback API. Ломается она в четырёх местах.
- Адрес не подтверждён. При сохранении ВК отправляет на адрес запрос типа
confirmation, и сервер обязан вернуть строку подтверждения из настроек — именно строкой, без кавычек и без обёртки в JSON. Ответ в виде JSON выглядит для человека правильным, а подтверждение не проходит. - Сервер не отвечает
ok. На все остальные события принимающая сторона должна ответитьokи ответить быстро, а тяжёлую работу делать после ответа. Если ответа нет, ВК повторяет доставку, а при затяжных отказах перестаёт присылать события вовсе и помечает сервер как неработающий. Точную политику повторов и предел времени ответа мы не замеряли, цифр не приводим: статус сервера в настройках надёжнее догадки. - Секретный ключ разошёлся. Если бот сверяет присланный
secretс тем, что у него в конфигурации, а в настройках сообщества ключ поменяли, события будут приходить и молча отбрасываться. Худший вид поломки: доставка работает, журнал ошибок пуст, бот глух. - Версия API в настройках. Она указывается там же, и структура события от неё зависит. Начиная с версии 5.103 сообщение в событии
message_newлежит внутриobject.message, а не прямо вobject. Бот, написанный под старую структуру, читает пустое место: событие пришло, обработчик его не понял и вышел без ошибки.
Отдельная развилка — Callback API и Long Poll: две разные схемы доставки. Бот, собранный под одну, не получит ничего, если в сообществе настроена другая. Как они делят события, если включить обе, мы не проверяли и строить на этом логику не советуем.
Признак причины 2: диалог в сообществе виден, в панели бота его нет — ни одной входящей записи.
Причина 3. Не подписаны типы событий
Включённый Callback API сам по себе не присылает ничего. Рядом с адресом стоит список галочек по типам событий, и по умолчанию отмечено не всё, что нужно боту.
- Входящее сообщение (
message_new). Без него не приходит ни одно сообщение от людей. Это первая галочка, которую проверяют. - Событие от кнопки (
message_event). Нужно для нажатий на inline-кнопки под сообщением. Типовой признак: текстом бот отвечает, а на кнопки не реагирует вообще. Виноват не сценарий, а неотмеченная галочка. - Разрешение и запрет сообщений (
message_allow,message_deny). Без них бот не знает, что человек разрешил или запретил писать ему, и пытается отправить сообщение туда, куда нельзя. - Исходящее сообщение (
message_reply). Нужно, если ответы оператора из интерфейса ВК должны попадать в вашу панель. Без подписки история в панели будет односторонней: вопросы есть, ответы оператора отсутствуют.
Признак: одни действия работают, другие нет. «Меню открывается, кнопки не нажимаются», «сообщения видно, ответы оператора не видно» — это почти всегда подписки, а не код, ровно как в Telegram, где бот не видит сообщения в группе до выдачи доступа.
Причина 4. У ключа доступа нет нужных прав
Ключ доступа сообщества — то, чем сервер бота обращается к API ВК. Права у него задаются при создании, и задним числом список прав не расширяется: ключ выпускают заново.
Что проверяем:
- Право на сообщения сообщества. Без него исходящие не уходят. Для отправки фотографий и файлов нужны свои права, поэтому бывает частичная поломка: текст доходит, вложения нет.
- Тип ключа. Групповой ключ и ключ пользователя — разные вещи. С пользовательским сообщение либо уходит от лица человека, либо не уходит совсем.
- Точное совпадение. Ключ должен совпадать посимвольно с тем, что лежит в настройках бота. Лишний пробел или перевод строки на конце при копировании — причина, которую находят последней, а надо бы первой.
- Перевыпуск. Старый ключ умирает сразу. Если ключ перевыпустили, а в боте остался прежний, бот замолкает в ту же минуту, хотя код не менялся.
Как выглядит в журнале: ошибка 5 — авторизация не прошла, ключ недействителен или отозван. Ошибка 15 — доступ запрещён, прав не хватает. Ошибка 100 — параметр пропущен или неверен.
Признак причины 4: входящие сообщения доходят и видны в панели, а каждый исходящий запрос падает с одной и той же ошибкой. Такую поломку видно в журнале.
Причина 5. Бот ответил, а сообщение не дошло
Самая неприятная группа. Сценарий отработал, отправка вызвана, а человек ничего не получил. Разбирается только по коду ответа, который ВК вернул на запрос отправки.
- Ошибка 901: человек запретил сообщения от сообщества. Поломки нет, это его настройка приватности. Лечится не ретраем, а тем, чтобы человек написал сам.
- Повторяющийся
random_id. При отправке передаётся обязательный уникальный номер, который защищает от дублей. Если бот передал один и тот же номер дважды, ВК считает второе сообщение повтором и не доставляет его. Ошибки при этом нет. Признак: из двух сообщений подряд доходит одно, и всегда первое. - Флуд-контроль: ошибки 6 и 9. Слишком частые запросы или один и тот же текст многим людям. Точных лимитов мы не замеряли, но поведение узнаваемое: первые сообщения рассылки уходят, дальше начинаются отказы.
- Битая клавиатура. Неверный JSON клавиатуры роняет весь запрос отправки: ошибка 100, сообщение не уходит целиком, вместе с текстом. По поведению бота этот отказ не виден, только в журнале, — у себя мы держим на него отдельное оповещение.
Проверка здесь одна: смотреть журнал исходящих запросов и код ответа ВК. Пока кода нет, любые рассуждения о «пропавшем сообщении» — угадывание.
Признак, причина, где проверить
| Признак | Вероятная причина | Где проверить |
|---|---|---|
| У сообщества нет кнопки «Написать сообщение» | приём сообщений выключен | Управление → Сообщения |
| Отвечает текстом, кнопки не появляются | выключены возможности ботов | настройки для бота в разделе «Сообщения» |
| Диалог в сообществе есть, в панели бота нет | адрес Callback API не подтверждён | статус сервера, ответ confirmation и ok |
| События приходили, потом перестали, код не менялся | сменился секретный ключ или сервер помечен неработающим | секретный ключ и статус сервера в настройках |
| Событие приходит, обработчик выходит без ошибки | версия API старше 5.103, поле object.message не читается | версия в настройках Callback API |
| Текст работает, inline-кнопки не реагируют | не подписан тип message_event | список типов событий |
| Входящие видны, каждый исходящий падает | у ключа нет прав или ключ перевыпущен | права и значение ключа доступа |
| Из двух сообщений доходит одно | повторяющийся random_id | журнал исходящих запросов |
| Не доходит конкретному человеку, ошибка 901 | человек запретил сообщения от сообщества | код ответа ВК на отправку |
| Сообщение с клавиатурой не уходит, без клавиатуры уходит | битый JSON клавиатуры, ошибка 100 | тело запроса отправки |
Бот ВК круглосуточно онлайн — что это на самом деле
Под «круглосуточно онлайн» обычно понимают не то, что влияет на ответы. Метка «онлайн» в шапке сообщества — это статус: он настраивается в разделе сообщений и выставляется через API. Он не бессрочный: его приходится обновлять, иначе сообщество снова показывается офлайн.
Главное: метка не отвечает на сообщения. Круглосуточная работа складывается из трёх других вещей.
- Сервер принимает события всегда. Упавший или перезагружающийся сервер не отвечает
ok, и ВК перестаёт присылать события. - Сценарий отвечает на любой текст, а не только на кнопки. Если единственное условие старта — нажатие кнопки, обычное «здравствуйте, сколько стоит» проваливается мимо сценария, и бот молчит при полной исправности.
- Ночной автоответ честный. Бот может сказать, что оператор ответит позже; способы и границы такого ответа мы разбирали на примере автоответчика в Telegram. Конкретных сроков ответа в тексты бота лучше не ставить.
Метка «онлайн» при молчащем боте хуже, чем её отсутствие. Человек видит «онлайн», ждёт ответа и получает тишину.
Во ВКонтакте писать первым можно бессрочно, окна 24 часа нет
Здесь ВК устроен удобнее остальных каналов, и это регулярно путают. Сообщество ВКонтакте может написать подписчику первым и делать это бессрочно. Окна в 24 часа у ВК нет: ограничение чужое и попало в разговоры по инерции. На живых диалогах мы это проверяли.
Практический вывод: если человек написал три дня назад и ответа не получил, ответить всё равно можно, диалог не закрывается по времени. Единственное препятствие — та же ошибка 901, когда человек сам запретил сообщения.
| Канал | Кто делает первый шаг | Ограничение |
|---|---|---|
| ВКонтакте | сообщество может написать подписчику первым | бессрочно, окна 24 часа нет; запрет со стороны человека даёт ошибку 901 |
| Telegram | человек нажал «Запустить» | рассылки по базе телефонов не существует, бот не найдёт человека по номеру |
| МАКС | человек начал диалог | писать первым нельзя; верификация профиля занимает несколько рабочих дней |
| Instagram* | человек — комментарий, реакция на сторис или кодовое слово | первый Директ после комментария уходит как Private Reply, попытка одна |
Правила первого шага по всем четырём каналам разобраны в статье о том, кто может написать клиенту первым. WhatsApp в России мы не продаём.
Чего делать не надо
Не перевыпускать ключ доступа первым делом. Шаг выглядит безобидным, но старый ключ умирает сразу: всё, что им пользовалось, замолкает без ошибок, и разбираться становится сложнее, чем было.
Не пересоздавать сообщество ради тишины. Вместе с сообществом уходят подписчики, история переписки и все ссылки, которые уже разошлись по сайту и рекламе. Ни одна из пяти причин выше пересоздания не требует.
Не править сценарий, пока не доказано, что событие пришло. Пока в журнале входящих нет записи, сценарий здесь ни при чём. Переписывать исправную логику — самый дорогой способ ничего не починить.
Не списывать молчание на «ВК глючит». Причин пять, и все они лежат в настройках сообщества, в правах ключа или в коде ответа на отправку. Пока список не пройден до конца, «виноват ВК» — догадка, а не диагноз.
Не искать спасения в «рассылке по номерам телефонов». Сообщество пишет первым подписчикам, а не произвольным людям по базе контактов. И массовая отправка одного текста быстро упирается во флуд-контроль: ошибки 6 и 9.
Не заказывать бота, если поток обращений маленький. Если в неделю приходит несколько сообщений, а поручить боту, кроме приветствия, нечего — тишину лечит живой человек в переписке, а не разработка. Бот начинает окупаться на потоке однотипных вопросов, оплат и заявок; на пяти сообщениях он остаётся расходом.
Что здесь из документации, а что из своей практики
Из своей практики — правило первого шага во ВКонтакте и оповещения на ошибки API ВК и на ошибки клавиатур.
По документации ВК для разработчиков — механика Callback API, подтверждение адреса, список типов событий, права ключа доступа, структура события с версии 5.103 и коды ошибок 5, 15, 100, 901, 6 и 9.
Откуда цифры. На 16 сентября 2026 года на движке ЭТОЧАТБОТ работают боты пользователей сервиса, а не заказные проекты агентства: Instagram* — 325 (176 активных), Telegram — 70 (54), вебчат — 16 (16), МАКС — 11 (8), ВКонтакте — 4 (4). Сценариев 366, кабинетов 323, диалогов 85 905, сообщений 445 524 с апреля 2026 года. Ботов ВКонтакте среди них мало, поэтому статистики поломок именно по ВКонтакте у нас нет — цифры выше про размер движка, а не про частоту причин. Другие разборы собраны в разделе про каналы.
Сколько стоит разобраться
Разработка у нас — от 20 000 ₽, поддержка — от 5 000 ₽ в месяц. Точную цифру называем после разбора задачи и всегда до начала работ. Что двигает смету на ботах вообще, разобрано в статье про то, сколько стоит разработка чат-бота.
Сроков мы не обещаем: иногда молчание лечится одной галочкой в настройках сообщества, иногда выясняется, что бот собран под старую структуру события и его надо переписывать — тогда начинается обычный разбор чужого кода. Поэтому порядок работы у нас один: сначала смотрим, потом считаем.
Если бот молчит прямо сейчас, напишите в @etoBotTeamBot и приложите два факта: с какого момента тишина и что менялось перед этим — ключ, сервер, настройки, версия API. Этих двух фактов обычно хватает, чтобы сузить список до одной-двух причин.
Частые вопросы
Почему бот ВК не отвечает в ЛС?
Причин пять, и проверяются они по порядку: выключен приём сообщений сообщества, не включён или не подтверждён Callback API, не подписаны нужные типы событий, у ключа доступа нет прав на сообщения, отправка отклонена самим ВК. Первые четыре причины видны в настройках сообщества, пятая — только в журнале исходящих запросов по коду ответа ВК.
Что делать, если бот в ВК не отвечает на сообщения?
Проверять сверху вниз. Сначала приём сообщений и возможности ботов в разделе «Сообщения», затем статус сервера Callback API, затем галочки типов событий, затем права и значение ключа доступа. Сценарий трогать последним: пока в журнале входящих нет записи о сообщении, логика бота к молчанию отношения не имеет.
Почему сообщество ВКонтакте не реагирует на нажатие кнопок?
Чаще всего не подписан тип события для кнопок — message_event. Признак узнаваемый: на обычный текст бот отвечает, на inline-кнопки не реагирует вообще. Вторая причина — выключенные возможности ботов в настройках сообщений: тогда клавиатура не появляется совсем. Третья — битый JSON клавиатуры, при котором запрос падает с ошибкой 100 и сообщение не уходит целиком.
Почему не доходят сообщения в ВК от бота?
Смотреть надо код ответа ВК на отправку. Ошибка 901 значит, что человек запретил сообщения от сообщества, — это его настройка, а не поломка. Ошибки 5 и 15 — недействительный ключ доступа или нехватка прав. Ошибки 6 и 9 — флуд-контроль при слишком частой отправке. Повторяющийся random_id гасит второе сообщение вообще без ошибки.
Как сделать бота ВК круглосуточно онлайн?
Метка «онлайн» в шапке сообщества — это статус, он выставляется через API и требует обновления, но на сообщения не отвечает. Круглосуточная работа складывается из другого: сервер всегда отвечает ВК ok, сценарий реагирует на любой текст, а не только на кнопки, и ночью работает честный автоответ. Метка «онлайн» при молчащем боте только вредит.
Может ли сообщество ВКонтакте написать клиенту первым?
Да, и бессрочно — окна в 24 часа у ВКонтакте нет. Единственное препятствие — запрет со стороны самого человека, он даёт ошибку 901 при отправке. Для сравнения: в Telegram и МАКС бот пишет только тому, кто начал диалог сам, а в Instagram* холодный Директ невозможен, легальны только ответ на комментарий, реакция на сторис и кодовое слово.
Сколько стоит починить бота ВКонтакте?
Разработка у нас начинается от 20 000 ₽, поддержка — от 5 000 ₽ в месяц; точную цифру называем после разбора задачи и до начала работ. Сроков не обещаем: молчание бывает лечится одной галочкой в настройках сообщества, а бывает упирается в переписывание обработчика под текущую версию API ВК. Смету считаем после того, как увидим бота и журналы.
Нужен бот, который делает это у вас?