mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-04 02:26:11 +08:00
✨ 关联cookie时,只显示支持的订阅
This commit is contained in:
parent
6537f01a34
commit
b61bde6e3f
@ -1,4 +1,5 @@
|
|||||||
from .types import Target
|
from .types import Target
|
||||||
|
from .utils import text_fletten
|
||||||
from .config.db_model import Cookie
|
from .config.db_model import Cookie
|
||||||
from .scheduler import scheduler_dict
|
from .scheduler import scheduler_dict
|
||||||
from .platform import platform_manager
|
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):
|
async def get_cookie_friendly_name(cookie: Cookie):
|
||||||
# TODO
|
# 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()
|
@add_cookie_target_matcher.handle()
|
||||||
async def init_promote(state: T_State):
|
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输入'取消'中止"
|
res += "请输入要关联 cookie 的订阅的序号\n输入'取消'中止"
|
||||||
await MessageFactory(await parse_text(res)).send()
|
await MessageFactory(await parse_text(res)).send()
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ from ..types import Category
|
|||||||
from ..platform import platform_manager
|
from ..platform import platform_manager
|
||||||
from ..plugin_config import plugin_config
|
from ..plugin_config import plugin_config
|
||||||
from ..apis import get_cookie_friendly_name
|
from ..apis import get_cookie_friendly_name
|
||||||
|
from ..utils.site import is_cookie_client_manager
|
||||||
|
|
||||||
|
|
||||||
def _configurable_to_me(to_me: bool = EventToMe()):
|
def _configurable_to_me(to_me: bool = EventToMe()):
|
||||||
@ -68,7 +69,12 @@ def admin_permission():
|
|||||||
|
|
||||||
|
|
||||||
async def generate_sub_list_text(
|
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:
|
if user_info:
|
||||||
sub_list = await config.list_subscribe(user_info)
|
sub_list = await config.list_subscribe(user_info)
|
||||||
@ -78,6 +84,12 @@ async def generate_sub_list_text(
|
|||||||
next(group)
|
next(group)
|
||||||
for key, group in groupby(sorted(sub_list, key=attrgetter("target_id")), key=attrgetter("target_id"))
|
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:
|
if not sub_list:
|
||||||
await matcher.finish("暂无已订阅账号\n请使用“添加订阅”命令添加订阅")
|
await matcher.finish("暂无已订阅账号\n请使用“添加订阅”命令添加订阅")
|
||||||
res = "订阅的帐号为:\n"
|
res = "订阅的帐号为:\n"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user