mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-02 09:26:12 +08:00
✨ 支持对话添加cookie
This commit is contained in:
parent
c264ad374b
commit
b655eff755
@ -10,3 +10,8 @@ async def check_sub_target(platform_name: str, target: Target):
|
||||
client = await scheduler.client_mgr.get_query_name_client()
|
||||
|
||||
return await platform_manager[platform_name].get_target_name(client, target)
|
||||
|
||||
|
||||
async def check_sub_target_cookie(platform_name: str, target: Target, cookie: str):
|
||||
# TODO
|
||||
return "check pass"
|
||||
|
@ -48,6 +48,7 @@ add_cookie_matcher = on_command(
|
||||
priority=5,
|
||||
block=True,
|
||||
)
|
||||
add_cookie_matcher.handle()(set_target_user_info)
|
||||
do_add_cookie(add_cookie_matcher)
|
||||
|
||||
group_manage_matcher = on_command("群管理", rule=to_me(), permission=SUPERUSER, priority=4, block=True)
|
||||
|
@ -6,8 +6,8 @@ from nonebot.adapters import Message, MessageTemplate
|
||||
|
||||
from ..types import Target
|
||||
from ..config import config
|
||||
from ..apis import check_sub_target
|
||||
from ..platform import platform_manager
|
||||
from ..apis import check_sub_target_cookie
|
||||
from .utils import common_platform, ensure_user_info, gen_handle_cancel
|
||||
|
||||
|
||||
@ -44,21 +44,18 @@ def do_add_cookie(add_cookie: type[Matcher]):
|
||||
async def prepare_get_id(matcher: Matcher, state: T_State):
|
||||
cur_platform = platform_manager[state["platform"]]
|
||||
if cur_platform.has_target:
|
||||
state["_prompt"] = (
|
||||
("1." + cur_platform.parse_target_promot + "\n2.") if cur_platform.parse_target_promot else ""
|
||||
) + "请输入 Cookie \n查询id获取方法请回复:“查询”"
|
||||
state["_prompt"] = "请输入 Cookie"
|
||||
else:
|
||||
matcher.set_arg("cookie", None) # type: ignore
|
||||
state["id"] = "default"
|
||||
state["name"] = await check_sub_target(state["platform"], Target(""))
|
||||
|
||||
@add_cookie.got("cookie", MessageTemplate("{_prompt}"), [handle_cancel])
|
||||
async def got_id(state: T_State, cookie: Message = Arg()):
|
||||
async def got_cookie(state: T_State, cookie: Message = Arg()):
|
||||
cookie_text = cookie.extract_plain_text()
|
||||
state["cookie"] = cookie_text
|
||||
state["name"] = await check_sub_target(state["platform"], Target(""))
|
||||
state["name"] = await check_sub_target_cookie(state["platform"], Target(""), cookie_text)
|
||||
|
||||
@add_cookie.handle()
|
||||
async def add_cookie(state: T_State, user: PlatformTarget = Arg("target_user_info")):
|
||||
async def add_cookie_process(state: T_State, user: PlatformTarget = Arg("target_user_info")):
|
||||
await config.add_cookie(user, state["platform"], state["cookie"])
|
||||
await add_cookie.finish(f"已添加 Cookie: {state['cookie']} 到平台 {state['platform']}")
|
||||
|
0
nonebot_bison/sub_manager/add_cookie_target.py
Normal file
0
nonebot_bison/sub_manager/add_cookie_target.py
Normal file
Loading…
x
Reference in New Issue
Block a user