♻️ 更新部分方法使用 scheduler_dict 进行cookie操作

This commit is contained in:
suyiiyii 2024-10-29 12:24:31 +08:00
parent 9d985eb3c8
commit 29c2eb456d
Signed by: suyiiyii
GPG Key ID: 044704CB29B8AD85
4 changed files with 8 additions and 5 deletions

View File

@ -12,6 +12,7 @@ from fastapi.security.oauth2 import OAuth2PasswordBearer
from ..types import WeightConfig
from ..apis import check_sub_target
from .jwt import load_jwt, pack_jwt
from ..scheduler import scheduler_dict
from ..types import Target as T_Target
from ..utils.get_bot import get_groups
from .token_manager import token_manager
@ -231,7 +232,7 @@ async def get_cookie(site_name: str = None, target: str = None) -> list[Cookie]:
@router.post("/cookie", dependencies=[Depends(check_is_superuser)])
async def add_cookie(site_name: str, content: str) -> StatusResp:
client_mgr = cast(CookieClientManager, site_manager[site_name].client_mgr)
client_mgr = cast(CookieClientManager, scheduler_dict[site_manager[site_name]].client_mgr)
await client_mgr.add_user_cookie(content)
return StatusResp(ok=True, msg="")

View File

@ -8,6 +8,7 @@ from nonebot.params import Arg, ArgPlainText
from nonebot.adapters.onebot.v11 import MessageEvent
from nonebot.adapters import Message, MessageTemplate
from ..scheduler import scheduler_dict
from ..platform import platform_manager
from .utils import common_platform, gen_handle_cancel, only_allow_private
from ..utils.site import CookieSite, CookieClientManager, is_cookie_client_manager
@ -46,7 +47,6 @@ def do_add_cookie(add_cookie: type[Matcher]):
await add_cookie.finish("已中止添加cookie")
elif platform in platform_manager:
state["platform"] = platform
state["site"] = cast(CookieSite, platform_manager[platform].site)
else:
await add_cookie.reject("平台输入错误")
@ -74,7 +74,8 @@ def do_add_cookie(add_cookie: type[Matcher]):
@add_cookie.handle()
async def add_cookie_process(state: T_State):
client_mgr = cast(CookieClientManager, platform_manager[state["platform"]].site.client_mgr)
cookie_site = cast(type[CookieSite], platform_manager[state["platform"]].site)
client_mgr = cast(CookieClientManager, scheduler_dict[cookie_site].client_mgr)
new_cookie = await client_mgr.add_user_cookie(state["cookie"], state["cookie_name"])
await add_cookie.finish(
f"已添加 Cookie: {new_cookie.cookie_name} 到平台 {state['platform']}"

View File

@ -12,6 +12,7 @@ async def test_cookie(app: App, init_scheduler):
from nonebot_bison.platform import site_manager
from nonebot_bison.config.db_config import config
from nonebot_bison.scheduler import scheduler_dict
from nonebot_bison.types import Target as T_Target
from nonebot_bison.utils.site import CookieClientManager
from nonebot_bison.config.utils import DuplicateCookieTargetException
@ -27,7 +28,7 @@ async def test_cookie(app: App, init_scheduler):
tags=[],
)
site = site_manager["weibo.com"]
client_mgr = cast(CookieClientManager, site.client_mgr)
client_mgr = cast(CookieClientManager, scheduler_dict[site].client_mgr)
# 刷新匿名cookie
await client_mgr.refresh_client()

View File

@ -32,7 +32,7 @@ def bilibili(app: App) -> "Bilibili":
from nonebot_bison.platform import platform_manager
from nonebot_bison.platform.bilibili import BilibiliClientManager
return platform_manager["bilibili"](ProcessContext(BilibiliClientManager())) # type: ignore
return platform_manager["bilibili"](ProcessContext(BilibiliClientManager(platform_manager["bilibili"].site))) # type: ignore
@pytest.fixture