From 29a807df5a552aaf60b930fc6ecc1a95abec6687 Mon Sep 17 00:00:00 2001
From: suyiiyii <suyiiyii@gmail.com>
Date: Thu, 12 Dec 2024 10:20:33 +0800
Subject: [PATCH] :bug: fix type hint

---
 nonebot_bison/platform/bilibili/scheduler.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/nonebot_bison/platform/bilibili/scheduler.py b/nonebot_bison/platform/bilibili/scheduler.py
index a7bee83..eeed921 100644
--- a/nonebot_bison/platform/bilibili/scheduler.py
+++ b/nonebot_bison/platform/bilibili/scheduler.py
@@ -30,6 +30,7 @@ B = TypeVar("B", bound="Bilibili")
 class BilibiliClientManager(CookieClientManager):
     _default_cookie_cd = timedelta(seconds=120)
     _current_user_cookie: CookieModel | None = None
+    _site_name = "bilibili.com"
 
     async def _get_cookies(self) -> list[Cookie]:
         browser = await get_browser()
@@ -64,11 +65,12 @@ class BilibiliClientManager(CookieClientManager):
         )
         return cookie
 
-    def _generate_hook(self, cookie: Cookie) -> Callable:
+    def _generate_hook(self, cookie: CookieModel) -> Callable:
         """hook 函数生成器,用于回写请求状态到数据库"""
 
         async def _response_hook(resp: Response):
-            if resp.status_code == 200:
+            await resp.aread()
+            if resp.status_code == 200 and "-352" not in resp.text:
                 logger.trace(f"请求成功: {cookie.id} {resp.request.url}")
                 cookie.status = "success"
             else:
@@ -89,13 +91,13 @@ class BilibiliClientManager(CookieClientManager):
         cookie = min(available_cookies, key=lambda x: x.last_usage)
         return cookie
 
-    async def _choose_cookie(self, target: Target | None) -> Cookie:
+    async def _choose_cookie(self, target: Target | None) -> CookieModel:
         """选择 cookie 的具体算法"""
         if self._current_user_cookie is None:
             self._current_user_cookie = await self._get_next_user_cookie()
         if self._current_user_cookie:
             return self._current_user_cookie
-        return await config.get_cookie(self._site_name, is_anonymous=True)
+        return (await config.get_cookie(self._site_name, is_anonymous=True))[0]
 
     @override
     async def refresh_client(self):