Диагноз 1. «Притормози» — и это вообще не наказание
Самое частое и самое безобидное. Telegram отвечает: подожди столько-то секунд. Бывает в двух видах:
- Медленный режим чата — свойство комнаты: здесь всем можно писать не чаще раза в N секунд. К вашему аккаунту это отношения не имеет.
- Ограничение темпа аккаунта — вы частите, площадка просит сбавить.
Ключевое: это регулировщик, а не приговор. Аккаунт здоров, ничего не «сгорело», через указанное время он работает как работал.
И вот здесь совершается самая обидная ошибка: несколько таких ответов подряд принимают за признак ограничения и вешают на аккаунт клеймо. Получается, что аккаунт наказан за то, что работал быстро, — и человек начинает лечить то, чего нет.
Правильная реакция ровно одна: подождать столько, сколько сказали, и с запасом — недождавшийся получает вдвое больше. У нас при таком ответе аккаунт просто выходит из круга — из текущего прохода по своему списку чатов: ни паузы, ни диагноза, ни отметки в здоровье. Чаты при этом не трогаются вовсе — виноват не чат.
Диагноз 2. Спам-ограничение — временное, но серьёзное
Аккаунту закрыли запись — обычно в публичные супергруппы. Личные сообщения при этом могут работать, что дополнительно путает картину.
Это состояние снимается само, но не за минуты: от часов до недель, в зависимости от истории аккаунта. Никакого действия от вас оно не требует, кроме одного — перестать долбиться.
Как узнать об ограничении заранее — и как не сделать хуже
Единственный способ спросить прямо — служебный бот Telegram. Он для этого и сделан, и само обращение к нему ничем не грозит. Опасно другое — как к нему обращаются.
Массовая проверка «одной кнопкой», когда команда уходит со всего флота — всех ваших рабочих аккаунтов — одинаковой пачкой, — это заявление, что сотня аккаунтов управляется из одной точки. Мы считаем, что именно такой почерк, а не сам бот, стоил в своё время массовых блокировок. Поэтому проверка идёт точечно, с паузами, и одному аккаунту такой вопрос задаётся не чаще раза в трое суток.
Две тонкости, которые видно только на живых данных:
- Ответ ищется по номеру нашего сообщения, а не по дате. В переписке со служебным ботом лежит вся история за годы, а часовые пояса клиента, сервера и площадки разъезжаются. Берётся только сообщение с номером больше нашего вопроса.
- Нет подтверждения, что вопрос ушёл, — значит мы не спрашивали. Это не формальность: при мёртвом прокси отправка проваливается молча, и «свежим ответом» оказывается прошлогодний ответ бота. Кабинет рисует новенькое ограничение, а рядом честно пишет «прокси не отвечает». Мы такое уже ловили — теперь несостоявшийся обмен считается отказом связи, а не диагнозом аккаунту.
И правило про сам ответ: незнакомая формулировка — это «неизвестно» плюс исходный текст перед глазами, а не наша догадка. Если бот сменит формулировку, человек увидит настоящий текст и разберётся сам.
Диагноз 3. Заморозка — единственное необратимое
Аккаунт переведён в режим «только чтение». Это не ограничение на время: если апелляция не подана, аккаунт удаляется к назначенной дате.
Восстановления замороженного аккаунта у нас нет. Заморозка терминальна, и мы не делаем вид, что это лечится настройкой.
Зато её можно увидеть, не тронув аккаунт. Обычная проверка «а могу ли я писать» здесь работает против вас: попытка отправки в таком состоянии сама по себе ухудшает положение. Но заморозка лежит открыто в конфигурации приложения — с датой начала, датой удаления и ссылкой на апелляцию. Это обычный запрос, который делает при старте любой клиент, и следов он не оставляет. Заморозку видно без единой отправки.
Про апелляцию — честно: бот подтверждает только приём обращения. Решение приходит позже и не через него. Слов «одобрено» и «отклонено» на экране быть не должно, потому что их нам никто не говорил.
Ещё два состояния, которые принимают за эти три
- Мёртвая сессия. Аккаунт жив, но вход недействителен — лечится только повторным входом, это управление аккаунтами. Отдельный подвид: два одновременных подключения к одной сессии, после чего площадка убивает её сама. Это, кстати, довод против «работы с одного аккаунта в двух местах».
- Мёртвый прокси. Снаружи неотличим от ограничения: сообщения не уходят. Разница в том, что аккаунт совершенно здоров. Правило простое: прежде чем вешать на аккаунт проблему, проверьте сам прокси.
| Состояние | Кто виноват | Пройдёт само? | Что делать |
|---|---|---|---|
| «Подожди N секунд» | темп или чат | да, минуты | ждать целиком и с запасом |
| Медленный режим | чат | да | отложить этот чат, остальные работают |
| Спам-ограничение | аккаунт | да, часы–недели | снять с записи, не долбиться |
| Мёртвая сессия | аккаунт | нет | войти заново |
| Заморозка | аккаунт | нет, никогда | апелляция, и та без гарантий |
| Мёртвый прокси | связь | нет | чинить прокси, аккаунт не трогать |
Правило, которое всё это связывает
Машина не ставит пауз. Она пишет три независимых признака — состояние сессии, наличие ограничения, состояние связи, — каждый из которых ставится своим источником и снимается своим.
Что поставлено автоматически — снимается автоматически. Единственное исключение — заморозка, потому что она необратима на стороне площадки, а не на нашей.
А пауза остаётся решением человека. Разница не косметическая: машинная пауза вынимала аккаунт из работы надолго, и владелец видел молчание без объяснения. Диагноз, записанный признаком, объясняет, что произошло, и снимается сам, когда причина ушла.
Честные границы
- Восстановления замороженного аккаунта нет. Ни у нас, ни у кого-либо ещё в виде функции.
- Проверка ограничения идёт по требованию, а не по расписанию. Фонового обхода флота нет — значит, у части аккаунтов состояние просто не проверялось, и это должно быть видно отдельным числом, а не выдаваться за «всё чисто».
- Срок снятия ограничения мы не выдумываем. Если площадка даты не назвала — пишем «срок не назван», а не подставляем свою оценку.
- Апелляция вердикта не даёт. Подтверждается только приём обращения.
Порядок диагностики, если запоминать по шагам
- Проверьте связь. Прокси жив? Мёртвый прокси имитирует любой из диагнозов выше.
- Проверьте сессию. Вход действителен? Не подключались ли этим аккаунтом откуда-то ещё?
- Проверьте заморозку — конфигурацией, а не отправкой. Это единственная проверка, которую нельзя делать «на живую».
- Спросите про ограничение у служебного бота — точечно, а не всем флотом сразу.
- И только теперь смотрите на чаты. Если предыдущие четыре пункта чисты, а сообщение не ушло — вот тогда дело в чате.
Этот порядок — не наша выдумка и не «лучшая практика из статьи». Это порядок, в котором ошибки разбирает наш собственный код: сначала всё, что может быть про аккаунт и связь, и только в конце — про чат.