diff --git a/handlers/command.py b/handlers/command.py index 7efd5e8..9197d57 100644 --- a/handlers/command.py +++ b/handlers/command.py @@ -1,4 +1,4 @@ -"""命令监听处理器:匹配 #命令名+空格 格式的消息,转发到外部回调 URL 并自动回复。""" +"""命令监听处理器:匹配 #命令名 格式的消息,转发到外部回调 URL 并自动回复。""" import re @@ -8,9 +8,9 @@ from ..config import COMMAND_CALLBACK_URL, COMMAND_LENGTH, COMMAND_PREFIX def build_command_pattern() -> re.Pattern: - """构建命令匹配正则:# + N个中文字 + 空格。""" + """构建命令匹配正则:# + N个中文字,后面可跟空格+内容或无内容。""" return re.compile( - rf"^{re.escape(COMMAND_PREFIX)}([\u4e00-\u9fff]{{{COMMAND_LENGTH}}})\s+(.+)", + rf"^{re.escape(COMMAND_PREFIX)}([\u4e00-\u9fff]{{{COMMAND_LENGTH}}})(?:\s+(.+))?$", re.DOTALL, ) @@ -25,7 +25,7 @@ def parse_command(raw_message: str) -> dict | None: return None return { "command": match.group(1), - "content": match.group(2).strip(), + "content": match.group(2).strip() if match.group(2) else "", "raw_message": raw_message.strip(), }