diff --git a/config.py b/config.py index 7f245ac..28d6416 100644 --- a/config.py +++ b/config.py @@ -34,5 +34,6 @@ QQ_API_MAX_RETRIES: int = int(os.environ.get("QQ_API_MAX_RETRIES", "2")) # ── 命令监听 ──────────────────────────────────────────────── COMMAND_PREFIX: str = os.environ.get("COMMAND_PREFIX", "#") -COMMAND_LENGTH: int = int(os.environ.get("COMMAND_LENGTH", "4")) +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", "") diff --git a/handlers/command.py b/handlers/command.py index 9197d57..545f705 100644 --- a/handlers/command.py +++ b/handlers/command.py @@ -4,13 +4,13 @@ import re import aiohttp -from ..config import COMMAND_CALLBACK_URL, COMMAND_LENGTH, COMMAND_PREFIX +from ..config import COMMAND_CALLBACK_URL, COMMAND_LENGTH_MAX, COMMAND_LENGTH_MIN, COMMAND_PREFIX def build_command_pattern() -> re.Pattern: - """构建命令匹配正则:# + N个中文字,后面可跟空格+内容或无内容。""" + """构建命令匹配正则:# + 2~4个中文字,后面可跟空格+内容或无内容。""" return re.compile( - rf"^{re.escape(COMMAND_PREFIX)}([\u4e00-\u9fff]{{{COMMAND_LENGTH}}})(?:\s+(.+))?$", + rf"^{re.escape(COMMAND_PREFIX)}([\u4e00-\u9fff]{{{COMMAND_LENGTH_MIN},{COMMAND_LENGTH_MAX}}})(?:\s+(.+))?$", re.DOTALL, )