Почему вылетает аккаунт: ошибки сессии
Каждый вход в Telegram — это отдельная сессия со своим ключом. Когда сессия перестаёт действовать, приложение выкидывает на экран входа, а программы получают одну из ошибок из официального списка:
| Ошибка | Что случилось |
|---|---|
| SESSION_REVOKED | сессию завершили — например, кнопкой «завершить все другие сеансы» |
| AUTH_KEY_UNREGISTERED | ключ сессии больше не зарегистрирован на сервере |
| SESSION_EXPIRED | срок действия входа истёк |
| AUTH_KEY_DUPLICATED | одну сессию использовали из двух мест одновременно |
| USER_DEACTIVATED | аккаунт удалён или деактивирован |
Первые четыре — это вылет сессии, а не бан: на аккаунт можно войти заново по номеру. Последняя означает, что аккаунта больше нет. Если аккаунт работает, но не может писать незнакомым, — это другое, см. гайд про спамблок.
Одна сессия в двух местах
Самая частая причина вылета у тех, кто работает с файлами сессий. Если один и тот же ключ одновременно подключается из двух мест — двух программ, двух серверов, программы и копии на другом компьютере, — сервер отвечает AUTH_KEY_DUPLICATED и аннулирует сессию. После этого нужен новый вход по номеру.
Правило простое: одна сессия — одно место. Нужен доступ из второго места — войдите там заново, это будет отдельная сессия. Подробнее о файлах сессий — в гайде про tdata и .session.
Правило 24 часов
Сессия, которой меньше суток, не может завершать другие сессии аккаунта. Сервер вернёт ошибку FRESH_RESET_AUTHORISATION_FORBIDDEN, а приложение попросит подождать. Так Telegram защищает владельца: если кто-то получил код и вошёл, он не сможет сразу выкинуть настоящего хозяина.
На практике это значит: если вы только что вошли на новом устройстве, выйти из старых сессий получится только через сутки. Сменить облачный пароль с такой сессии тоже обычно не дают.
Вход с нового устройства
Когда на аккаунт входят с нового устройства, остальные сессии получают уведомление и вопрос «это вы?». Ответ «нет» сразу завершает новую сессию. Если не ответить, сессия подтверждается сама через несколько дней — в примере конфигурации из документации это 7 дней.
Если вы не узнаёте вход — отвечайте «нет» и меняйте облачный пароль.
Удаление неактивного аккаунта
Аккаунт, в который долго никто не заходил, Telegram удаляет сам. Срок по умолчанию — 18 месяцев, в настройках конфиденциальности его можно поменять: 1, 3, 6, 12, 18 или 24 месяца.
Отдельно можно включить автозавершение неактивных сессий — от недели до года. Если аккаунт открыт только в программе, которая заходит редко, проверьте, что эти сроки вас не подведут.
Сообщения «аккаунт будет заблокирован»
Telegram отправляет коды входа только в служебный чат «Telegram» с синей галочкой. Код нельзя сообщать никому — если переслать его в другой чат, сервер сам его аннулирует.
Поэтому любое сообщение вида «ваш аккаунт будет заблокирован, подтвердите код» или «перейдите по ссылке, чтобы избежать удаления» — от незнакомого аккаунта, бота или с чужого сайта — почти наверняка мошенничество. Настоящие ограничения Telegram показывает в самом приложении и через @SpamBot, а не просит прислать код.
Как посмотреть и завершить активные сессии
Список всех входов — в разделе «Настройки → Устройства» (на некоторых платформах — «Конфиденциальность → Активные сеансы»). Там видно устройство, приложение, страну и время последней активности, а также кнопка «Завершить все другие сеансы».
Что защищает облачный пароль, а что нет
Облачный пароль (двухэтапная проверка) спрашивается при входе: после него для нового входа нужен и код, и пароль. Это хорошо защищает от того, кто узнал код.
Но пароль проверяется только при входе. Если у кого-то уже есть рабочая сессия — например, скопированный файл сессии или папка tdata, — пароль ему не нужен. Защита в этом случае одна: завершить чужую сессию в списке устройств.