20 октября 2026 г.

Api telegram org не работает: что это значит и как починить

15минут чтения0просмотров
Api telegram org не работает: что это значит и как починить

Бот молчит, скрипт ловит ошибку, и первое объяснение всегда одно: «у Telegram что-то упало». Разбираю, что на самом деле отвечает api.telegram.org, как за три минуты понять, в чём дело, и что делать с вебхуком, токеном и лимитами.

Бот перестал отвечать, скрипт в логах ловит ошибку, и первая мысль всегда одна: упал Telegram. В девяти случаях из десяти «api telegram org не работает» значит другое: адрес api.telegram.org жив, а запрос падает по одной из трёх причин: битый адрес или токен, включённый вебхук, из-за которого метод getUpdates молчит, и лимиты на отправку. Проверяется это тремя запросами из браузера, дальше идёте по шагам ниже.

Проверено: 20 октября 2026.

Меня зовут Анастасия Майер, я архитектор контент-заводов и инженер по искусственному интеллекту: 20 систем под ключ в 10 нишах. Боты и автоматизации в этих системах собираю на вайбкодинге, и «у Telegram что-то не работает» слышу от клиентов чаще, чем любую другую жалобу на технику. Почти всегда дело оказывается в двух строках своего же кода.

Сначала разберу, что вообще отвечает Bot API и почему ответ «не работает» бывает сразу трёх разных видов. Потом проверка по шагам, отдельно случай «бот запущен, а сообщения не приходят», лимиты, разбор частых ошибок и список проверок, если ничего не помогло. Инструменты, которые я встраиваю в свои системы, разбираю в Telegram-канале.

Почему api telegram org не работает: три разные причины

Коротко: Bot API живёт по одному адресу и всегда отвечает JSON. «Не работает» почти всегда значит, что он ответил отказом, а не промолчал.

Все запросы к Bot API идут по HTTPS и выглядят одинаково: https://api.telegram.org/bot и дальше ваш токен, слэш, название метода. В документации Telegram это записано как api.telegram.org/bot<token>/METHOD_NAME. Поддерживаются GET и POST, параметры передаются четырьмя способами: строкой запроса, form-urlencoded, JSON и multipart для файлов.

Отвечает сервер всегда JSON-объектом, в котором есть логическое поле ok. Если ok равно true, результат лежит в поле result. Если ok равно false, причина написана словами в поле description, рядом приходит числовое error_code, а иногда ещё объект parameters, по которому ошибку можно разобрать автоматически. Telegram отдельно предупреждает, что содержимое error_code со временем может меняться, поэтому читать нужно description.

Отсюда главное для диагностики. Получили JSON с ok: false - сервис работает и отказал именно вам: по адресу, по токену, по правам или по лимиту. Ответа нет вообще и соединение не устанавливается - вопрос уже не к боту, а к сети на той машине, откуда идёт запрос.

И есть третий вид «не работает», самый обидный: запросы проходят, ответы с ok: true, а бот молчит. Так ведёт себя бот, у которого включён вебхук, а код всё это время опрашивает getUpdates. Разбираю этот случай отдельным разделом ниже.

Три причины, на которые приходится почти вся моя почта по ботам:

  • Адрес или токен. Забыли слово bot перед токеном, обрезали токен при копировании, отозвали его в BotFather и не заменили в проекте.
  • Способ получения обновлений. Вебхук когда-то поставили и забыли, а код опрашивает getUpdates.
  • Лимиты. Рассылка упирается в ограничение сообщений в секунду, и сервер отвечает ошибкой 429.

Как проверить, в чём дело: по шагам

Коротко: три запроса из адресной строки браузера показывают, жив ли сервис, верен ли токен и каким способом ваш бот получает обновления.

Шаг 1. Откройте в браузере проверочный запрос, подставив вместо слов свой токен. Слово bot идёт слитно перед токеном, это прямо сказано в инструкции Telegram.

https://api.telegram.org/bot<ваш токен>/getMe

Шаг 2. Посмотрите на ответ. Если в нём ok: true и внутри result данные вашего бота с id и username, то сервис работает и токен верный. Дальше причина в вашем коде или в способе получения обновлений, и вы идёте на шаг 4.

Шаг 3. Если в ответе ok: false, прочитайте поле description. Оно написано человеческими словами и прямо говорит, что серверу не понравилось. Самая частая история здесь - токен: он не тот, обрезан при копировании или отозван. Новый выдаётся командой /token в @BotFather, это официальный способ на случай, если токен скомпрометирован или потерян.

Шаг 4. Проверьте, как ваш бот получает обновления.

https://api.telegram.org/bot<ваш токен>/getWebhookInfo

В ответе смотрите на поле url. Если оно пустое, вебхука нет и бот работает через опрос методом getUpdates. Если в url стоит адрес, у бота включён вебхук.

Шаг 5. Сверьте это с тем, что делает ваш код. Если код опрашивает getUpdates, а в url стоит адрес, ваш бот обновлений не получит никогда. В документации это зафиксировано отдельной строкой: получать обновления через getUpdates нельзя до тех пор, пока установлен исходящий вебхук. Снимается вебхук одним запросом.

https://api.telegram.org/bot<ваш токен>/deleteWebhook

Шаг 6. Если вебхук вам нужен, а обновления не идут, читайте в том же ответе поля last_error_date и last_error_message. Второе содержит текст последней ошибки доставки человеческими словами: там видно, почему Telegram не донёс обновление до вашего сервера. Рядом полезны pending_update_count и last_synchronization_error_date.

У меня такая последовательность висит в регламенте у менеджера: прежде чем звать разработчика, человек делает четыре запроса и сам видит, в токене дело или в вебхуке.

Бот запущен, а сообщения не приходят

Коротко: два способа получать обновления взаимоисключающие, и обновления живут на сервере не больше суток.

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

Если обновления приходят по кругу, одни и те же, дело в подтверждении. Метод getUpdates отдаёт сто самых ранних неподтверждённых обновлений. Подтверждаются они параметром offset, и в FAQ Telegram формула записана прямо: offset равен update_id последнего обработанного обновления плюс один. Все обновления с номером меньше или равным offset сервер помечает подтверждёнными и больше не отдаёт. Не передаёте offset - получаете ту же сотню до посинения.

Если вы на вебхуке, проверяйте требования из FAQ Telegram, они короткие и жёсткие:

  • Нужен действующий SSL-сертификат, без него вебхук не работает.
  • Самоподписанный сертификат загружается параметром certificate в setWebhook, причём именно как файл: строкой не сработает.
  • Поддерживаются только порты 443, 80, 88 и 8443.
  • Переадресации не поддерживаются.
  • Поле CN сертификата должно в точности совпадать с вашим доменом.
  • Сертификаты с подстановочным знаком могут не поддерживаться.

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

И последняя проверка из этого раздела: убедитесь, что для защиты вебхука вы используете штатный механизм. В setWebhook есть параметр secret_token длиной от 1 до 256 символов из латиницы, цифр, подчёркивания и дефиса. Telegram будет присылать его в заголовке X-Telegram-Bot-Api-Secret-Token каждого запроса, и по нему вы отличаете настоящие обновления от чужих. В FAQ есть и более простой совет: держать токен в секретном пути адреса.

Лимиты, из-за которых запросы начинают отваливаться

Коротко: на рассылке Bot API начинает возвращать ошибку 429, и в ответе лежит точное число секунд, сколько ждать.

Ограничения на отправку Telegram описывает в FAQ открыто. В одном чате не стоит отправлять больше одного сообщения в секунду: короткие всплески сверх лимита сервис иногда пропускает, но дальше начинает отвечать ошибкой 429. Массовые уведомления идут не быстрее примерно 30 сообщений в секунду. Если не включать платные рассылки, Telegram советует растягивать отправку на длинные интервалы, например на 8-12 часов.

Платные рассылки включаются в @BotFather и поднимают потолок до 1000 сообщений в секунду. Каждое сообщение сверх бесплатных 30 в секунду стоит 0,1 Stars с баланса бота в Telegram Stars. Порог входа высокий: 100 000 Stars на балансе и 100 000 активных пользователей в месяц. Платят только за доставленные сообщения.

Когда лимит сработал, сервер не бросает вас угадывать. В объекте ResponseParameters есть поле retry_after: число секунд, которые осталось подождать до повторного запроса. Там же живёт migrate_to_chat_id для случая, когда группа превратилась в супергруппу и её идентификатор сменился. Telegram отдельно просит не закладываться на жёстко прописанные значения лимитов, а обрабатывать ошибки политикой повторов.

Есть и ограничения на файлы. Метод getFile работает с файлами до 20 МБ, отправлять бот может файлы любого типа до 50 МБ. Упираетесь в это - поднимайте свой сервер Bot API, исходники Telegram выложил. На своём сервере ограничение на скачивание снимается, отправка растёт до 2000 МБ, вебхук можно вешать на HTTP и на любой порт, а max_webhook_connections поднимается до 100000.

Вот где это упирается в деньги. Посчитайте по лимиту: база в 20 тысяч подписчиков при 30 сообщениях в секунду - это около 11 минут рассылки, если ваш код обрабатывает retry_after. Если не обрабатывает, рассылки не будет вовсе: скрипт умрёт на первой же ошибке 429, а вы будете искать проблему в Telegram. Как такие вещи собирать так, чтобы они работали без вас, я показываю в вайбкодинге для контент-заводов, а какие нейросети ставить в эту связку, разбирала в статье про нейросети для создания контента.

Частые ошибки и что они значат

Коротко: читайте description и getWebhookInfo. Семь строк ниже покрывают почти все случаи.

  • В ответе ok: false и текст в description - сервис работает и отказал именно вашему запросу. Причина написана словами в description, читайте её, а не error_code: Telegram предупреждает, что код со временем может поменяться.
  • Ответа нет вообще, соединение не устанавливается - до api.telegram.org не доходит сеть с той машины, откуда идёт запрос. Вопрос к хостингу, бот тут ни при чём.
  • В getWebhookInfo стоит url, а код опрашивает getUpdates - обновлений не будет, пока вебхук установлен. Либо снимайте его через deleteWebhook, либо переводите код на вебхук.
  • Заполнено last_error_message - Telegram пытался доставить обновление и не смог. В поле лежит текст последней ошибки доставки, с него и начинайте.
  • pending_update_count растёт - обновления копятся, потому что ваш сервер их не принимает или не успевает. Помните про сутки: дольше они не хранятся.
  • Один и тот же апдейт приходит по кругу - не передаёте offset в getUpdates. Нужен update_id последнего обработанного плюс один.
  • Ошибка 429 на рассылке - сработало ограничение на частоту. В ответе в parameters есть retry_after с числом секунд ожидания, по нему и повторяйте.

Если не получилось

Коротко: пройдите список сверху вниз, а потом смотрите, не писал ли вам сам @BotFather.

  • Проверьте адрес по буквам: HTTPS, слово bot слитно перед токеном, дальше слэш и название метода. Регистр в названии метода роли не играет: все методы Bot API нечувствительны к регистру.
  • Проверьте кодировку. Telegram требует, чтобы все запросы шли в UTF-8.
  • Выпустите новый токен командой /token в @BotFather и подставьте его в проект. Старый после этого работать перестанет, так что меняйте везде сразу.
  • Откройте переписку с @BotFather. Telegram присылает оттуда предупреждения, если видит, что с ботом что-то не то: они считают число ответов и соотношение запросов к ответам у популярных ботов, ориентир - около 300 запросов в минуту. По умолчанию приходит не больше одного предупреждения на бота в час. У каждого есть кнопка Fixed: нажали - и проверка повторится через 5-10 минут вместо часа.
  • Если своих проблем вы не видите, в том же предупреждении есть кнопка Support, она открывает чат с @BotSupport.
  • Проверьте гипотезу на отдельном боте. Telegram советует для отладки создать второго бота в @BotFather и запустить на его токене вторую копию кода: пользователей рабочего бота это не задевает. Учтите, что file_id привязан к идентификатору бота, и тестовая копия чужими file_id пользоваться не сможет.
  • Для глубокой отладки есть отдельное тестовое окружение со своим аккаунтом и своим ботом, запросы в нём идут по адресу вида api.telegram.org/bot<токен>/test/METHOD_NAME. Лимиты там не ослаблены и бывают строже.

Ключи и токены в переписках, скриншотах и репозиториях не показываем даже частично. Как хранить доступы к Telegram, я подробно разобрала в статье про api id и api hash Telegram.

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

Коротко: ответы на пять вопросов, с которыми приходят чаще всего.

Это блокировка в России? Bot API живёт по обычному адресу api.telegram.org и отвечает по HTTPS. Если с вашей машины или с вашего хостинга соединение не устанавливается, разбирайтесь с сетью этой машины и с хостингом: вопрос в маршруте, а не в боте. Способов обхода ограничений я не даю и не советую.

Нужен ли мне свой сервер Bot API? Telegram прямо пишет, что большинству ботов хватает их серверов. Переезжать стоит ради конкретной возможности: больших файлов, HTTP-вебхука или нестандартного порта.

Токен утёк, что делать? Выпустить новый командой /token в @BotFather и заменить его во всех местах, где он прописан. Токен даёт полный контроль над ботом любому, у кого он оказался, Telegram об этом предупреждает в своей же инструкции.

Можно ли переименовать бота? Имя поменять можно, юзернейм - нет, Telegram это фиксирует отдельно. Юзернейм от 5 до 32 символов, только латиница, цифры и подчёркивания, и он обязан заканчиваться на bot.

Почему бот не видит сообщения других ботов? Так сделано специально, чтобы боты не зацикливались, переговариваясь между собой. В документации это объяснено открыто.

Не хотите разбираться сами

Коротко: подключение и автоматизацию можно отдать, а начать стоит с разбора задачи.

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

Я, Анастасия Майер, собираю свои системы так, чтобы они работали без меня, и боты в них - самая дешёвая часть автоматизации: они не болеют и не уходят в отпуск. Если хотите собирать такие вещи вместе с людьми, которые заняты тем же, заходите в клуб Майер: там мы разбираем свои связки и свои грабли. А кому отдавать такие задачи, когда своих рук не хватает, я разбирала в статье про ИИ-специалиста для контент-завода.

Источники

  • Telegram, Bot API: форма запроса api.telegram.org/bot<token>/METHOD_NAME, поля ok, description, error_code и parameters, взаимоисключающие getUpdates и вебхук, хранение обновлений не дольше 24 часов, поля WebhookInfo, параметр secret_token и заголовок X-Telegram-Bot-Api-Secret-Token, порты вебхука, ResponseParameters с retry_after и migrate_to_chat_id, возможности своего сервера Bot API.
  • Telegram, Bots FAQ: подтверждение обновлений через offset и сотня неподтверждённых, требования к сертификату и портам вебхука, лимиты одного сообщения в секунду в чат и около 30 сообщений в секунду на рассылку, платные рассылки до 1000 в секунду и 0,1 Stars за сообщение, лимиты файлов 20 и 50 МБ, почему бот не видит других ботов.
  • Telegram, Bot Features: требования к юзернейму, выпуск нового токена командой /token, предупреждения от @BotFather и кнопки Fixed и Support, отладка на втором боте, тестовое окружение и адрес вида /test/METHOD_NAME.
  • Моя статья про api id и api hash Telegram и раздел «Вайбкодинг для контент-заводов» на сайте.
Автор

Анастасия Майер

Эксперт по контент-заводам и ИИ. 25 контент-заводов под ключ в 10 нишах, охваты от 1 млн в первый месяц. Разбираю контент-заводы на консультациях и веду Telegram @avmayer.

Мастер-группа Майер - 20 000 ₽/мес

Собрать свой контент-завод вместе со мной: курс, вайбкодинг и 2 созвона в месяц с разбором вашего завода.

Вступить в мастер-группу

Курс от 3 500 ₽

26 видеоуроков с ответами на вопросы, которые задают на каждой первой консультации.

Что внутри курса

Разберём ваш контент-завод

20 минут бесплатно: где теряются охваты и деньги, что автоматизировать и с чего начать.

Бесплатный созвонTelegram