You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

aiogram机器人触发TelegramNetworkError请求超时问题求助

问题

我写了一个带/start命令处理器的简单aiogram机器人,代码如下:

@user_router.message(CommandStart())
async def start_command(message: Message):
    logger.info(f'Start from user {message.from_user.username} id={message.from_user.id}')
    await message.answer('Hello')

运行机器人后能看到正常启动日志:

[2024-07-29 20:04:09,944] #INFO     bot.py:21 - __main__ - Starting bot
[2024-07-29 20:04:10,731] #INFO     dispatcher.py:527 - aiogram.dispatcher - Start polling
[2024-07-29 20:04:11,034] #INFO     dispatcher.py:341 - aiogram.dispatcher - Run polling for bot .... 

但发送/start命令后出现错误:aiogram.exceptions.TelegramNetworkError: HTTP Client says - Request timeout error,对应的错误日志如下:

[2024-07-29 20:04:15,519] #INFO     user_handlers.py:23 - handlers.user_handlers - Start from user .....
[2024-07-29 20:05:15,969] #INFO     dispatcher.py:172 - aiogram.event - Update id=.... is not handled. Duration 60449 ms by bot id=....
[2024-07-29 20:05:15,970] #ERROR    dispatcher.py:315 - aiogram.event - Cause exception while process update id=..... by bot id=....
TelegramNetworkError: HTTP Client says - Request timeout error
Traceback (most recent call last):
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/client/session/aiohttp.py", line 181, in make_request
    async with session.post(
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiohttp/client.py", line 1197, in __aenter__
    self._resp = await self._coro
                 ^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiohttp/client.py", line 507, in _request
    with timer:
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiohttp/helpers.py", line 735, in __exit__
    raise asyncio.TimeoutError from None
TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/dispatcher.py", line 309, in _process_update
    response = await self.feed_update(bot, update, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/dispatcher.py", line 158, in feed_update
    response = await self.update.wrap_outer_middleware(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/middlewares/error.py", line 25, in __call__
    return await handler(event, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/middlewares/user_context.py", line 49, in __call__
    return await handler(event, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/fsm/middleware.py", line 42, in __call__
    return await handler(event, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/event/telegram.py", line 121, in trigger
    return await wrapped_inner(event, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/event/handler.py", line 43, in call
    return await wrapped()
           ^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/dispatcher.py", line 276, in _listen_update
    return await self.propagate_event(update_type=update_type, event=event, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/router.py", line 142, in propagate_event
    return await observer.wrap_outer_middleware(_wrapped, event=event, data=kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/router.py", line 137, in _wrapped
    return await self._propagate_event(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/router.py", line 170, in _propagate_event
    response = await router.propagate_event(update_type=update_type, event=event, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/router.py", line 142, in propagate_event
    return await observer.wrap_outer_middleware(_wrapped, event=event, data=kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/router.py", line 137, in _wrapped
    return await self._propagate_event(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/router.py", line 162, in _propagate_event
    response = await observer.trigger(event, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/event/telegram.py", line 121, in trigger
    return await wrapped_inner(event, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/event/handler.py", line 43, in call
    return await wrapped()
           ^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/handlers/user_handlers.py", line 31, in start_command
    await message.answer(LEXICON_RU['greeting'])
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/methods/base.py", line 84, in emit
    return await bot(self)
           ^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/client/bot.py", line 485, in __call__
    return await self.session(self, method, timeout=request_timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/client/session/base.py", line 254, in __call__
    return cast(TelegramType, await middleware(bot, method))
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/andreisukhar/Projects/Python/rulebreakers/she-bot/venv/lib/python3.12/site-packages/aiogram/client/session/aiohttp.py", line 186, in make_request
    raise TelegramNetworkError(method=method, message="Request timeout error")
aiogram.exceptions.TelegramNetworkError: HTTP Client says - Request timeout error

让朋友在他电脑上运行这个机器人,一切正常且能收到回复。请问这可能是什么原因导致的?

可能的原因
  • 网络环境限制:你的网络可能被防火墙、代理或ISP限制了访问Telegram API的出站请求。启动时的polling是拉取请求,而发送消息是出站请求,两者的网络规则可能不同。朋友的网络没有这类限制,所以能正常运行。
  • DNS解析问题:本地DNS无法正确解析Telegram API的域名,导致发送请求时超时。可以尝试更换公共DNS测试。
  • 请求超时设置过短:aiogram默认的请求超时时间可能不适合你的网络环境。可以在创建Bot实例时手动设置更长的超时时间,比如:
from aiogram import Bot
bot = Bot(token="YOUR_TOKEN", timeout=30)
  • 本地网络不稳定:你的网络连接波动大,发送消息时的请求在规定时间内无法得到Telegram服务器的响应,而朋友的网络更稳定。
  • VPN或代理冲突:如果你的设备开启了VPN或代理,但配置有问题,可能导致出站请求无法正常到达Telegram服务器。可以尝试关闭VPN/代理后重新运行机器人。

内容的提问来源于stack exchange,提问作者Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 06:45:54