mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-02 09:26:12 +08:00
49 lines
2.1 KiB
Python
49 lines
2.1 KiB
Python
from nonebot.typing import T_State
|
|
from nonebot.matcher import Matcher
|
|
from nonebot.params import EventPlainText
|
|
from nonebot_plugin_saa import MessageFactory
|
|
from nonebot.adapters.onebot.v11 import MessageEvent
|
|
|
|
from ..config import config
|
|
from ..utils import parse_text
|
|
from .utils import gen_handle_cancel, only_allow_private
|
|
|
|
|
|
def do_del_cookie_target(del_cookie_target: type[Matcher]):
|
|
handle_cancel = gen_handle_cancel(del_cookie_target, "取消关联中止")
|
|
|
|
@del_cookie_target.handle()
|
|
async def send_list(state: T_State, event: MessageEvent):
|
|
await only_allow_private(event, del_cookie_target)
|
|
cookie_targets = await config.get_cookie_target()
|
|
if not cookie_targets:
|
|
await del_cookie_target.finish("暂无已关联 Cookie\n请使用“添加cookie”命令添加关联")
|
|
res = "已关联的 Cookie 为:\n"
|
|
state["cookie_target_table"] = {}
|
|
for index, cookie_target in enumerate(cookie_targets, 1):
|
|
friendly_name = cookie_target.cookie.cookie_name
|
|
state["cookie_target_table"][index] = {
|
|
"platform_name": cookie_target.target.platform_name,
|
|
"target": cookie_target.target,
|
|
"friendly_name": friendly_name,
|
|
"cookie_target": cookie_target,
|
|
}
|
|
res += f"{index} {cookie_target.target.platform_name} {cookie_target.target.target_name} {friendly_name}\n"
|
|
if res[-1] != "\n":
|
|
res += "\n"
|
|
res += "请输入要删除的关联的序号\n输入'取消'中止"
|
|
await MessageFactory(await parse_text(res)).send()
|
|
|
|
@del_cookie_target.receive(parameterless=[handle_cancel])
|
|
async def do_del(
|
|
state: T_State,
|
|
index_str: str = EventPlainText(),
|
|
):
|
|
try:
|
|
index = int(index_str)
|
|
await config.delete_cookie_target_by_id(state["cookie_target_table"][index]["cookie_target"].id)
|
|
except Exception:
|
|
await del_cookie_target.reject("删除错误")
|
|
else:
|
|
await del_cookie_target.finish("删除成功")
|