Статья

aiogram: NetworkError и TelegramNetworkError — что делать

Ошибка TelegramNetworkError в aiogram — одна из самых частых жалоб русскоязычных

разработчиков ботов. Разберём причины и решения.

Типичные сообщения об ошибке

aiogram.exceptions.TelegramNetworkError: HTTP Client says - ServerDisconnectedError()
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.telegram.org:443
aiogram.exceptions.TelegramNetworkError: All connection attempts failed

Причина №1: блокировка api.telegram.org

Самая частая причина в России и СНГ. Ваш сервер не может достучаться до Telegram.

Решение — подменить API endpoint:

from aiogram import Bot, Dispatcher
from aiogram.client.session.aiohttp import AiohttpSession
from aiogram.client.telegram import TelegramAPIServer

PROXY_URL = "https://v0-telegram-proxy-api.vercel.app"

session = AiohttpSession(
    api=TelegramAPIServer.from_base(PROXY_URL)
)

bot = Bot(token="ВАШ_ТОКЕН", session=session)
dp = Dispatcher()

Прокси https://v0-telegram-proxy-api.vercel.app работает без регистрации.

Причина №2: таймаут сети

Сеть работает, но медленно — aiogram падает по таймауту.

session = AiohttpSession(
    api=TelegramAPIServer.from_base(PROXY_URL),
    timeout=60,  # увеличьте таймаут
)

Причина №3: неправильный токен

Проверьте токен:

curl https://v0-telegram-proxy-api.vercel.app/botВАШ_ТОКЕН/getMe

Если вернулось {"ok":false,"error_code":401} — токен невалидный, получите новый у @BotFather.

Причина №4: бот заблокирован Telegram

Telegram может заблокировать бот за спам. Проверьте статус через getMe.

Полный рабочий пример с прокси

import asyncio
from aiogram import Bot, Dispatcher, types
from aiogram.client.session.aiohttp import AiohttpSession
from aiogram.client.telegram import TelegramAPIServer

TOKEN = "ВАШ_ТОКЕН"
PROXY = "https://v0-telegram-proxy-api.vercel.app"

async def main():
    session = AiohttpSession(api=TelegramAPIServer.from_base(PROXY))
    bot = Bot(token=TOKEN, session=session)
    dp = Dispatcher()

    @dp.message()
    async def echo(message: types.Message):
        await message.reply(message.text)

    await dp.start_polling(bot)

asyncio.run(main())

Итог

В большинстве случаев TelegramNetworkError в aiogram решается заменой API endpoint

на прокси-сервер вне зоны блокировок. Используйте https://v0-telegram-proxy-api.vercel.app для быстрого старта.


Сделай собственный прокси за 5 минут

Большинство статей советуют PythonAnywhere или Cloudflare Pages — но оба сервиса уже заблокированы в России и СНГ. Vercel работает стабильно.

Этот сайт создан на v0.app — AI-инструменте от Vercel. На разработку ушло 3 доллара. При регистрации по реферальной ссылке вы получаете $5 на баланс — этого достаточно, чтобы задеплоить свой личный прокси и проверить всё самостоятельно.

Получить $5 и задеплоить свой прокси →

Этот сайт обошёлся в $3

Сделан на v0.app — AI-инструменте от Vercel. При регистрации по ссылке вы получаете $5 на баланс — достаточно, чтобы задеплоить свой личный прокси.

Получить $5 →