优化订阅过程

This commit is contained in:
Azide 2022-03-11 23:57:06 +08:00
parent a39a9cf390
commit 026390e6f2

View File

@ -112,7 +112,7 @@ def do_add_sub(add_sub: Type[Matcher]):
if platform_manager[state["platform"]].has_target:
state[
"_prompt"
] = "请输入订阅用户的id详情查阅https://nonebot-bison.vercel.app/usage/#%E6%89%80%E6%94%AF%E6%8C%81%E5%B9%B3%E5%8F%B0%E7%9A%84uid"
] = "请输入订阅用户的id:\n查询id获取方法请回复:“查询”"
else:
state["id"] = "default"
state["name"] = await platform_manager[state["platform"]].get_target_name(
@ -124,6 +124,8 @@ def do_add_sub(add_sub: Type[Matcher]):
return
target = str(event.get_message()).strip()
try:
if target == "查询":
raise LookupError
if target == "取消":
raise KeyboardInterrupt
name = await check_sub_target(state["platform"], target)
@ -131,10 +133,19 @@ def do_add_sub(add_sub: Type[Matcher]):
raise ValueError
state["id"] = target
state["name"] = name
except (LookupError):
url="https://nonebot-bison.vercel.app/usage/#%E6%89%80%E6%94%AF%E6%8C%81%E5%B9%B3%E5%8F%B0%E7%9A%84uid"
title="Bison所支持的平台UID"
content="查询相关平台的uid格式或获取方式"
image="https://s3.bmp.ovh/imgs/2022/03/ab3cc45d83bd3dd3.jpg"
getId_share=f"[CQ:share,url={url},title={title},content={content},image={image}"#缩短字符串格式长度,以及方便后续修改为消息段格式
await add_sub.reject(Message(getId_share))
except (KeyboardInterrupt):
await add_sub.finish("已中止订阅")
except (ValueError):
await add_sub.reject("id输入错误")
else:
await add_sub.send("即将订阅的用户为:{} {} {}\n如有错误请输入“取消”重新订阅".format(state["platform"],state["name"],state["id"]))
@add_sub.got("id", _gen_prompt_template("{_prompt}"), [Depends(parse_id)])
async def init_cat(state: T_State):