From cdebc31ef6e7f44445b663e1aab381a607333e1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=AA=E4=BE=86=E6=98=9F=E7=B9=94?= Date: Fri, 2 May 2025 07:09:28 +0800 Subject: [PATCH] Update src/plugins/group_nickname/nickname_mapper.py Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> --- src/plugins/group_nickname/nickname_mapper.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/plugins/group_nickname/nickname_mapper.py b/src/plugins/group_nickname/nickname_mapper.py index 0723f8ee..1d834294 100644 --- a/src/plugins/group_nickname/nickname_mapper.py +++ b/src/plugins/group_nickname/nickname_mapper.py @@ -102,11 +102,12 @@ async def analyze_chat_for_nicknames( # 清理可能的 Markdown 代码块标记 response_content = response_content.strip() - if response_content.startswith("```json"): - response_content = response_content[7:] - if response_content.endswith("```"): - response_content = response_content[:-3] - response_content = response_content.strip() + # 使用正则表达式处理各种 Markdown 代码块情况 + import re + markdown_code_regex = re.compile(r"^```(?:\w+)?\s*\n(.*?)\n\s*```$", re.DOTALL) + match = markdown_code_regex.match(response_content) + if match: + response_content = match.group(1).strip() try: result = json.loads(response_content)