What happened / 发生了什么
telegram运行一段时间后无法接收新消息,控制台没有报错,重启适配器才能使用(关闭适配器时报错,重启后立即收到所有消息,但telegram好像长时间没收到的消息会消失qvq),如果没办法修复希望可以添加定时重启适配器(例如一个小时重启一次)的功能qvq
Reproduce / 如何复现?
telegram运行一段时间后
AstrBot version, deployment method (e.g., Windows Docker Desktop deployment), provider used, and messaging platform used. / AstrBot 版本、部署方式(如 Windows Docker Desktop 部署)、使用的提供商、使用的消息平台适配器
4.25.1,windows,telegram
OS
Windows
Logs / 报错日志
重启时的日志[16:53:55.103] [Core] [INFO] [platform.manager:269]: 正在尝试终止 telegram 平台适配器 ...
Error while calling get_updates one more time to mark all fetched updates. Suppressing error to ensure graceful shutdown. When polling for updates is restarted, updates may be fetched again. Please adjust timeouts via ApplicationBuilder or the parameter get_updates_request of Bot.
Traceback (most recent call last):
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_transports\default.py", line 101, in map_httpcore_exceptions
yield
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_transports\default.py", line 394, in handle_async_request
resp = await self._pool.handle_async_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpcore_async\connection_pool.py", line 256, in handle_async_request
raise exc from None
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpcore_async\connection_pool.py", line 232, in handle_async_request
connection = await pool_request.wait_for_connection(timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpcore_async\connection_pool.py", line 35, in wait_for_connection
await self._connection_acquired.wait(timeout=timeout)
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpcore_synchronization.py", line 149, in wait
with map_exceptions(anyio_exc_map):
File "C:\PATH\Python312\Lib\contextlib.py", line 158, in exit
self.gen.throw(value)
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpcore_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.PoolTimeout
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\request_httpxrequest.py", line 279, in do_request
res = await self._client.request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_client.py", line 1540, in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_client.py", line 1629, in send
response = await self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_client.py", line 1657, in _send_handling_auth
response = await self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_client.py", line 1694, in _send_handling_redirects
response = await self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_client.py", line 1730, in _send_single_request
response = await transport.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_transports\default.py", line 393, in handle_async_request
with map_httpcore_exceptions():
File "C:\PATH\Python312\Lib\contextlib.py", line 158, in exit
self.gen.throw(value)
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_transports\default.py", line 118, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.PoolTimeout
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\ext_updater.py", line 400, in _get_updates_cleanup
await self.bot.get_updates(
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\ext_extbot.py", line 672, in get_updates
updates = await super().get_updates(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram_bot.py", line 4865, in get_updates
await self._post(
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram_bot.py", line 704, in _post
return await self._do_post(
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\ext_extbot.py", line 370, in _do_post
return await super()._do_post(
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram_bot.py", line 733, in _do_post
result = await request.post(
^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\request_baserequest.py", line 198, in post
result = await self._request_wrapper(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\request_baserequest.py", line 305, in _request_wrapper
code, payload = await self.do_request(
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\request_httpxrequest.py", line 289, in do_request
raise TimedOut(
telegram.error.TimedOut: Pool timeout: All connections in the connection pool are occupied. Request was not sent to Telegram. Consider adjusting the connection pool size or the pool timeout.
[16:53:56.137] [Core] [INFO] [telegram.tg_adapter:760]: Telegram adapter has been closed.
Are you willing to submit a PR? / 你愿意提交 PR 吗?
Code of Conduct
What happened / 发生了什么
telegram运行一段时间后无法接收新消息,控制台没有报错,重启适配器才能使用(关闭适配器时报错,重启后立即收到所有消息,但telegram好像长时间没收到的消息会消失qvq),如果没办法修复希望可以添加定时重启适配器(例如一个小时重启一次)的功能qvq
Reproduce / 如何复现?
telegram运行一段时间后
AstrBot version, deployment method (e.g., Windows Docker Desktop deployment), provider used, and messaging platform used. / AstrBot 版本、部署方式(如 Windows Docker Desktop 部署)、使用的提供商、使用的消息平台适配器
4.25.1,windows,telegram
OS
Windows
Logs / 报错日志
重启时的日志[16:53:55.103] [Core] [INFO] [platform.manager:269]: 正在尝试终止 telegram 平台适配器 ...
Error while calling
get_updatesone more time to mark all fetched updates. Suppressing error to ensure graceful shutdown. When polling for updates is restarted, updates may be fetched again. Please adjust timeouts viaApplicationBuilderor the parameterget_updates_requestofBot.Traceback (most recent call last):
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_transports\default.py", line 101, in map_httpcore_exceptions
yield
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_transports\default.py", line 394, in handle_async_request
resp = await self._pool.handle_async_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpcore_async\connection_pool.py", line 256, in handle_async_request
raise exc from None
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpcore_async\connection_pool.py", line 232, in handle_async_request
connection = await pool_request.wait_for_connection(timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpcore_async\connection_pool.py", line 35, in wait_for_connection
await self._connection_acquired.wait(timeout=timeout)
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpcore_synchronization.py", line 149, in wait
with map_exceptions(anyio_exc_map):
File "C:\PATH\Python312\Lib\contextlib.py", line 158, in exit
self.gen.throw(value)
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpcore_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.PoolTimeout
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\request_httpxrequest.py", line 279, in do_request
res = await self._client.request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_client.py", line 1540, in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_client.py", line 1629, in send
response = await self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_client.py", line 1657, in _send_handling_auth
response = await self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_client.py", line 1694, in _send_handling_redirects
response = await self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_client.py", line 1730, in _send_single_request
response = await transport.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_transports\default.py", line 393, in handle_async_request
with map_httpcore_exceptions():
File "C:\PATH\Python312\Lib\contextlib.py", line 158, in exit
self.gen.throw(value)
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\httpx_transports\default.py", line 118, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.PoolTimeout
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\ext_updater.py", line 400, in _get_updates_cleanup
await self.bot.get_updates(
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\ext_extbot.py", line 672, in get_updates
updates = await super().get_updates(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram_bot.py", line 4865, in get_updates
await self._post(
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram_bot.py", line 704, in _post
return await self._do_post(
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\ext_extbot.py", line 370, in _do_post
return await super()._do_post(
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram_bot.py", line 733, in _do_post
result = await request.post(
^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\request_baserequest.py", line 198, in post
result = await self._request_wrapper(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\request_baserequest.py", line 305, in _request_wrapper
code, payload = await self.do_request(
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\32582\Desktop\jmbot\AstrBotLauncher-0.1.5.6\AstrBot\venv\Lib\site-packages\telegram\request_httpxrequest.py", line 289, in do_request
raise TimedOut(
telegram.error.TimedOut: Pool timeout: All connections in the connection pool are occupied. Request was not sent to Telegram. Consider adjusting the connection pool size or the pool timeout.
[16:53:56.137] [Core] [INFO] [telegram.tg_adapter:760]: Telegram adapter has been closed.
Are you willing to submit a PR? / 你愿意提交 PR 吗?
Code of Conduct