ГлавнаяБлогНастройки приватности Telegram
🔒 Приватность · по документации

Настройки приватности Telegram: 14 ключей и что они ломают

Настроек приватности в Telegram ровно четырнадцать, и список закрытый — придумать пятнадцатую нельзя ни в приложении, ни через API. К каждой прикладывается набор правил из двенадцати возможных, и на одну настройку их помещается не больше тысячи. Две вещи из этого списка стоят дороже остальных: за скрытое «был в сети» вы платите тем, что перестаёте видеть чужое, а настройка «кто может добавлять меня в чаты» — это ровно та стена, о которую разбивается половина попыток инвайтинга.

Какие настройки приватности есть в Telegram

В интерфейсе они разбросаны по разделам и называются человеческими словами. В протоколе это четырнадцать ключей, у каждого своё описание. Привожу их так, как отдаёт документация, — с формулировками, которые в приложении вы не увидите.

КлючЧто закрывает
StatusTimestampТочное время последнего захода
ChatInviteКто может приглашать вас в чаты
PhoneCallОт кого принимаете звонки
PhoneP2PРазрешено ли прямое соединение во время звонка
ForwardsБудет ли пересланное от вас сообщение анонимным
ProfilePhotoКто видит аватар
PhoneNumberКто видит номер телефона
AddedByPhoneКто может добавить вас в контакты по номеру
VoiceMessagesКто может слать голосовые и кружки
AboutКто видит био
BirthdayКто видит дату рождения
StarGiftsAutoSaveПоказывать ли полученные подарки в профиле автоматически
NoPaidMessagesКто пишет вам без оплаты, если платные сообщения включены
SavedMusicКто видит закреплённые в профиле треки

Мелочь, которую заметил при сверке: во входящем списке ключей четырнадцать, а в ответном списке на той же странице документации — тринадцать, там нет дня рождения. В схеме он при этом есть. Обычная нестыковка справочника, но если пишете свой клиент и ориентируетесь на одну страницу — споткнётесь.

Читают текущие настройки методом account.getPrivacy, меняют — account.setPrivacy. Важная деталь для тех, кто ведёт несколько аккаунтов: изменение прилетает апдейтом updatePrivacy во все открытые сессии аккаунта сразу. Тихо поменять настройку «только на этом устройстве» не выйдет — и наоборот, если настройки едут сами, значит в аккаунте кто-то есть, о чём подробно в разборе активных сессий.

Кому можно разрешить или запретить

Каждый ключ — это список правил, а вовсе не переключатель «вкл/выкл». Правил двенадцать штук, и они делятся на четыре пары «разрешить/запретить»: всем, контактам, перечисленным пользователям, участникам перечисленных чатов. Плюс четыре одиночных: близким друзьям, обладателям подписки, ботам и запрет ботам. Именно поэтому в телеграмме одна и та же настройка у двух людей может вести себя по-разному — набор правил внутри разный.

Правило про близких друзей работает только у историй и нигде больше. Список близких задают отдельным методом contacts.editCloseFriends, целиком, одним массивом идентификаторов, и попасть туда может только тот, кто уже у вас в контактах.

Лимит, о который спотыкаются автоматизаторы. Правил на один ключ — не больше тысячи. Перебор ловится ошибкой PRIVACY_TOO_LONG, и в справочнике она описана прямым текстом: слишком много правил, текущий лимит 1000. Так что схема «занесу в белый список три тысячи человек» не собирается. Рядом живут ещё две: PRIVACY_KEY_INVALID — несуществующий ключ, PRIVACY_VALUE_INVALID — недопустимая комбинация правил (например, «разрешить всем» и «запретить всем» вместе).

Почему пропало «был в сети» у половины контактов

Это самая недооценённая настройка из четырнадцати, потому что она единственная работает во взаимную сторону. Формулировка из документации: если вы решили скрыть точное время своего последнего захода от кого-то — от конкретных людей или ото всех — и у вас нет подписки, вы сами перестаёте видеть точное время этих людей. Даже если они им делятся.

Дальше начинается инженерная честность, за которую Telegram стоит похвалить. Сервер не врёт, будто данных нет. Он присылает статус вроде «был недавно» со служебным флагом by_me, что означает буквально: точный статус этого человека нам доступен, но показать его не можем — из-за вашей же настройки. Флаг стоит у трёх статусов: «недавно», «на прошлой неделе», «в прошлом месяце».

Всего статусов, кстати, шесть: пусто, онлайн (с точным временем, до которого человек считается в сети), офлайн (с точной секундой последнего захода) и три огрублённых. Разница между «офлайн с точной секундой» и «был недавно» — это и есть вся разница, которую даёт настройка.

Такая же взаимность есть у дат прочтения. Если вы запретили другим видеть, когда прочли их сообщения, то и сами не узнаете, прочитали ли ваше: сервер ответит ошибкой YOUR_PRIVACY_RESTRICTED, и в её описании прямо сказано, что чинится это либо разрешением показывать своё время, либо подпиской. Логика простая и, на мой взгляд, правильная: односторонней прозрачности здесь не дают.

Обо что разбивается инвайтинг

Вот место, ради которого автоматизаторам вообще стоит читать про приватность. Настройка «кто может приглашать вас в чаты» стоит дороже всех остальных тринадцати вместе взятых — в буквальном смысле, деньгами за несостоявшийся инвайт.

Когда человек её закрыл, сервер отвечает 403 USER_PRIVACY_RESTRICTED с формулировкой «настройки приватности пользователя не позволяют вам это сделать». В машиночитаемом справочнике ошибок она закреплена за восемью методами:

  • channels.inviteToChannel — добавить в супергруппу или канал;
  • messages.addChatUser — добавить в обычную группу;
  • channels.editAdmin — назначить администратором;
  • channels.editCreator и messages.editChatCreator — передать права создателя;
  • phone.requestCall — позвонить;
  • messages.getOutboxReadDate — узнать, прочли ли ваше сообщение;
  • help.getConfig — да, в списке есть и он.

Обратите внимание на третий и четвёртый пункты. Назначение администратором в списке не случайно: техника «добавить человека, промоутнув его в админы» упирается ровно в ту же приватность. Разница только в том, что у неё другая механика и другие граничные случаи, — подробно это разобрано в инструкции по инвайтингу.

Вторая частая ошибка того же семейства — USER_NOT_MUTUAL_CONTACT, «указанный пользователь не является взаимным контактом». Она встречается дважды: как 400 на семи методах и как 403 ещё на трёх. Смысл: для части действий мало того, что человек у вас в контактах, — нужно, чтобы и вы были у него.

Практический вывод. Ни одна из этих ошибок не проходит со временем. Флуд-лимит отстоится, а это решение владельца аккаунта. Обойти его можно только сценарием: привести человека по ссылке или через заявку вместо того, чтобы затаскивать в чат силой. Как устроены заявки на вступление и что с ними делают боты-охранники — в отдельном разборе.

Как приватность влияет на поиск по номеру

Про номер настроек две, и это разные вещи. PhoneNumber отвечает за то, кто видит номер в профиле. AddedByPhone — за то, кто может по номеру добавить вас в свои контакты. Человек, закрывший первое и оставивший второе, спрятал номер от посторонних глаз, но остался находимым для любого, у кого этот номер уже есть.

Для проверки номеров это означает вот что: наличие человека в телеграмме по его номеру и возможность что-то о нём узнать — две независимые истории. Наш чекер номеров отвечает на первый вопрос — есть аккаунт или нет. Второй вопрос упирается в чужие настройки, и никакой инструмент это не меняет.

Что приватность делает с собранной базой

Здесь стоит развести две вещи, которые постоянно путают. Приватность почти не влияет на состав выгрузки и заметно влияет на её глубину.

Состав отдают чаты. Кто состоит в открытой группе, кто писал за последний месяц, кто комментировал пост — это данные чата, а не личные настройки человека. Поэтому участники чата, активные писавшие и комментаторы канала собираются в любом случае.

А вот дальше по каждой строке в базе будут разные поля. У одного контакта есть аватар, био и точный «был в сети», у другого — пусто по всем трём, потому что человек так настроил. Пустые поля — не брак сбора и не признак мёртвого аккаунта. Отличить закрытую приватность от реально удалённого профиля можно по флагу удаления, и про это отдельно написано в разборе Deleted Account.

Отсюда практическое: не стройте фильтрацию базы на «был в сети». Поле огрубляется чужой настройкой и вашей собственной — той самой взаимностью из третьего раздела. Признак «писал в чате за период» честнее: он про действие, которое человек совершил, а не про поле, которое он может закрыть одним тапом.

Что настроить на аккаунте, который вы только что получили

Короткий список того, что имеет смысл сделать сразу — не ради красоты профиля, а чтобы аккаунт вёл себя предсказуемо.

  1. Номер — закрыть, поиск по номеру — по задаче. Открытый в профиле номер у рабочего аккаунта не нужен никогда. А вот находимость по номеру иногда нужна, и это отдельный переключатель.
  2. Точное «был в сети» не скрывать без нужды. Помните про взаимность: скрыв своё, вы ослепите себя по чужим. Для аккаунта, который вы используете для проверки и сбора, это прямая потеря информации.
  3. Приглашения в чаты — оставить открытыми. Аккаунт, который сам закрылся от приглашений, нельзя добавить даже в свою рабочую группу. Звучит очевидно, а ловятся на этом регулярно.
  4. Звонки — закрыть. Ни одна рабочая задача не требует принимать входящие звонки, а лишний канал контакта — это лишний способ вас потревожить.
  5. Проверить, что настройки не приехали от прошлого владельца. Приватность живёт в аккаунте, а не в файле сессии: аккаунт с закрытыми приглашениями в чаты приедет к вам закрытым, и вы об этом узнаете в момент, когда он не добавится в группу.

Последний пункт — причина, по которой у нас каждый аккаунт проверяется вживую при выдаче: коннект через прокси, ограничения, ответ служебного бота. Настройки приватности при этом остаются вашей зоной — их за вас никто не выставит, потому что правильные значения зависят от того, что вы собираетесь делать: собирать аудиторию, запускать инвайтинг или просто держать связку живой на резидентных прокси.

Частые вопросы

Сколько всего настроек приватности в Telegram?

Четырнадцать. Список закрытый, в него входят: точное время последнего захода, приглашения в чаты, приём звонков, P2P во время звонка, анонимность пересылок, аватар, номер телефона, поиск по номеру, голосовые и кружки, био, день рождения, автопоказ подарков, кто пишет без оплаты и закреплённая в профиле музыка. Каждой настройке задают список из правил вида «разрешить/запретить» — контактам, всем, конкретным людям или участникам конкретных чатов.

Почему я перестал видеть, когда человек был в сети?

Потому что вы сами скрыли своё точное время последнего захода. Telegram описывает это правилом взаимности: если вы прячете точный «был в сети» от кого-то и у вас нет Premium, вы перестаёте видеть точное время этих людей, даже когда они им делятся. В таком случае у статуса выставляется служебный флаг by_me — сервер честно говорит клиенту: время есть, но показать нельзя.

Что означает ошибка USER_PRIVACY_RESTRICTED при добавлении в группу?

Настройки приватности человека не разрешают вам это действие. Дословная формулировка в справочнике ошибок — «the user's privacy settings do not allow you to do this», код 403. Она закреплена за восемью методами, среди них добавление в супергруппу, добавление в обычную группу, назначение админом, передача прав создателя и звонок. Обойти её нельзя: это не лимит, который проходит, а решение владельца аккаунта.

Как скрыть номер телефона в телеграмме?

За номер отвечают сразу две отдельные настройки, и их часто путают. Первая — кто видит номер в профиле. Вторая — кто может найти вас по номеру и добавить в контакты. Закрыть первую и оставить открытой вторую значит спрятать номер в профиле, но остаться находимым для того, у кого этот номер уже есть.

Сколько правил приватности можно задать на одну настройку?

Тысяча. Если передать больше, сервер отвечает ошибкой PRIVACY_TOO_LONG с прямым текстом про текущий лимит в 1000 правил. Практический смысл: списки «разрешить вот этим людям» и «запретить вот этим» не бесконечные, персональные исключения на большую аудиторию не масштабируются.

Влияет ли приватность на парсинг аудитории?

На состав собранного — почти нет, на глубину полей — да. Список участников и авторов сообщений отдают сами чаты, а вот аватар, био, точное время последнего захода и номер приходят по правилам конкретного человека. Поэтому у части собранных контактов поля будут пустыми, и это нормальное поведение, а не сбой сбора.

Список ключей и правил, а также правило взаимности «был в сети» — из документации по настройкам приватности и описания ключей; флаг by_me — со страницы статуса; коды ошибок, их формулировки и списки методов — из машиночитаемого справочника ошибок (слой 227). Всё сверено 20 августа 2026 года. Telegram меняет такие вещи без анонса — если читаете сильно позже, перепроверьте по первоисточнику.

Собрать аудиторию, которую видно

Участники чатов, писавшие за период и комментаторы каналов — три разных среза одной аудитории, без зависимости от чужих настроек профиля. Разовый сбор от 50 ₽, всё в боте.