Аудит и реанимация брошенного бота
Разбираем брошенного бота: на чём он собран, какие доступы живы, что именно сломано и во что обойдётся починка. Проверка идёт по пяти слоям сверху вниз — доступы, токен, доставка входящих, сценарий, правила канала. Аудит — отдельная работа, без обязательства работать с нами дальше. В конце говорим прямо: чинить, подхватить как есть или собирать заново.
Коротко
- Проверяем пять слоёв по порядку: доступы, токен, доставка входящих, сценарий, правила канала. Порядок обязателен — первые три отсекают все сообщения сразу, последние два ломают отдельные ветки.
- Аудит — отдельная работа и не обязывает продолжать с нами. Отдельного прайса на разбор нет: считаем по задаче и называем цифру до начала работ.
- Работы после разбора идут по опубликованным ценам: починка и новая сборка — разработка от 20 000 ₽, дальнейшее ведение — поддержка от 5 000 ₽ в месяц.
- Срок восстановления заранее не называем: объём виден только после разбора. Поломка бывает и лишним пробелом в токене, и сценарием, запертым в чужом кабинете.
- Иногда правильный ответ — собрать заново, и мы это скажем. Признаков четыре, и при двух и более разбор старого обычно не окупается: новая сборка — это разработка от 20 000 ₽.
С чем приходят на аудит
Задача приходит в одной формулировке: «бот у нас есть, делали не вы, сейчас не работает — посмотрите». Иногда добавляют, что подрядчика не найти. Дальше начинается не программирование, а разбор: пока непонятно, на каком слое поломка, любая правка — угадывание за ваш счёт.
- Подрядчик исчез. Бот работает по инерции или уже молчит, а кто его собирал и где он живёт — неизвестно. Правки делать некому, выключать страшно.
- Доступов нет. Бота завёл уволившийся сотрудник или прежнее агентство. Аккаунт-создатель, кабинет канала, сервер и домен принадлежат разным людям, и ни одного из них не найти.
- Бот встречает клиентов ошибкой. Или молчит, или отвечает не всем, или теряет фото, или обрывается на середине сценария. Хуже тишины только бот, который от вашего имени отвечает прошлогодним прайсом.
- Непонятно, на чём собран. Чужой конструктор, чей-то сервер, папка со скриптами. От ответа на этот вопрос зависит, можно ли вообще что-то вытащить, и сколько будет стоить переезд.
- Нужно решение, а не диагноз. Владельцу нужен ответ на один вопрос: платить за починку или за новую сборку. Разбор нужен затем, чтобы этот ответ был с причиной, а не с общим «там всё плохо».
Пять слоёв проверки, порядок обязателен
Бот держится на пяти слоях, и молчит он одинаково при поломке любого из них. Поэтому слои проходят сверху вниз: первые три отсекают сообщения полностью, последние два ломают отдельные ветки. Разбор, начатый со сценария, чаще всего уходит в пустоту — сценарий исправен, а сообщение до него просто не дошло. Каждый слой с примерами разобран в статье бот есть, но не работает.
| Слой | Что проверяем | Как выглядит поломка |
|---|---|---|
| 1. Доступы | Аккаунт, которым создан бот. Кабинет канала. Сервер и домен: кто платит за машину и кто продлевает адрес | Бот молчит без единой ошибки в своём коде — сервер отключён за неоплату или домен уехал в пустоту |
| 2. Токен | Ключ в кабинете канала посимвольно против ключа в настройках бота, без лишнего пробела на конце. И не осталась ли где-то вторая работающая копия того же бота | Исходящие падают с ошибкой доступа, а входящие просто перестают приходить: копия со старым ключом не получает ошибки — она не получает ничего |
| 3. Доставка входящих | Адрес приёма, код ответа 200, время ответа, пропуски в журнале входящих. Для МАКС отдельно — доверенный российский корневой сертификат на сервере | «В кабинете канала диалог виден, в панели бота нет». Сценарий при этом исправен, править его бессмысленно |
| 4. Сценарий | Проход руками целиком, со стороны клиента, и отдельно каждый нетекстовый ввод: фото, видео, голосовое, документ, геопозиция, кнопка в старом сообщении | Код не падает, журнал чист, поведение неверное: вместо файла техническая пометка, вместо пересланного поста заглушка |
| 5. Правила канала | Что каналу вообще разрешено: кто делает первый шаг, какие отправки он не даст сделать ни при какой настройке | Поломки нет. Классика — «не пишет по базе телефонов»: рассылки по номерам в Telegram не существует, бот не найдёт человека по номеру |
В каждом канале ломается по-своему
Часть жалоб «бот не работает» — вообще не поломка: код исправен, ограничение лежит на стороне мессенджера, и про него не сказали при продаже. Поэтому в разбор входит сверка сценария с тем, что канал разрешает, и отдельный список того, что в этом канале ломается тихо.
| Канал | Кто делает первый шаг | Что смотрим в этом канале отдельно |
|---|---|---|
| Telegram | Человек нажал «Запустить». Рассылки по базе телефонов не существует: по номеру бот человека не найдёт | Доступ к аккаунту, которым бот создан в @BotFather; права в группах и каналах; настройка приватности — бот не видит сообщения в группе, пока ему это не разрешить |
| ВКонтакте | Сообщество может написать первым тому, кто разрешил сообщения, и бессрочно: окна в 24 часа у ВК нет, поэтому версия «перестало работать через сутки» ложная | Включены ли сообщения в сообществе, подключён ли сервер событий, отмечены ли нужные типы событий, не уехали ли права вместе со сменой администратора |
| МАКС | Только после того, как человек начал диалог сам | Доверенный российский корневой сертификат на сервере, верификация профиля на business.max.ru, ограничение на число ботов в профиле. Остальные причины тишины — в разборе почему бот в МАКС не отвечает |
| Instagram* | Написать первым нельзя. Легальных входов три: ответ на комментарий, реакция на сторис, кодовое слово в личных сообщениях | Чьё приложение на стороне Меты держит доступ к аккаунту: отключение на стороне прежнего подрядчика отзывает разрешение. И не сожжена ли единственная попытка Private Reply: повторная отправка её не вернёт, спасает публичная подсказка в комментариях |
| Чат на сайте | Человек открывает чат сам | Стоит ли код виджета на страницах и на всех ли: редизайн сайта и переезд на новую платформу ломают его молча |
Как идёт разбор и что вы получаете
Начинается всё с трёх фактов: какой канал, с какого момента тишина и что менялось перед ней — переезд сервера, смена токена, новый подрядчик. Этого обычно хватает, чтобы сузить поиск до одного-двух слоёв ещё до начала работ. Дальше собираем доступы, проходим слои сверху вниз до первой доказанной причины и пишем отчёт. Если журналов нет, заводим их прежде, чем чинить.
Отдельного прайса на аудит у нас нет, и это честнее выдуманной цифры: объём заранее не виден. Разбор считаем по задаче, а работы после него идут по опубликованным ценам — починка и новая сборка это разработка от 20 000 ₽, дальнейшее ведение — поддержка от 5 000 ₽ в месяц. Вилки по всем работам собраны на странице цены на разработку и поддержку ботов.
- Отчёт по слоям. Что проверено, что исправно, где поломка. С пометкой, какой факт взят из журналов, а какой из документации канала: степени уверенности разные, смешивать их нельзя.
- Карта доступов. Кто владелец бота, кто владелец приложения канала, кто платит за сервер и продлевает домен. Обычно это выясняется впервые за всё время жизни бота.
- Список находок, по каждой — что с ней делать. Отдельно правки, которые входят в поддержку бота, отдельно то, что считается разработкой.
- Решение: чинить, подхватить как есть или собирать заново. С названной причиной, а не с общим «там всё плохо».
- Право уйти с этим отчётом. Отчёт написан так, чтобы с ним можно было пойти к любому подрядчику: продолжать с нами вы не обязаны.
- Чего в отчёте не будет: обещанного срока, процентов роста заявок и сравнения с тем, как было до нас. Срок зависит от находок на первом слое, а проценты и сравнение нечем измерить, если статистика осталась в чужой платформе.
Когда честнее собрать заново
Иногда правильный ответ на просьбу починить — «не стоит», и мы его говорим. По отдельности признак ещё не приговор, два вместе — почти всегда новая сборка.
- Доступов нет и владельца не найти. Аккаунт, которым создан бот, утерян. Восстанавливать нечего: токеном распоряжается тот, у кого доступ к аккаунту-создателю, и это не настройка, а устройство канала.
- Логика заперта в чужом конструкторе без экспорта. Тексты и кнопки вытащить почти всегда можно, структуру сценария — далеко не везде. Что переезжает, а что собирается с нуля, разобрано на странице перенос бота на наш движок.
- Журналов нет и завести их некуда. Нет доступа к серверу, нет истории входящих, непонятно, что было вчера. Такой разбор обычно выходит дороже новой сборки, а результат заранее не назовёшь.
- Канал изменился или сменился. Логика построена на возможности, которой в канале нет. Частый случай — перенос бота из Telegram в МАКС: часть сущностей переезжает, часть собирается заново.
- И правило поверх всех четырёх: старого бота не выключают, пока новый не заработал. Telegram не отдаёт по API список тех, кто нажал «Запустить», — вместе с выключением теряются все, кто был подписан. В МАКС к этому добавляется своё: число ботов на верифицированный профиль ограничено, поэтому свободное место под нового бота проверяем до начала работ.
Когда аудит не нужен
Отказываемся мы примерно так же спокойно, как берёмся. Платить за разбор не за что вот в каких случаях.
- Причина известна заранее. Бот из трёх экранов замолчал в день переезда сайта или смены токена — тут нужна одна правка, а не разбор пяти слоёв. Считаем её по задаче и не продаём диагностику того, что уже понятно.
- Вы уже решили собирать заново. Если доступов нет и сценарий всё равно придётся переписать, разбор старого — оплаченная работа без результата. Сразу считайте новую сборку: это разработка от 20 000 ₽.
- Бот выключен, канал больше не нужен, и включать его не собираются. За разбор молчащего бота, которому не поручено ничего, платить не за что.
- У вас есть свой разработчик с доступами к серверу и журналам. Тогда мы нужны разве что на один конкретный слой — чаще всего на доставку входящих, — а не на весь разбор.
- Задача на самом деле в рассылке по купленной базе. Так не умеет ни один канал: в Telegram и МАКС бот пишет только после того, как человек начал диалог, во ВКонтакте сообщество напишет первым лишь тому, кто сам разрешил ему сообщения, в Instagram* написать первым нельзя вовсе, а WhatsApp мы в России не продаём. Аудит покажет то же самое, только за деньги.
Частые вопросы
Сколько стоит аудит чат-бота?
Бот не работает — с чего начинать проверку?
Почему бот молчит, а ошибок в логах нет?
Можно ли забрать бота у прежнего подрядчика?
Придётся ли после аудита заказывать работы у вас?
Когда бота дешевле пересобрать, чем починить?
Сколько времени займёт восстановление бота?
Что прислать, чтобы вы посмотрели бота?
Почитать по теме
Бот есть, но не работает: как мы разбираем чужой код
Брошенный бот редко сломан целиком: обычно отвалился один доступ, один токен или один вебхук. Проверка идёт сверху вниз — доступы, токен, доставка входящих, сценарий, правила канала. Пересобирать заново честнее в четырёх случаях: доступов нет, логика заперта в чужом конструкторе, журналов не осталось, канал сменился. Срок восстановления заранее не называется: объём работы виден только после разбора.
Почему бот в МАКС не отвечает: семь причин по порядку
Бот в МАКС молчит по одной из семи причин, и проверяются они по порядку: профиль без верификации, не выданный или отозванный токен, непринятый вебхук, отсутствие доверенного российского сертификата на сервере, диалог, который человек не начинал, выключенный бот и сценарий, не привязанный к каналу. Порядок важен: без верифицированного профиля и сертификата проверять сценарий бессмысленно.
Сколько стоит разработка чат-бота: четыре пути и честные вилки
Ответы на вопрос «сколько стоит бот» расходятся не из-за жадности рынка: словом «бот» называют четыре разные работы. Разработка в агентстве ЭТОБОТ — от 20 000 ₽, поддержка — от 5 000 ₽ в месяц, точная цифра называется после разбора задачи и до начала работ. Разберём все четыре пути и то, что двигает смету вверх и вниз.
Опишите задачу — пришлём схему и смету
Разберём, что должно происходить в переписке, и скажем прямо, нужен ли здесь бот. Цену и срок называем до начала работы.