From a7f52e33fbcd360bc4fde22ea9cb22d782a1f4a0 Mon Sep 17 00:00:00 2001 From: zhilv Date: Sun, 3 May 2026 00:37:16 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(command):=20=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E8=B6=85=E6=97=B6=E4=BB=8E=2010s=20=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=8F=AF=E9=85=8D=E7=BD=AE=EF=BC=8C=E9=BB=98=E8=AE=A4=20180s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 COMMAND_CALLBACK_TIMEOUT 配置项,默认 180 秒 - 生图等耗时命令不再因超时中断 --- config.py | 1 + handlers/command.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/config.py b/config.py index 28d6416..123c596 100644 --- a/config.py +++ b/config.py @@ -37,3 +37,4 @@ COMMAND_PREFIX: str = os.environ.get("COMMAND_PREFIX", "#") COMMAND_LENGTH_MIN: int = int(os.environ.get("COMMAND_LENGTH_MIN", "2")) COMMAND_LENGTH_MAX: int = int(os.environ.get("COMMAND_LENGTH_MAX", "4")) COMMAND_CALLBACK_URL: str = os.environ.get("COMMAND_CALLBACK_URL", "") +COMMAND_CALLBACK_TIMEOUT: int = int(os.environ.get("COMMAND_CALLBACK_TIMEOUT", "180")) diff --git a/handlers/command.py b/handlers/command.py index 54afa68..86eba47 100644 --- a/handlers/command.py +++ b/handlers/command.py @@ -4,7 +4,7 @@ import re import aiohttp -from ..config import COMMAND_CALLBACK_URL, COMMAND_LENGTH_MAX, COMMAND_LENGTH_MIN, COMMAND_PREFIX +from ..config import COMMAND_CALLBACK_TIMEOUT, COMMAND_CALLBACK_URL, COMMAND_LENGTH_MAX, COMMAND_LENGTH_MIN, COMMAND_PREFIX def build_command_pattern() -> re.Pattern: @@ -64,7 +64,7 @@ async def send_command_callback(data: dict, event, api, logger) -> None: async with session.post( COMMAND_CALLBACK_URL, json=data, - timeout=aiohttp.ClientTimeout(total=10), + timeout=aiohttp.ClientTimeout(total=COMMAND_CALLBACK_TIMEOUT), ) as resp: if resp.status >= 400: body = await resp.text()