Всё, что ниже, можно проделать руками и бесплатно - через официального бота Telegram и пару тестов в клиенте. Если аккаунтов десятки, руками это не масштабируется, и об этом будет отдельный раздел ближе к концу. Как мы вообще смотрим на риск блокировок - на отдельной странице, там же честный ответ, почему работу «без бана» не гарантирует никто.
Что такое заморозка аккаунта Telegram?
Официальное определение звучит так:
«If your account has been restricted because of reports from other users, your account is frozen. While frozen, you can still read your chats, but you cannot send messages or post content.»
«Если ваш аккаунт ограничен из-за жалоб других пользователей, он заморожен. Пока аккаунт заморожен, вы по-прежнему можете читать свои чаты, но не можете отправлять сообщения и публиковать контент».
Техническая спецификация добавляет к этому главное - то, чего в FAQ нет:
«Frozen accounts are in read-only mode, and invoking many methods will emit one of the following errors [...] Frozen accounts are deleted after a specific amount of time, unless an appeal is submitted and accepted.»
«Замороженные аккаунты находятся в режиме только для чтения, и вызов многих методов вернёт одну из следующих ошибок [...] Замороженные аккаунты удаляются через определённое время, если апелляция не подана и не принята».
Заморозка не висит вечно и не рассасывается сама. Это таймер до удаления, у которого есть одна кнопка паузы - апелляция.
В документации по прогреву мы пишем, что при серьёзном сигнале рискованные действия «замораживаются на сутки-двое, пока аккаунт не отлежится». Это про наш модуль: он сам придерживает аккаунт, чтобы тот не нарвался. К заморозке со стороны Telegram отношения не имеет. Дальше в статье «заморозка» - всегда про ограничение платформы.
Термины, которые встретятся ниже, разобраны отдельно: спамблок и отлёжка. Короткие определения там же, в глоссарии продукта - /docs/nachalo/glossariy/.
Чем заморозка отличается от спамблока?
Здесь и лежит главный пробел темы. Telegram описал оба состояния - у спамблока даже отдельная официальная страница, telegram.org/faq_spam. Но нигде не свёл их вместе, и границу читатель проводит сам.
Официальное определение спамблока:
«When users report unwanted messages from a Telegram account, we apply a limit: Reported accounts can only send messages to people who have their number saved as a contact.»
«Когда пользователи жалуются на нежелательные сообщения от аккаунта Telegram, мы применяем ограничение: аккаунты, на которые пожаловались, могут отправлять сообщения только тем, у кого их номер сохранён в контактах».
Разница в одном обороте: «only send messages to people who have their number saved» - «отправлять сообщения только тем, у кого сохранён их номер». Канал наружу сужен, но не перекрыт. У заморозки он перекрыт целиком.
| Признак | Спамблок | Заморозка |
|---|---|---|
| Ответить тому, кто написал первым | можно | нельзя |
| Написать взаимному контакту | можно | нельзя |
| Написать новому человеку | нельзя | нельзя |
| Войти на новом устройстве | можно | нет, новые сессии не создаются (наблюдение практиков) |
| Как выглядит профиль со стороны | обычный | как удалённый, со снежинкой перед надписью |
| Снимается само | временный - да, по жалобам и от антиспам-фильтра - нет | нет, никогда |
| Что будет, если ничего не делать | ограничение либо истечёт, либо останется | аккаунт удалят |
| Апелляция | только если ограничение ошибочное | обязательна, это единственный выход |
Строки про профиль и новую сессию - наблюдения отраслевого издания Telegram Info, а не официальная документация. Остальные строки подтверждены первоисточниками Telegram.
Как за минуту понять, что именно с аккаунтом?
- В тексте ошибки есть число секунд? Есть - это
FLOOD_WAITилиSLOWMODE_WAIT, и аккаунт здоров. Так выглядит ограничение скорости: аккаунт здоров. Подождите ровно столько, сколько назвал сервер. - Ошибка про чужие настройки приватности?
USER_PRIVACY_RESTRICTED- получатель закрыл добавление в группы. Ваш аккаунт здоров, разбираться надо с базой. - Попробуйте ответить тому, кто написал вам первым. Ответ ушёл - это спамблок. Не ушёл - заморозка или что-то тяжелее, идите дальше.
- Войдите с другого устройства. Новая сессия не создаётся, при этом старая спокойно читает чаты - заморозка.
- Что в конфиге? Если ваш софт умеет читать
help.getAppConfig, смотрите поляfreeze_since_date,freeze_until_dateиfreeze_appeal_url. У здорового аккаунта этих полей либо нет вовсе, либо они нулевые. Непустые значения - заморозка, официально и однозначно. Ключевое тутfreeze_until_date: это дедлайн, после которого аккаунт удаляют. - Код при входе не приходит, API отвечает
PHONE_NUMBER_BANNED? Забанен номер. До логина вы даже не доходите, так что с аккаунтом это уже не связано. USER_DEACTIVATED_BAN, код 401? Аккаунт уже удалён и забанен антиспам-системой. Восстанавливать нечего.- Ничего из перечисленного, но приходит
PEER_FLOOD? Спамблок. Идите в @SpamBot и смотрите, назвал ли он срок.
Шаг с @SpamBot стоит последним не случайно. По наблюдениям Telegram Info, данные бота отстают до суток в обе стороны, а время он называет в UTC. Так что «бот сказал, ограничений нет» и «ограничений нет» - разные утверждения.
Как выглядит чистый ответ бота, видно во встроенном клиенте: «Ваш аккаунт свободен от каких-либо ограничений».
Тот же разбор по шагам, уже применительно к нашему чекеру, - в документации, раздел проверка на бан и спам.
Пока аккаунт один, эти восемь шагов проходятся за минуту. На тридцати это уже полчаса - и то если ничего не перепроверять и никуда не отвлекаться. Менеджер аккаунтов в TeleSpace прогоняет проверку по всему списку разом и раскладывает парк по состояниям - рабочие, бан, заморожен, спамблок, ошибка прокси. Посмотреть, как это устроено.
Все состояния аккаунта в одной таблице
| Состояние | Что видит человек | Ошибка в софте | Снимается само | Апелляция |
|---|---|---|---|---|
| Заморозка | плашка с кнопкой апелляции, профиль как у удалённого | FROZEN_METHOD_INVALID | нет, дальше удаление | обязательна |
| Спамблок временный | пишет только взаимным контактам | PEER_FLOOD (400) | да, по истечении срока | только при ошибке |
| Спамблок по жалобам | то же самое, срок не назван | PEER_FLOOD (400) | нет | только при ошибке |
| Спамблок из коробки | те же симптомы сразу после регистрации | PEER_FLOOD (400) | зависит от типа | да, предусмотрена |
| Антиспам-фильтр группы | не пишет только в конкретные супергруппы | зависит от метода | нет | предусмотрен отдельный механизм |
FLOOD_WAIT | в клиенте обычно ничего | FLOOD_WAIT_X (420), есть число секунд | да, ровно через N секунд | не нужна |
USER_PRIVACY_RESTRICTED | инвайт не проходит на части базы | код 403 | вопрос неприменим | не нужна |
| Бан номера | код при входе не приходит | PHONE_NUMBER_BANNED (400) | нет | почти невозможна |
| Аккаунт удалён и забанен | входа нет | USER_DEACTIVATED_BAN (401) | нет | восстанавливать нечего |
Все формулировки ошибок - из официальной базы Telegram, core.telegram.org/api/errors.json. На человекочитаемой странице /api/errors описана только часть из них, поэтому машинную базу и стоит считать первоисточником.
Про «спамблок из коробки» - когда аккаунт приходит уже ограниченным - Telegram высказался прямо, и это меняет адресата многих претензий к продавцам аккаунтов:
«Some numbers may trigger an overly harsh response from our system, either due to their previous owners' activities or due to them being certain virtual/VOIP numbers.»
«Некоторые номера могут вызывать чрезмерно жёсткую реакцию нашей системы - либо из-за действий их предыдущих владельцев, либо потому, что это определённые виртуальные или VoIP-номера».
И тут важно, чего в формулировке нет: ни слова про «плохие диапазоны» и про операторов. Мы сами называем этот случай спамблоком по гео - и в проверке аккаунтов он идёт отдельным видом, - но платформенного определения у него нет. Официальных причин Telegram называет ровно две: прошлый владелец номера и виртуальная природа номера. Такой блок обычно снимается сам, если дать аккаунту отлежаться: сроки и признаки мы свели в таблице ограничений.
Отдельно про «теневой бан»: слова «shadow» нет ни на одной из проверенных официальных страниц Telegram - ни в обоих разделах FAQ, ни в спецификации, ни в базе ошибок. За термином почти всегда прячется одно из трёх - невидимость канала в поиске, срабатывание антиспам-фильтра в конкретной супергруппе или обычный спамблок, который человек не распознал. Фильтр в группах, кстати, документирован: он доступен супергруппам от 200 участников, и это число Telegram публикует в конфиге API.
Почему «Too many requests» не про скорость?
«The current account is spamreported, you cannot execute this action, check @spambot for more info.»
«На текущий аккаунт пожаловались как на спам, вы не можете выполнить это действие, проверьте @spambot для подробностей».
Ключевое слово - spamreported. На аккаунт пожаловались. Скорость тут ни при чём, и замедление не поможет: метка уже стоит. Сама документация Telethon описывает симптом честно, хотя текст ошибки этому противоречит:
«You should notice this by getting errors like PeerFloodError, which means you're limited, for instance, when sending a message to some accounts but not others.»
«Вы заметите это по ошибкам вроде PeerFloodError, что означает: вы ограничены - например, при отправке сообщения одним аккаунтам, но не другим».
Практический разделитель простой и работает без документации: у FLOOD_WAIT есть число секунд, у PEER_FLOOD его нет. Число есть - аккаунт здоров, подождите. Числа нет - ждать нечего, идите разбираться в @SpamBot.
Вторая половина той же путаницы - лимиты ботов, которые переносят на аккаунты. У ботов числа опубликованы официально: не более одного сообщения в секунду в один чат, не более 20 сообщений в минуту в группу, около 30 сообщений в секунду на массовых рассылках. У пользовательских аккаунтов через MTProto не опубликовано ни одного числа. Это разные системы с разными правилами, и ошибка выглядит по-разному: у ботов это HTTP 429, у аккаунтов - MTProto 420. Если в логе фигурирует 429, вы смотрите на бота.
За что замораживают аккаунты?
«Due to excessive abuse of the Telegram API, all accounts that log in using unofficial Telegram API clients are automatically put under observation to avoid violations of the Terms of Service.»
«Из-за чрезмерных злоупотреблений Telegram API все аккаунты, которые входят через неофициальные клиенты Telegram API, автоматически ставятся под наблюдение, чтобы избежать нарушений Условий использования».
Под наблюдением - значит порог срабатывания у такого аккаунта ниже, чем у обычного. Это касается любого софта для массовой работы, включая наш, и мы это не смягчаем: на странице о безопасности у нас отдельный блок о том, почему мы не обещаем работу «без бана».
Позиция разработчиков платформы ещё жёстче. В обсуждении на GitHub участник перечислил, чем пользуется рынок - тестовые аккаунты, прогретые аккаунты, купленные аккаунты, - и мейнтейнер официальной библиотеки TDLib ответил на весь список одной строкой:
«None of these is allowed by Telegram API ToS.»
«Ничто из этого не разрешено Условиями использования Telegram API».
Наблюдения практиков добавляют деталь, которой нет в документации. В треде библиотеки Telethon разработчик описал, что заморозка прилетает на активные действия: смену пароля двухфакторной защиты, изменение имени профиля, загрузку аватара, отправку сообщения. Пассивные вызовы - получить свои данные, прочитать сообщения - её не вызывали. Это наблюдение одного человека, а не документация, но оно логично стыкуется с официальным режимом «только чтение».
Ещё одно повторяющееся наблюдение из обсуждений разработчиков: заморозка прилетает почти сразу после входа через свой софт. В одном из них автор пишет, что его проект «реализует только метод авторизации и всё», - и аккаунт всё равно заморозили.
Что из этого следует практически: чем свежее аккаунт и чем раньше после входа он начинает активные действия, тем выше риск. Отсюда и практика: аккаунтам дают отлежаться, а активность наращивают постепенно.
Как подать апелляцию и чего при этом нельзя?
Порядок действий:
- Откройте аккаунт и найдите плашку с кнопкой апелляции. Замороженный аккаунт читает чаты, так что доступ у вас есть. Это официальный и основной путь - Telegram называет его «апелляция из приложения».
- Если у аккаунта спамблок - идите в @SpamBot. Он обслуживает оба сценария, но с разными вопросами.
- Прочитайте ответ бота внимательно. Названный срок означает, что ограничение временное и снимется само. Срок не назван, но упомянута антиспам-система - сработал фильтр в группе. Срок не назван и антиспам не упомянут - обычная модерация по жалобам, сама не снимется. Тип ответа бота и есть тип ограничения.
- Для бана, связанного с работой через API, пишите на
recover@telegram.orgи объясняйте своими словами, что вы делаете с API. - Ждите. Ускорить справедливое ограничение официально невозможно.
Последний пункт Telegram сформулировал сам, и цитата стоит того, чтобы её привести дословно:
«Q: I know I was wrong, please release me sooner! - We're sorry, but this is impossible. We value the inner peace of Telegram users too much.»
«Вопрос: Я знаю, что был неправ, снимите ограничение раньше! - Ответ: Извините, но это невозможно. Мы слишком ценим душевный покой пользователей Telegram».
И главное предупреждение для тех, у кого аккаунтов много:
«emails are checked by a human, so automatically generated emails will be detected and banned.»
«письма проверяет человек, поэтому автоматически сгенерированные письма будут выявлены и забанены».
Скрипт, который отправит сорок одинаковых писем, не разблокирует сорок аккаунтов. Он привезёт бан за сами письма. То же по смыслу относится к @SpamBot: там на входе капча и вопросы, рассчитанные на живого человека. Мы со своей стороны советуем подавать повторную апелляцию не чаще раза в два-три дня: по нашему опыту частые заявки грозят потерей авторизации. Это наша рекомендация, а не правило платформы - официального регламента по частоте обращений у Telegram нет.
Сколько длится заморозка?
У спамблока со сроками честнее - Telegram называет порядок величин прямо: первый раз «a few days or so», то есть несколько дней или около того; за повторы дольше, вплоть до «forever».
| Ограничение | Срок | Откуда цифра |
|---|---|---|
| Заморозка | персональный дедлайн до удаления | поле freeze_until_date, официально |
| Спамблок, первый раз | несколько дней | официальный Spam FAQ |
| Спамблок, повторный | дольше, вплоть до постоянного | официальный Spam FAQ |
| Спамблок из коробки | обычно снимается за несколько дней отлёжки | наблюдение практиков |
FLOOD_WAIT | ровно столько секунд, сколько назвал сервер | официально, в тексте ошибки |
Всё остальное, что ходит по обсуждениям в виде чисел - «180 секунд между инвайтами», «не больше 30 инвайтов на аккаунт», - ни одним официальным источником не подтверждено. Позиция обеих популярных библиотек тут совпадает. Telethon: «Nobody knows the exact limits for all requests» - «никто не знает точных лимитов для всех запросов». Pyrogram: «exact limits are unknown and can change anytime» - «точные лимиты неизвестны и могут измениться в любой момент». Наши собственные ориентиры по темпу мы и подаём как ориентиры, а не как правила: они собраны в разделе про безопасность и лимиты, а заводские значения полей - в таблице лимитов.
Почему софт может не понимать, что аккаунт заморожен?
Хронология простая. Первые замороженные аккаунты в боевой версии Telegram появились 31 марта 2025 года. Тип ошибки FROZEN_METHOD_INVALID влили в Telethon 26 мая. Между этими датами почти два месяца, и всё это время софт видел заморозку как безымянную ошибку и, в зависимости от кода обработки, либо падал, либо уходил в бесконечные повторы. В форке pyrofork этих типов не было ещё в августе 2025 года.
Вторая ловушка тоньше и опаснее. FLOOD_WAIT_X и FROZEN_METHOD_INVALID официально лежат в одном классе 420. Обработчик, написанный по схеме «поймал 420, поспал, повторил», на замороженном аккаунте уходит в вечный цикл: числа секунд у заморозки нет, ждать нечего, аккаунт сам не оживёт. Тем временем тикает таймер до удаления.
Различайте по наличию поля с числом секунд. Числовой код тут не помощник. В Telethon это e.seconds, в Pyrogram - e.value. И матчьте по строке типа ошибки: в одном из отчётов разработчиков тот же FROZEN_METHOD_INVALID пришёл с кодом 406, а не 420.
Третья мелочь, которая портит наблюдаемость: Telethon по умолчанию молча спит при задержках до 60 секунд. Ранние сигналы перегрева не попадают в логи, и первое, что вы узнаёте, - что аккаунт уже лёг. Если следите за парком, порог стоит снизить и логировать каждую задержку как метрику.
Что делать, когда аккаунтов десятки?
Три состояния из девяти вообще не про ваш аккаунт:
FLOOD_WAITс числом секунд - аккаунт здоров, это лимит скорости. Лечится темпом задачи; отлёжка тут лишняя.USER_PRIVACY_RESTRICTED- ошибка про чужие настройки приватности. Массовое срабатывание на инвайт-задаче говорит о качестве базы: вы приглашаете людей, закрывших добавление в группы. Лечится фильтрацией базы.- Антиспам-фильтр конкретной супергруппы - аккаунт не пишет только туда, где фильтр включён, а в остальных местах работает.
Порядок разбора парка:
- Прогоните проверку по всему списку целиком. Состояния распределены неравномерно: часть аккаунтов встанет на первом же тесте.
- Разложите на группы: рабочие, спамблок со сроком, спамблок без срока, заморозка, бан, ошибка прокси.
- Заморозку разбирайте первой - у неё таймер до удаления, и она единственная требует действия прямо сейчас.
- Спамблок со сроком отложите - он снимется сам, трогать его не нужно.
- Здоровые верните в работу, но на сниженном темпе: если легла часть парка, значит настройки задачи были слишком агрессивными для этих аккаунтов.
- Не грейте ограниченные. Прогрев рассчитан на набор доверия здоровым аккаунтом. При спамблоке действия в сторону невзаимных контактов просто не пройдут. При заморозке не пройдёт ничего. При активном фильтре в группе попытки дадут новые срабатывания.
Именно так устроена проверка в менеджере аккаунтов: она прогоняет весь список и показывает счётчики по состояниям в одном окне - сколько рабочих, сколько в бане, сколько заморожено, сколько в спамблоке, у скольких отвалился прокси. Дальше группу можно выделить и обработать целиком.
Семь действий, которые делают только хуже
- Долбить @SpamBot по расписанию, чтобы ускорить. На прямой вопрос «снимите ограничение раньше» Telegram в своём Spam FAQ отвечает так же прямо: это невозможно. Бот существует для ошибочных ограничений; ускорять справедливые он не умеет. Хуже того: если жалобы продолжают поступать, спамблок продлевается сам.
- Рассылать апелляции шаблоном по всему парку. Telegram предупредил об этом дословно: автоматически сгенерированные письма выявляют и банят.
- Удалить аккаунт и создать новый на том же номере. По наблюдениям Telegram Info, платформа переносит спамблок на новый аккаунт того же номера, и смена номера аккаунту со спамблоком тоже не помогает. Официального подтверждения этому нет, но цена проверки высокая: вы теряете возраст и историю - единственное, что работало в вашу пользу.
- Греть уже ограниченный аккаунт. Сначала диагностика, потом решение. Греть имеет смысл только то, что здорово.
- Писать обработчик повторов на любой код 420. В классе 420 лежат и
FLOOD_WAIT_X, иFROZEN_METHOD_INVALID. Схема «поймал 420, поспал, повторил» на замороженном аккаунте уходит в вечный цикл под тикающий таймер удаления. - Глушить задержки автосном библиотеки. Ранние сигналы перегрева не доходят до логов, и вы узнаёте о проблеме, когда парк уже лёг.
- Опираться на числа с форумов как на лимиты. Ни одно из них не подтверждено официально. Обе библиотеки прямо пишут, что точные лимиты неизвестны.
Есть ещё одна частая ошибка, уже на уровне выводов: переписать креатив и запустить заново. Telegram формулирует критерий иначе, чем принято думать: важно не что вы отправляете, а сочли ли это получатели нежелательным. Смена текста без смены логики отбора аудитории проблему не решает.
Как снизить вероятность, что это повторится?
Что реально влияет на исход:
- Возраст и отлёжка. Свежий аккаунт ограничивают первым, и по нашим наблюдениям самые опасные - первые 48 часов его жизни. Аккаунту нужно время, и ускорить возраст нечем.
- Плавный разгон вместо максимума с первого дня. У нас за это отвечает прогрев: аккаунт проходит пять фаз от Ф0 до Ф4, и на рабочую нагрузку его ставят только с Ф4. Профиль задаёт темп поведения, но не возраст. На аккаунте, которому сутки от роду, агрессивный профиль означает одно: он упрётся в ограничения быстрее.
- Чистая база. Жалобы получателей - самый быстрый триггер ограничения, а жалобы приходят с нецелевой базы.
- Уникальный слепок на аккаунт. Аккаунты с одинаковым отпечатком утягивают друг друга: ограничение по одному тянет остальных. Это чинит дубликатор сессий.
- Заводские настройки задержек - не рекомендация. В наших полях по умолчанию стоят 5-15 секунд, и мы прямо пишем в таблице лимитов, что это занижено: на практике между инвайтами ставят 80-160 секунд, между сообщениями 15-30.
- Наблюдаемость. Смотрите не только на число отправленных, но и на долю ответов и жалоб. Резкое падение ответов - сигнал остановиться до того, как прилетит ограничение.
Частые вопросы
Источники
- Telegram, официальный FAQ - определение заморозки и спамблока: telegram.org/faq
- Telegram, официальный Spam FAQ - сроки, причины, апелляция: telegram.org/faq_spam
- Telegram, официальный блог от 30 апреля 2025 - анонс заморозки: telegram.org/blog/group-calls-made-easy
- Telegram, спецификация MTProto - режим «только чтение» и поля заморозки: core.telegram.org/api/auth
- Telegram, база RPC-ошибок - дословные описания всех кодов: core.telegram.org/api/errors
- Telegram, конфигурация API - числовые лимиты, которые платформа публикует: core.telegram.org/api/config
- Telegram, правила использования api_id - наблюдение за аккаунтами и адрес апелляции: core.telegram.org/api/obtaining_api_id
- Документация Telethon - лимиты, ошибки, автосон: docs.telethon.dev/en/stable/concepts/errors.html
- Документация Pyrogram - flood wait и ограниченные аккаунты: docs.pyrogram.org/faq/how-to-avoid-flood-waits
- Обсуждение в репозитории TDLib - позиция мейнтейнера и процедура апелляции: github.com/tdlib/td/issues/3466
- Telegram Info - наблюдения практиков о заморозке: tginfo.me/frozen-account
- Telegram Info - наблюдения практиков о спамбане, ответах бота и переносе блокировки на новый аккаунт: tginfo.me/spamban
- Хабр, новость от 31 марта 2025 - первые замороженные аккаунты в боевой версии: habr.com/ru/news/896154
Разобрать один аккаунт можно руками и бесплатно. Парк - уже нет: пока вы проходите восемь шагов по тридцатому аккаунту, первые успевают уйти дальше по цепочке. Проверка на бан и спам в менеджере аккаунтов прогоняет весь список разом и раскладывает его по состояниям в одном окне. База - шесть модулей за ₽7 000 в месяц, прогрев и ещё три подключаются отдельно; состав и цены на странице тарифов. Попробовать можно в демо: 3 дня бесплатно, до оплаты.
