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
6537f01a34
commit
b61bde6e3f
@ -1,4 +1,5 @@
|
||||
from .types import Target
|
||||
from .utils import text_fletten
|
||||
from .config.db_model import Cookie
|
||||
from .scheduler import scheduler_dict
|
||||
from .platform import platform_manager
|
||||
@ -20,4 +21,4 @@ async def check_sub_target_cookie(platform_name: str, target: Target, cookie: st
|
||||
|
||||
async def get_cookie_friendly_name(cookie: Cookie):
|
||||
# TODO
|
||||
return f"{cookie.platform_name} [{cookie.content[:10]}]"
|
||||
return text_fletten(f"{cookie.platform_name} [{cookie.content[:10]}]")
|
||||
|
@ -15,7 +15,9 @@ def do_add_cookie_target(add_cookie_target_matcher: type[Matcher]):
|
||||
|
||||
@add_cookie_target_matcher.handle()
|
||||
async def init_promote(state: T_State):
|
||||
res = await generate_sub_list_text(add_cookie_target_matcher, state, is_index=True, is_show_cookie=True)
|
||||
res = await generate_sub_list_text(
|
||||
add_cookie_target_matcher, state, is_index=True, is_show_cookie=True, is_hide_no_cookie_platfrom=True
|
||||
)
|
||||
res += "请输入要关联 cookie 的订阅的序号\n输入'取消'中止"
|
||||
await MessageFactory(await parse_text(res)).send()
|
||||
|
||||
|
@ -16,6 +16,7 @@ from ..types import Category
|
||||
from ..platform import platform_manager
|
||||
from ..plugin_config import plugin_config
|
||||
from ..apis import get_cookie_friendly_name
|
||||
from ..utils.site import is_cookie_client_manager
|
||||
|
||||
|
||||
def _configurable_to_me(to_me: bool = EventToMe()):
|
||||
@ -68,7 +69,12 @@ def admin_permission():
|
||||
|
||||
|
||||
async def generate_sub_list_text(
|
||||
matcher: type[Matcher], state: T_State, user_info: PlatformTarget = None, is_index=False, is_show_cookie=False
|
||||
matcher: type[Matcher],
|
||||
state: T_State,
|
||||
user_info: PlatformTarget = None,
|
||||
is_index=False,
|
||||
is_show_cookie=False,
|
||||
is_hide_no_cookie_platfrom=False,
|
||||
):
|
||||
if user_info:
|
||||
sub_list = await config.list_subscribe(user_info)
|
||||
@ -78,6 +84,12 @@ async def generate_sub_list_text(
|
||||
next(group)
|
||||
for key, group in groupby(sorted(sub_list, key=attrgetter("target_id")), key=attrgetter("target_id"))
|
||||
]
|
||||
if is_hide_no_cookie_platfrom:
|
||||
sub_list = [
|
||||
sub
|
||||
for sub in sub_list
|
||||
if is_cookie_client_manager(platform_manager.get(sub.target.platform_name).site.client_mgr)
|
||||
]
|
||||
if not sub_list:
|
||||
await matcher.finish("暂无已订阅账号\n请使用“添加订阅”命令添加订阅")
|
||||
res = "订阅的帐号为:\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user