Skip to content

Commit 9af7ad9

Browse files
committed
refactor: 优化kook pydantic数据类验证错误时的错误处理
1 parent 548454c commit 9af7ad9

2 files changed

Lines changed: 5 additions & 9 deletions

File tree

astrbot/core/platform/sources/kook/kook_adapter.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
import json
33
import re
44

5-
import pydantic
6-
75
from astrbot import logger
86
from astrbot.api.event import MessageChain
97
from astrbot.api.message_components import At, AtAll, Image, Plain
@@ -270,11 +268,7 @@ def _parse_card_message(self, data: KookMessageEvent) -> tuple[list, str]:
270268
if not isinstance(content, str):
271269
content = str(content)
272270

273-
try:
274-
card_list = KookCardMessageContainer.from_dict(json.loads(content))
275-
276-
except pydantic.ValidationError:
277-
raise
271+
card_list = KookCardMessageContainer.from_dict(json.loads(content))
278272

279273
text_parts: list[str] = []
280274
images: list[str] = []

astrbot/core/platform/sources/kook/kook_client.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,8 @@ async def get_gateway_url(self, resume=False, sn=0, session_id=None):
133133

134134
except pydantic.ValidationError as e:
135135
logger.error(f"[KOOK] 获取gateway失败, 响应数据格式错误: \n{e}")
136-
logger.error(f"[KOOK] 响应内容: {await resp.text()}")
136+
logger.error(f"[KOOK] 原始响应内容: {await resp.text()}")
137+
return None
137138

138139
except Exception as e:
139140
logger.error(f"[KOOK] 获取gateway异常: {e}")
@@ -204,7 +205,8 @@ async def listen(self):
204205

205206
except pydantic.ValidationError as e:
206207
logger.error(f"[KOOK] 解析WebSocket事件数据格式失败: \n{e}")
207-
logger.error(f"[KOOK] 响应内容: {msg}")
208+
logger.error(f"[KOOK] 原始响应内容: {msg}")
209+
continue
208210

209211
except asyncio.TimeoutError:
210212
# 超时检查,继续循环

0 commit comments

Comments
 (0)