Skip to content

[Bug]长时间后无法接收来自telegram的消息 #2561

@kurala719

Description

@kurala719

发生了什么

目前后端用的docker部署在云服务器上,接入了qq和tg两个平台。刚启动一段时间内正常接收消息,但是过了很长时间之后就会无法接收来自tg的消息,控制台中也看不到来自tg的消息;然而后端运行正常,使用webchat也仍然可以正常收发消息,重启之后又能够正常接收tg的消息。请问该如何解决呢?

如何复现?

长时间运行astrbot后,无法接收tg平台的消息

AstrBot 版本、部署方式(如 Windows Docker Desktop 部署)、使用的提供商、使用的消息平台适配器

Astrbot版本:3.5.25
部署方式:使用docker部署在国内云服务器(centos 8)上
提供商:gemini-2.5-flash
消息平台适配器:telegram

操作系统

Linux

报错日志

重启telegram适配器和astrbot时的报错:

[02:01:11] [Core] [ERRO] [platform.manager:120]: ------- 任务 platform_telegram_Izumi_tg 发生错误: Timed out
[02:01:11] [Core] [ERRO] [platform.manager:122]: | Traceback (most recent call last):
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions
[02:01:11] [Core] [ERRO] [platform.manager:122]: | yield
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 394, in handle_async_request
[02:01:11] [Core] [ERRO] [platform.manager:122]: | resp = await self._pool.handle_async_request(req)
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 256, in handle_async_request
[02:01:11] [Core] [ERRO] [platform.manager:122]: | raise exc from None
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 236, in handle_async_request
[02:01:11] [Core] [ERRO] [platform.manager:122]: | response = await connection.handle_async_request(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpcore/_async/http_proxy.py", line 316, in handle_async_request
[02:01:11] [Core] [ERRO] [platform.manager:122]: | stream = await stream.start_tls(**kwargs)
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpcore/_async/http11.py", line 376, in start_tls
[02:01:11] [Core] [ERRO] [platform.manager:122]: | return await self._stream.start_tls(ssl_context, server_hostname, timeout)
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpcore/_backends/anyio.py", line 67, in start_tls
[02:01:11] [Core] [ERRO] [platform.manager:122]: | with map_exceptions(exc_map):
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/contextlib.py", line 153, in exit
[02:01:11] [Core] [ERRO] [platform.manager:122]: | self.gen.throw(typ, value, traceback)
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
[02:01:11] [Core] [ERRO] [platform.manager:122]: | raise to_exc(exc) from exc
[02:01:11] [Core] [ERRO] [platform.manager:122]: | httpcore.ConnectTimeout
[02:01:11] [Core] [ERRO] [platform.manager:122]: |
[02:01:11] [Core] [ERRO] [platform.manager:122]: | The above exception was the direct cause of the following exception:
[02:01:11] [Core] [ERRO] [platform.manager:122]: |
[02:01:11] [Core] [ERRO] [platform.manager:122]: | Traceback (most recent call last):
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/request/_httpxrequest.py", line 273, in do_request
[02:01:11] [Core] [ERRO] [platform.manager:122]: | res = await self._client.request(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1540, in request
[02:01:11] [Core] [ERRO] [platform.manager:122]: | return await self.send(request, auth=auth, follow_redirects=follow_redirects)
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1629, in send
[02:01:11] [Core] [ERRO] [platform.manager:122]: | response = await self._send_handling_auth(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1657, in _send_handling_auth
[02:01:11] [Core] [ERRO] [platform.manager:122]: | response = await self._send_handling_redirects(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1694, in _send_handling_redirects
[02:01:11] [Core] [ERRO] [platform.manager:122]: | response = await self._send_single_request(request)
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1730, in _send_single_request
[02:01:11] [Core] [ERRO] [platform.manager:122]: | response = await transport.handle_async_request(request)
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 393, in handle_async_request
[02:01:11] [Core] [ERRO] [platform.manager:122]: | with map_httpcore_exceptions():
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/contextlib.py", line 153, in exit
[02:01:11] [Core] [ERRO] [platform.manager:122]: | self.gen.throw(typ, value, traceback)
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 118, in map_httpcore_exceptions
[02:01:11] [Core] [ERRO] [platform.manager:122]: | raise mapped_exc(message) from exc
[02:01:11] [Core] [ERRO] [platform.manager:122]: | httpx.ConnectTimeout
[02:01:11] [Core] [ERRO] [platform.manager:122]: |
[02:01:11] [Core] [ERRO] [platform.manager:122]: | The above exception was the direct cause of the following exception:
[02:01:11] [Core] [ERRO] [platform.manager:122]: |
[02:01:11] [Core] [ERRO] [platform.manager:122]: | Traceback (most recent call last):
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/AstrBot/astrbot/core/platform/manager.py", line 116, in _task_wrapper
[02:01:11] [Core] [ERRO] [platform.manager:122]: | await task
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/AstrBot/astrbot/core/platform/sources/telegram/tg_adapter.py", line 104, in run
[02:01:11] [Core] [ERRO] [platform.manager:122]: | await self.application.initialize()
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/ext/_application.py", line 486, in initialize
[02:01:11] [Core] [ERRO] [platform.manager:122]: | await self.bot.initialize()
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/ext/_extbot.py", line 315, in initialize
[02:01:11] [Core] [ERRO] [platform.manager:122]: | await super().initialize()
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/_bot.py", line 844, in initialize
[02:01:11] [Core] [ERRO] [platform.manager:122]: | await self.get_me()
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/ext/_extbot.py", line 1980, in get_me
[02:01:11] [Core] [ERRO] [platform.manager:122]: | return await super().get_me(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/_bot.py", line 975, in get_me
[02:01:11] [Core] [ERRO] [platform.manager:122]: | result = await self._post(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/_bot.py", line 697, in _post
[02:01:11] [Core] [ERRO] [platform.manager:122]: | return await self._do_post(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/ext/_extbot.py", line 369, in _do_post
[02:01:11] [Core] [ERRO] [platform.manager:122]: | return await super()._do_post(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/_bot.py", line 726, in _do_post
[02:01:11] [Core] [ERRO] [platform.manager:122]: | result = await request.post(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/request/_baserequest.py", line 197, in post
[02:01:11] [Core] [ERRO] [platform.manager:122]: | result = await self._request_wrapper(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/request/_baserequest.py", line 304, in _request_wrapper
[02:01:11] [Core] [ERRO] [platform.manager:122]: | code, payload = await self.do_request(
[02:01:11] [Core] [ERRO] [platform.manager:122]: | File "/usr/local/lib/python3.10/site-packages/telegram/request/_httpxrequest.py", line 290, in do_request
[02:01:11] [Core] [ERRO] [platform.manager:122]: | raise TimedOut from err
[02:01:11] [Core] [ERRO] [platform.manager:122]: | telegram.error.TimedOut: Timed out
[02:01:11] [Core] [ERRO] [platform.manager:122]: |
[02:01:11] [Core] [ERRO] [platform.manager:123]: -------

你愿意提交 PR 吗?

  • 是的,我愿意提交 PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions