This commit is contained in:
2026-01-06 23:52:47 +08:00
parent afd2c36f88
commit f33d31f5fc

View File

@@ -199,19 +199,21 @@ class GroupAPI(BaseAPI):
# 增加日志记录 API 原始返回
logger.debug(f"OneBot API 'get_group_list' raw response: {res}")
# 健壮性处理:如果返回的是字符串,尝试解析为 JSON
if isinstance(res, str):
try:
res = json.loads(res)
except json.JSONDecodeError:
logger.error(f"Failed to decode JSON from 'get_group_list' response: {res}")
# 健壮性处理:处理标准的 OneBot v11 响应格式
if isinstance(res, dict) and res.get("status") == "ok":
group_data = res.get("data", [])
if isinstance(group_data, list):
return [GroupInfo(**item) for item in group_data]
else:
logger.error(f"The 'data' field in 'get_group_list' response is not a list: {group_data}")
return []
if not isinstance(res, list):
logger.error(f"Expected a list from 'get_group_list', but got {type(res)}: {res}")
return []
# 兼容处理:如果返回的是列表(非标准但可能存在)
if isinstance(res, list):
return [GroupInfo(**item) for item in res]
return [GroupInfo(**item) for item in res]
logger.error(f"Unexpected response format from 'get_group_list': {res}")
return []
async def get_group_member_info(self, group_id: int, user_id: int, no_cache: bool = False) -> GroupMemberInfo:
"""