This commit is contained in:
felinae98
2022-02-16 21:42:49 +08:00
parent a0b98f5c9c
commit 78276e51ee
12 changed files with 317 additions and 113 deletions
@@ -10,7 +10,6 @@ from nonebot.adapters.onebot.v11 import Bot
from nonebot.adapters.onebot.v11.event import GroupMessageEvent, PrivateMessageEvent
from nonebot.drivers.fastapi import Driver
from nonebot.log import logger
from nonebot.params import State
from nonebot.rule import to_me
from nonebot.typing import T_State
@@ -152,9 +151,7 @@ if (STATIC_PATH / "index.html").exists():
get_token = on_command("后台管理", rule=to_me(), priority=5)
@get_token.handle()
async def send_token(
bot: "Bot", event: PrivateMessageEvent, state: T_State = State()
):
async def send_token(bot: "Bot", event: PrivateMessageEvent, state: T_State):
token = tm.get_user_token((event.get_user_id(), event.sender.nickname))
await get_token.finish(f"请访问: {plugin_config.bison_outer_url}auth/{token}")
+15 -15
View File
@@ -1,12 +1,12 @@
from typing import Type
from nonebot import on_command
from nonebot.adapters._event import Event as AbstractEvent
from nonebot.adapters import Event as AbstractEvent
from nonebot.adapters.onebot.v11 import Bot, Event
from nonebot.adapters.onebot.v11.message import Message
from nonebot.adapters.onebot.v11.permission import GROUP_ADMIN, GROUP_OWNER
from nonebot.matcher import Matcher
from nonebot.params import Depends, State
from nonebot.params import Depends
from nonebot.permission import SUPERUSER
from nonebot.rule import to_me
from nonebot.typing import T_State
@@ -42,7 +42,7 @@ async def send_help():
def do_add_sub(add_sub: Type[Matcher]):
@add_sub.handle()
async def init_promote(state: T_State = State()):
async def init_promote(state: T_State):
state["_prompt"] = (
"请输入想要订阅的平台,目前支持,请输入冒号左边的名称:\n"
+ "".join(
@@ -56,7 +56,7 @@ def do_add_sub(add_sub: Type[Matcher]):
+ "要查看全部平台请输入:“全部”"
)
async def parse_platform(event: AbstractEvent, state: T_State = State()) -> None:
async def parse_platform(event: AbstractEvent, state: T_State) -> None:
if not isinstance(state["platform"], Message):
return
platform = str(event.get_message()).strip()
@@ -76,7 +76,7 @@ def do_add_sub(add_sub: Type[Matcher]):
@add_sub.got(
"platform", _gen_prompt_template("{_prompt}"), [Depends(parse_platform)]
)
async def init_id(state: T_State = State()):
async def init_id(state: T_State):
if platform_manager[state["platform"]].has_target:
state[
"_prompt"
@@ -87,7 +87,7 @@ def do_add_sub(add_sub: Type[Matcher]):
Target("")
)
async def parse_id(event: AbstractEvent, state: T_State = State()):
async def parse_id(event: AbstractEvent, state: T_State):
if not isinstance(state["id"], Message):
return
target = str(event.get_message()).strip()
@@ -101,7 +101,7 @@ def do_add_sub(add_sub: Type[Matcher]):
await add_sub.reject("id输入错误")
@add_sub.got("id", _gen_prompt_template("{_prompt}"), [Depends(parse_id)])
async def init_cat(state: T_State = State()):
async def init_cat(state: T_State):
if not platform_manager[state["platform"]].categories:
state["cats"] = []
return
@@ -109,7 +109,7 @@ def do_add_sub(add_sub: Type[Matcher]):
" ".join(list(platform_manager[state["platform"]].categories.values()))
)
async def parser_cats(event: AbstractEvent, state: T_State = State()):
async def parser_cats(event: AbstractEvent, state: T_State):
if not isinstance(state["cats"], Message):
return
res = []
@@ -120,13 +120,13 @@ def do_add_sub(add_sub: Type[Matcher]):
state["cats"] = res
@add_sub.got("cats", _gen_prompt_template("{_prompt}"), [Depends(parser_cats)])
async def init_tag(state: T_State = State()):
async def init_tag(state: T_State):
if not platform_manager[state["platform"]].enable_tag:
state["tags"] = []
return
state["_prompt"] = '请输入要订阅的tag,订阅所有tag输入"全部标签"'
async def parser_tags(event: AbstractEvent, state: T_State = State()):
async def parser_tags(event: AbstractEvent, state: T_State):
if not isinstance(state["tags"], Message):
return
if str(event.get_message()).strip() == "全部标签":
@@ -135,7 +135,7 @@ def do_add_sub(add_sub: Type[Matcher]):
state["tags"] = str(event.get_message()).strip().split()
@add_sub.got("tags", _gen_prompt_template("{_prompt}"), [Depends(parser_tags)])
async def add_sub_process(event: Event, state: T_State = State()):
async def add_sub_process(event: Event, state: T_State):
config = Config()
config.add_subscribe(
state.get("_user_id") or event.group_id,
@@ -151,7 +151,7 @@ def do_add_sub(add_sub: Type[Matcher]):
def do_query_sub(query_sub: Type[Matcher]):
@query_sub.handle()
async def _(event: Event, state: T_State = State()):
async def _(event: Event, state: T_State):
config: Config = Config()
sub_list = config.list_subscribe(
state.get("_user_id") or event.group_id, "group"
@@ -176,7 +176,7 @@ def do_query_sub(query_sub: Type[Matcher]):
def do_del_sub(del_sub: Type[Matcher]):
@del_sub.handle()
async def send_list(bot: Bot, event: Event, state: T_State = State()):
async def send_list(bot: Bot, event: Event, state: T_State):
config: Config = Config()
sub_list = config.list_subscribe(
state.get("_user_id") or event.group_id, "group"
@@ -205,7 +205,7 @@ def do_del_sub(del_sub: Type[Matcher]):
await bot.send(event=event, message=Message(await parse_text(res)))
@del_sub.receive()
async def do_del(event: Event, state: T_State = State()):
async def do_del(event: Event, state: T_State):
try:
index = int(str(event.get_message()).strip())
config = Config()
@@ -220,7 +220,7 @@ def do_del_sub(del_sub: Type[Matcher]):
await del_sub.finish("删除成功")
async def parse_group_number(event: AbstractEvent, state: T_State = State()):
async def parse_group_number(event: AbstractEvent, state: T_State):
if not isinstance(state["_user_id"], Message):
return
state["_user_id"] = int(str(event.get_message()))
+2 -2
View File
@@ -3,8 +3,8 @@ from typing import Any, Callable, Literal, NamedTuple, NewType
RawPost = NewType("RawPost", Any)
Target = NewType("Target", str)
Category = NewType("Category", int)
Tag = NewType("Tag", str)
Category = int
Tag = str
@dataclass(eq=True, frozen=True)