mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-07 12:23:00 +08:00
♻️ extract out permission
This commit is contained in:
parent
3ccdcc844b
commit
4846d32e2e
@ -2,10 +2,8 @@ import asyncio
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from nonebot import on_command
|
from nonebot import on_command
|
||||||
from nonebot.adapters import Bot, Event, MessageTemplate
|
from nonebot.adapters import Bot, MessageTemplate
|
||||||
from nonebot.adapters.onebot.v11 import MessageEvent
|
|
||||||
from nonebot.adapters.onebot.v11.event import PrivateMessageEvent
|
from nonebot.adapters.onebot.v11.event import PrivateMessageEvent
|
||||||
from nonebot.adapters.onebot.v11.permission import GROUP_ADMIN, GROUP_OWNER
|
|
||||||
from nonebot.matcher import Matcher
|
from nonebot.matcher import Matcher
|
||||||
from nonebot.params import ArgPlainText, ArgStr
|
from nonebot.params import ArgPlainText, ArgStr
|
||||||
from nonebot.permission import SUPERUSER
|
from nonebot.permission import SUPERUSER
|
||||||
@ -17,6 +15,7 @@ from .add_sub import do_add_sub
|
|||||||
from .del_sub import do_del_sub
|
from .del_sub import do_del_sub
|
||||||
from .query_sub import do_query_sub
|
from .query_sub import do_query_sub
|
||||||
from .utils import (
|
from .utils import (
|
||||||
|
admin_permission,
|
||||||
common_platform,
|
common_platform,
|
||||||
configurable_to_me,
|
configurable_to_me,
|
||||||
gen_handle_cancel,
|
gen_handle_cancel,
|
||||||
@ -26,7 +25,7 @@ from .utils import (
|
|||||||
add_sub_matcher = on_command(
|
add_sub_matcher = on_command(
|
||||||
"添加订阅",
|
"添加订阅",
|
||||||
rule=configurable_to_me,
|
rule=configurable_to_me,
|
||||||
permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER,
|
permission=admin_permission(),
|
||||||
priority=5,
|
priority=5,
|
||||||
block=True,
|
block=True,
|
||||||
)
|
)
|
||||||
@ -42,7 +41,7 @@ do_query_sub(query_sub_matcher)
|
|||||||
del_sub_matcher = on_command(
|
del_sub_matcher = on_command(
|
||||||
"删除订阅",
|
"删除订阅",
|
||||||
rule=configurable_to_me,
|
rule=configurable_to_me,
|
||||||
permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER,
|
permission=admin_permission(),
|
||||||
priority=5,
|
priority=5,
|
||||||
block=True,
|
block=True,
|
||||||
)
|
)
|
||||||
@ -124,3 +123,12 @@ async def do_dispatch_command(
|
|||||||
do_del_sub(new_matcher)
|
do_del_sub(new_matcher)
|
||||||
new_matcher_ins = new_matcher()
|
new_matcher_ins = new_matcher()
|
||||||
asyncio.create_task(new_matcher_ins.run(bot, event, state))
|
asyncio.create_task(new_matcher_ins.run(bot, event, state))
|
||||||
|
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"common_platform",
|
||||||
|
"add_sub_matcher",
|
||||||
|
"query_sub_matcher",
|
||||||
|
"del_sub_matcher",
|
||||||
|
"group_manage_matcher",
|
||||||
|
]
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
|
import contextlib
|
||||||
from typing import Annotated, Type
|
from typing import Annotated, Type
|
||||||
|
|
||||||
from nonebot.adapters import Event
|
from nonebot.adapters import Event
|
||||||
from nonebot.matcher import Matcher
|
from nonebot.matcher import Matcher
|
||||||
from nonebot.params import Depends, EventPlainText, EventToMe
|
from nonebot.params import Depends, EventPlainText, EventToMe
|
||||||
|
from nonebot.permission import SUPERUSER
|
||||||
from nonebot.rule import Rule
|
from nonebot.rule import Rule
|
||||||
from nonebot.typing import T_State
|
from nonebot.typing import T_State
|
||||||
from nonebot_plugin_saa import extract_target
|
from nonebot_plugin_saa import extract_target
|
||||||
@ -50,3 +52,13 @@ def ensure_user_info(matcher: Type[Matcher]):
|
|||||||
async def set_target_user_info(event: Event, state: T_State):
|
async def set_target_user_info(event: Event, state: T_State):
|
||||||
user = extract_target(event)
|
user = extract_target(event)
|
||||||
state["target_user_info"] = user
|
state["target_user_info"] = user
|
||||||
|
|
||||||
|
|
||||||
|
def admin_permission():
|
||||||
|
permission = SUPERUSER
|
||||||
|
with contextlib.suppress(ImportError):
|
||||||
|
from nonebot.adapters.onebot.v11.permission import GROUP_ADMIN, GROUP_OWNER
|
||||||
|
|
||||||
|
permission = permission | GROUP_ADMIN | GROUP_OWNER
|
||||||
|
|
||||||
|
return permission
|
||||||
|
Loading…
x
Reference in New Issue
Block a user