16 июля 2026 г.
Без VPN my.telegram.org не открывается, с VPN форма отвечает ERROR. Разбираю, почему так выходит, и даю рабочую последовательность для Windows и macOS: файл hosts, форма приложения, хранение ключей и что делать, если ошибка осталась.
Что такое api_id и api_hash и почему с VPN выходит ошибка
Коротко: это пара ключей, по которой Telegram узнаёт ваше приложение. Форма их выдачи падает, когда номер российский, а адрес подключения через VPN зарубежный.
У Telegram два способа работать с ним из кода. Бот получает токен у BotFather и видит только то, что пишут ему или в чатах, куда его добавили. Свой клиент работает от имени вашего аккаунта: читает чаты, где вы состоите, собирает сообщения в таблицу, готовит черновики ответов. Второму нужны api_id (число) и api_hash (длинная строка из букв и цифр). Выдают их на my.telegram.org в разделе API development tools, а дальше с ними работают библиотеки вроде Telethon и Pyrogram.
Прежде чем идти за ключами, решите, что вам нужно. Если люди сами пишут вам, а скрипт отвечает, хватит бота, и my.telegram.org вам не понадобится. Если нужно читать чаты, где вы участник, а добавить туда бота нельзя или неудобно, нужен свой клиент и эта инструкция.
Почему с VPN не выходит, Telegram официально не объясняет. Опыт тех, кто через это прошёл, сходится в одном: мешает несовпадение региона. Номер начинается на +7, а IP-адрес у VPN нидерландский, немецкий или американский. Вход проходит, вы заполняете форму и получаете в ответ ERROR или загадочное «[object Object]». Смена браузера и названия приложения ничего не меняет.
Без VPN сайт не открывается по другой причине. Российские провайдеры ограничивают доступ к нему на уровне DNS: браузер спрашивает, где живёт my.telegram.org, и правильного ответа не получает. Это лечится одной строкой в системном файле hosts. В нём вы сами подсказываете компьютеру адрес сайта, и VPN для входа больше не нужен.
Как получить api id и api hash Telegram в России: подготовка
Коротко: выключите все VPN и прокси, сидите на обычном российском интернете и держите под рукой Telegram с аккаунтом на российском номере.
Перед первым шагом проверьте по списку:
- VPN выключен целиком: и программа, и расширение в браузере.
- Прокси выключен в настройках браузера и системы.
- Закрыты программы для обхода блокировок вроде GoodbyeDPI, Zapret или Hiddify.
- В антивирусе на время выключено «защищённое соединение», если оно у вас есть.
- Интернет российский: домашний или мобильный.
- Telegram открыт на телефоне или компьютере: туда придёт код входа.
Номер берите свой, рабочий и с живым аккаунтом. Telegram в официальной инструкции отдельно предупреждает, что важные уведомления для разработчиков придут на номер, с которого создано приложение.
Строка, которую вы добавите в hosts, выглядит так (между адресом и названием сайта ровно один пробел):
149.154.167.220 my.telegram.org
Зачем вообще эта возня. Ключи открывают дорогу к инструментам, которые снимают с вас ручную работу: сбор заявок из профильных чатов, выгрузку обсуждений в таблицу, ассистента с черновиками ответов. Каждый час, который вы тратите на пролистывание чатов, мог уйти на продажи. Как из пары ключей собрать работающий инструмент без программиста, я показываю в вайбкодинге для контент-заводов.
Шаги на Windows 10 и 11
Коротко: добавить строку в hosts через Блокнот с правами администратора, очистить кэш DNS и полностью перезапустить браузер.
Шаг 1. Нажмите «Пуск», наберите «Блокнот», щёлкните по нему правой кнопкой и выберите «Запуск от имени администратора». Без этих прав Windows не даст сохранить изменения.
Шаг 2. В Блокноте откройте «Файл», затем «Открыть». Вставьте в адресную строку окна путь и нажмите Enter:
C:\Windows\System32\drivers\etc
Шаг 3. Справа внизу окна переключите фильтр с «Текстовые документы» на «Все файлы». Пока стоит старый фильтр, нужного файла в папке не видно. Откройте файл hosts.
Шаг 4. Перейдите в самый конец файла, с новой строки вставьте строку из подготовки и нажмите Ctrl + S. Если Блокнот ругается на нехватку прав или предлагает сохранить копию в другом месте, он запущен без прав администратора: вернитесь к шагу 1. Имя файла остаётся hosts, никакого .txt на конце.
Шаг 5. Снова «Пуск», наберите «Командная строка», правая кнопка и «Запуск от имени администратора». Введите команду и нажмите Enter:
ipconfig /flushdns
В ответ появится сообщение, что кэш DNS успешно очищен.
Шаг 6. Закройте браузер целиком, одной вкладки мало. Проверить можно в диспетчере задач (Ctrl + Shift + Esc): процессов Chrome, Edge или Firefox там остаться не должно.
Шаги на macOS
Коротко: та же строка в файл /etc/hosts через Терминал, две команды очистки кэша и выход из браузера через Command + Q.
Шаг 1. Нажмите Command + Пробел, наберите «Терминал» и откройте его.
Шаг 2. Введите команду и нажмите Enter:
sudo nano /etc/hosts
Терминал попросит пароль от вашей учётной записи Mac. Символы при вводе не появляются, так и задумано: наберите пароль вслепую и нажмите Enter.
Шаг 3. Стрелкой вниз дойдите до конца файла и с новой строки вставьте ту же строку из подготовки.
Шаг 4. Сохраните файл сочетанием Control + O и подтвердите клавишей Enter. Выйдите из редактора через Control + X. Здесь нужна именно клавиша Control, Command не сработает.
Шаг 5. Очистите кэш DNS. Команды вводите по одной, после каждой Enter:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
Терминал ничего не ответит, это нормально.
Шаг 6. Закройте браузер через Command + Q. Красный кружок в углу закрывает только окно, сам браузер продолжает работать со старым кэшем.
Коротко: вход по номеру и коду из Telegram, раздел API development tools, форма латиницей, и ключи сразу на экране.
Шаг 1. Откройте my.telegram.org. В поле Your Phone Number введите номер в международном формате, начиная с +7, и нажмите Next.
Шаг 2. Код придёт сообщением внутри Telegram, СМС не будет. Введите его в поле Confirmation code и нажмите Sign In.
Шаг 3. На открывшейся странице выберите API development tools.
Шаг 4. Заполните форму:
- App title - название латиницей и цифрами, без кириллицы. Например, MyWorkTools.
- Short name - короткое имя латиницей без пробелов. Например, myworktools.
- URL - оставьте пустым.
- Platform - Desktop.
- Description - одна спокойная фраза по-английски про личное приложение. Например, Personal app for my own chats.
Шаг 5. Нажмите кнопку под формой. На странице появятся App api_id и App api_hash. Сразу перенесите оба значения в менеджер паролей.
С названием есть два правила. Первое - официальное: условия API Telegram запрещают слово Telegram в названии приложения. Второе - из практики: Parser, Scraper, Mass Sender, Spam и похожие слова лучше не писать, с ними форма чаще упирается. И помните, что одному номеру положено одно приложение, это прямо сказано в инструкции Telegram.
Что сделать сразу после получения ключей
Коротко: убрать строку из hosts, сохранить ключи в надёжное место и один раз запустить свой скрипт, чтобы он создал сессию.
Шаг 1. Уберите строку из hosts. Адрес у Telegram может смениться, и забытая строка однажды сломает вход на сайт, причём вы к тому времени уже не вспомните, откуда она взялась.
На Windows снова откройте файл через Блокнот от имени администратора, удалите строку с my.telegram.org, сохраните и выполните в командной строке от администратора ту же команду:
ipconfig /flushdns
На Mac откройте файл командой sudo nano /etc/hosts, удалите строку, сохраните через Control + O и Enter, выйдите через Control + X и повторите обе команды очистки кэша.
Шаг 2. Проверьте, где лежат ключи. Место им в менеджере паролей и в файле .env вашего проекта. Заметки телефона и чат «Избранное» для этого не годятся. Ключи можно посмотреть на my.telegram.org снова, но для этого придётся опять пройти весь путь со строкой в hosts.
Шаг 3. Запустите свой скрипт в первый раз. Библиотека спросит номер телефона, затем код из Telegram, а если включён облачный пароль, то и его. После этого рядом со скриптом появится файл сессии, и следующие запуски пройдут без кода.
Шаг 4. Откройте Telegram на телефоне. Там будет служебное сообщение о входе с нового устройства, а в разделе «Устройства» появится новый сеанс. Так и должно быть: это ваш скрипт. Если рядом есть сеанс, которого вы не запускали, завершите его сразу.
Как хранить ключи и сессию, чтобы не потерять аккаунт
Коротко: api_hash и файл сессии - секреты уровня пароля от банка. Кто их получил, тот работает в вашем аккаунте.
Сам по себе api_id не пароль. Но в паре с api_hash он даёт право запускать клиент от вашего имени, а после первого входа скрипт создаёт файл сессии. С этим файлом в аккаунт заходят без кода и без облачного пароля. Поэтому мои правила такие:
- Никому не отправляю api_hash, облачный пароль, файл или строку сессии и код входа. Telegram в самом сообщении с кодом пишет, что его нельзя давать никому, даже тем, кто представляется сотрудником Telegram.
- Ключи лежат в файле .env, который не попадает в репозиторий. На GitHub, форумы и в скриншоты они не уходят.
- Файл сессии не лежит в облачных папках и закрыт правами доступа, чтобы его не прочитал посторонний процесс.
- Облачный пароль включён. Раз в неделю я открываю в настройках Telegram раздел «Устройства» и проверяю, нет ли там чужих сеансов.
- Работаю только со своим api_id. В официальной документации сказано, что тестовые ключи из открытых примеров ограничены на стороне сервера, а при попытке работать на них дальше тестов прилетает ошибка API_ID_PUBLISHED_FLOOD. С чужим ключом вы делите и его ограничения.
- Скрипт ходит в Telegram с одного адреса, без VPN и прокси. Telegram пишет, что все аккаунты, которые входят через неофициальные клиенты, автоматически попадают под наблюдение, и прыгающий адрес я считаю лишним поводом присмотреться.
Отдельно про то, что делать на этих ключах нельзя. За флуд, спам и накрутку подписчиков или просмотров Telegram блокирует аккаунт навсегда. В условиях API запрещено совершать действия от имени человека без его ведома и согласия, а данные из Telegram нельзя использовать для обучения нейросетей. Свой ассистент, сбор заявок из чатов, где вы состоите, выгрузка в таблицу - нормальная работа. Массовые рассылки незнакомым людям - короткая дорога к бану.
Ключи - самая простая часть. Дальше начинается то, ради чего всё затевалось: что именно собрать, где это будет работать круглые сутки и как встроить в ваши продажи. Какие нейросети ставить в такую связку, я разбирала в статье про нейросети для создания контента, а кому отдавать такие задачи, когда своих рук не хватает, - в статье про ИИ-специалиста для контент-завода. Если хотите разобрать свою задачу на живом примере, приходите на консультацию.
Если не получилось
Коротко: почти всегда виноват недовыключенный VPN или старый кэш. Идите по списку сверху вниз.
- Форма всё ещё отвечает ERROR. Проверьте ещё раз все виды VPN: отдельную программу, расширение браузера, системный прокси, программы для обхода блокировок, защиту соединения в антивирусе.
- Не помогло - перезагрузите компьютер. Браузер иногда держит старые ответы DNS даже после очистки кэша.
- Попробуйте другой российский интернет: раздачу с телефона, другого оператора, переход с домашнего на мобильный. Строку в hosts на это время не удаляйте.
- Возможно, приложение у этого номера уже есть. Тогда в разделе API development tools ключи появятся сразу, без формы.
- Форма показала ошибку, но приложение могло создаться. Обновите страницу и посмотрите ещё раз.
- Замените название на самое простое, латиницей и без слов из правил выше.
- Сайт не открывается совсем. Проверьте, что строка сохранилась, что в её начале нет решётки и что между адресом и названием сайта один пробел. Если всё верно, адрес мог смениться: узнать текущий можно командой ниже и подставить его вместо старого.
nslookup my.telegram.org 1.1.1.1
- Аккаунт заблокировали, хотя правил вы не нарушали. Telegram предлагает написать на recover@telegram.org и объяснить, для чего вы используете API. Письма читает человек, поэтому пишите своими словами: шаблонные автописьма там распознают и блокируют.
Я, Анастасия Майер, собираю свои системы так, чтобы они работали без меня, и для задач в Telegram дорога к такой системе часто начинается именно с этой формы. Если хотите собирать такие вещи вместе с людьми, которые делают то же самое, загляните в клуб Майер: там мы разбираем свои связки и ошибки.
Источники
- Telegram, официальная инструкция Creating your Telegram Application: шаги получения api_id и api_hash, одно приложение на номер, тестовые ключи и ошибка API_ID_PUBLISHED_FLOOD, вечный бан за флуд и спам, адрес recover@telegram.org.
- Telegram, условия использования API: свой api_id для своего приложения, запрет слова Telegram в названии, действия только с согласия пользователя, запрет обучать нейросети на данных платформы.
- Мои правила работы с ключами и сессиями Telegram на собственных инструментах.
- Раздел «Вайбкодинг для контент-заводов» на сайте.