From 5111baa89c0a59c9998344824f1cba1880816658 Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Fri, 13 Sep 2024 00:11:49 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E5=BA=94=E7=94=A8=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=8E=A8=E8=8D=90=E7=9A=84=E9=87=8D=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nonebot_bison/scheduler/manager.py | 2 +- nonebot_bison/sub_manager/add_cookie.py | 25 +++++++++++++------------ nonebot_bison/utils/site.py | 5 ++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/nonebot_bison/scheduler/manager.py b/nonebot_bison/scheduler/manager.py index 3c4a5a3..852f1bb 100644 --- a/nonebot_bison/scheduler/manager.py +++ b/nonebot_bison/scheduler/manager.py @@ -32,7 +32,7 @@ async def init_scheduler(): _schedule_class_platform_dict[site].append(platform_name) for site, target_list in _schedule_class_dict.items(): if is_cookie_client_manager(site.client_mgr): - await site.client_mgr.init_universal_cookie() + await site.client_mgr.refresh_universal_cookie() if not plugin_config.bison_use_browser and site.require_browser: logger.warning(f"{site.name} requires browser, it will not schedule.") continue diff --git a/nonebot_bison/sub_manager/add_cookie.py b/nonebot_bison/sub_manager/add_cookie.py index 03dbe5b..b7d35ac 100644 --- a/nonebot_bison/sub_manager/add_cookie.py +++ b/nonebot_bison/sub_manager/add_cookie.py @@ -1,14 +1,14 @@ from typing import cast -from nonebot.adapters import Message, MessageTemplate +from nonebot.typing import T_State from nonebot.matcher import Matcher from nonebot.params import Arg, ArgPlainText -from nonebot.typing import T_State +from nonebot.adapters import Message, MessageTemplate -from .utils import common_platform, gen_handle_cancel from ..config import config from ..config.db_model import Cookie from ..platform import platform_manager +from .utils import common_platform, gen_handle_cancel from ..utils.site import CookieClientManager, is_cookie_client_manager @@ -20,12 +20,12 @@ def do_add_cookie(add_cookie: type[Matcher]): state["_prompt"] = ( "请输入想要添加 Cookie 的平台,目前支持,请输入冒号左边的名称:\n" + "".join( - [ - f"{platform_name}: {platform_manager[platform_name].name}\n" - for platform_name in common_platform - if is_cookie_client_manager(platform_manager[platform_name].site.client_mgr) - ] - ) + [ + f"{platform_name}: {platform_manager[platform_name].name}\n" + for platform_name in common_platform + if is_cookie_client_manager(platform_manager[platform_name].site.client_mgr) + ] + ) + "要查看全部平台请输入:“全部”\n中止添加cookie过程请输入:“取消”" ) @@ -54,10 +54,11 @@ def do_add_cookie(add_cookie: type[Matcher]): @add_cookie.got("cookie", MessageTemplate("{_prompt}"), [handle_cancel]) async def got_cookie(state: T_State, cookie: Message = Arg()): - client_mgr: type[CookieClientManager] = cast(type[CookieClientManager], - platform_manager[state["platform"]].site.client_mgr) + client_mgr: type[CookieClientManager] = cast( + type[CookieClientManager], platform_manager[state["platform"]].site.client_mgr + ) cookie_text = cookie.extract_plain_text() - if not await client_mgr.valid_cookie(cookie_text): + if not await client_mgr.validate_cookie(cookie_text): await add_cookie.reject("无效的 Cookie,请检查后重新输入,详情见<待添加的文档>") state["cookie"] = cookie_text diff --git a/nonebot_bison/utils/site.py b/nonebot_bison/utils/site.py index ccb1f29..569b80b 100644 --- a/nonebot_bison/utils/site.py +++ b/nonebot_bison/utils/site.py @@ -52,7 +52,7 @@ class CookieClientManager(ClientManager): _cookie_cd: int = 10 @classmethod - async def init_universal_cookie(cls): + async def refresh_universal_cookie(cls): """移除已有的匿名cookie,添加一个新的匿名cookie""" universal_cookies = await config.get_unviersal_cookie(cls._site_name) universal_cookie = Cookie(site_name=cls._site_name, content="{}", is_universal=True, tags={"temporary": True}) @@ -71,7 +71,7 @@ class CookieClientManager(ClientManager): return cookie @classmethod - async def valid_cookie(cls, content: str) -> bool: + async def validate_cookie(cls, content: str) -> bool: """验证 cookie 内容是否有效,添加 cookie 时用,可根据平台的具体情况进行重写""" try: data = json.loads(content) @@ -133,7 +133,6 @@ class CookieClientManager(ClientManager): if cookie: cookies.update(json.loads(cookie.content)) client.cookies = cookies - client._bison_cookie = cookie client.event_hooks = {"response": [self._generate_hook(cookie)]} return client