diff --git a/astrbot/core/log.py b/astrbot/core/log.py index f51d7a7940..15b50dbdd7 100644 --- a/astrbot/core/log.py +++ b/astrbot/core/log.py @@ -203,6 +203,8 @@ class LogManager: "asyncio": logging.WARNING, "tzlocal": logging.WARNING, "apscheduler": logging.WARNING, + "httpx": logging.WARNING, + "httpcore": logging.WARNING, } @classmethod diff --git a/astrbot/core/platform/sources/telegram/tg_adapter.py b/astrbot/core/platform/sources/telegram/tg_adapter.py index 636e5d9f4c..9b2cfdd2ab 100644 --- a/astrbot/core/platform/sources/telegram/tg_adapter.py +++ b/astrbot/core/platform/sources/telegram/tg_adapter.py @@ -290,12 +290,19 @@ async def run(self) -> None: await asyncio.sleep(self._polling_restart_delay) def _on_polling_error(self, error: Exception) -> None: + # Non-network errors (e.g. Conflict when two bot instances poll the + # same token) have a clear cause; log a concise message instead of a + # full traceback to avoid filling the log. + if not isinstance(error, NetworkError): + logger.error( + f"Telegram polling request failed: {type(error).__name__}: {error!s}" + ) + return + logger.error( f"Telegram polling request failed: {type(error).__name__}: {error!s}", exc_info=error, ) - if not isinstance(error, NetworkError): - return if self._loop is None: return