🐛 更新判断superuser的私聊消息的逻辑

This commit is contained in:
suyiiyii 2024-10-28 22:00:15 +08:00
parent eb64eab14a
commit 0deb406692
Signed by: suyiiyii
GPG Key ID: 044704CB29B8AD85
5 changed files with 21 additions and 16 deletions

View File

@ -5,11 +5,11 @@ from nonebot.log import logger
from nonebot.typing import T_State from nonebot.typing import T_State
from nonebot.matcher import Matcher from nonebot.matcher import Matcher
from nonebot.params import Arg, ArgPlainText from nonebot.params import Arg, ArgPlainText
from nonebot.adapters.onebot.v11 import MessageEvent
from nonebot.adapters import Message, MessageTemplate from nonebot.adapters import Message, MessageTemplate
from nonebot.adapters.onebot.v11 import MessageEvent, PrivateMessageEvent
from ..platform import platform_manager from ..platform import platform_manager
from .utils import common_platform, gen_handle_cancel from .utils import common_platform, gen_handle_cancel, only_allow_private
from ..utils.site import CookieSite, CookieClientManager, is_cookie_client_manager from ..utils.site import CookieSite, CookieClientManager, is_cookie_client_manager
@ -18,8 +18,7 @@ def do_add_cookie(add_cookie: type[Matcher]):
@add_cookie.handle() @add_cookie.handle()
async def init_promote(state: T_State, event: MessageEvent): async def init_promote(state: T_State, event: MessageEvent):
if not issubclass(PrivateMessageEvent, event.__class__): await only_allow_private(event, add_cookie)
await add_cookie.finish("请在私聊中使用此命令")
state["_prompt"] = ( state["_prompt"] = (
"请输入想要添加 Cookie 的平台,目前支持,请输入冒号左边的名称:\n" "请输入想要添加 Cookie 的平台,目前支持,请输入冒号左边的名称:\n"
+ "".join( + "".join(

View File

@ -2,13 +2,13 @@ from nonebot.typing import T_State
from nonebot.matcher import Matcher from nonebot.matcher import Matcher
from nonebot.params import ArgPlainText from nonebot.params import ArgPlainText
from nonebot_plugin_saa import MessageFactory from nonebot_plugin_saa import MessageFactory
from nonebot.adapters.onebot.v11 import MessageEvent
from nonebot.internal.adapter import MessageTemplate from nonebot.internal.adapter import MessageTemplate
from nonebot.adapters.onebot.v11 import MessageEvent, PrivateMessageEvent
from ..config import config from ..config import config
from ..utils import parse_text from ..utils import parse_text
from ..platform import platform_manager from ..platform import platform_manager
from .utils import gen_handle_cancel, generate_sub_list_text from .utils import gen_handle_cancel, only_allow_private, generate_sub_list_text
def do_add_cookie_target(add_cookie_target_matcher: type[Matcher]): def do_add_cookie_target(add_cookie_target_matcher: type[Matcher]):
@ -16,8 +16,7 @@ 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, event: MessageEvent): async def init_promote(state: T_State, event: MessageEvent):
if not issubclass(PrivateMessageEvent, event.__class__): await only_allow_private(event, add_cookie_target_matcher)
await add_cookie_target_matcher.finish("请在私聊中使用此命令")
res = await generate_sub_list_text( res = await generate_sub_list_text(
add_cookie_target_matcher, state, is_index=True, is_show_cookie=True, is_hide_no_cookie_platfrom=True add_cookie_target_matcher, state, is_index=True, is_show_cookie=True, is_hide_no_cookie_platfrom=True
) )

View File

@ -2,11 +2,11 @@ from nonebot.typing import T_State
from nonebot.matcher import Matcher from nonebot.matcher import Matcher
from nonebot.params import EventPlainText from nonebot.params import EventPlainText
from nonebot_plugin_saa import MessageFactory from nonebot_plugin_saa import MessageFactory
from nonebot.adapters.onebot.v11 import MessageEvent, PrivateMessageEvent from nonebot.adapters.onebot.v11 import MessageEvent
from ..config import config from ..config import config
from ..utils import parse_text from ..utils import parse_text
from .utils import gen_handle_cancel from .utils import gen_handle_cancel, only_allow_private
def do_del_cookie(del_cookie: type[Matcher]): def do_del_cookie(del_cookie: type[Matcher]):
@ -14,8 +14,7 @@ def do_del_cookie(del_cookie: type[Matcher]):
@del_cookie.handle() @del_cookie.handle()
async def send_list(state: T_State, event: MessageEvent): async def send_list(state: T_State, event: MessageEvent):
if not issubclass(PrivateMessageEvent, event.__class__): await only_allow_private(event, del_cookie)
await del_cookie.finish("请在私聊中使用此命令")
cookies = await config.get_cookie(is_anonymous=False) cookies = await config.get_cookie(is_anonymous=False)
if not cookies: if not cookies:
await del_cookie.finish("暂无已添加的 Cookie\n请使用“添加cookie”命令添加") await del_cookie.finish("暂无已添加的 Cookie\n请使用“添加cookie”命令添加")

View File

@ -2,11 +2,11 @@ from nonebot.typing import T_State
from nonebot.matcher import Matcher from nonebot.matcher import Matcher
from nonebot.params import EventPlainText from nonebot.params import EventPlainText
from nonebot_plugin_saa import MessageFactory from nonebot_plugin_saa import MessageFactory
from nonebot.adapters.onebot.v11 import MessageEvent, PrivateMessageEvent from nonebot.adapters.onebot.v11 import MessageEvent
from ..config import config from ..config import config
from ..utils import parse_text from ..utils import parse_text
from .utils import gen_handle_cancel from .utils import gen_handle_cancel, only_allow_private
def do_del_cookie_target(del_cookie_target: type[Matcher]): def do_del_cookie_target(del_cookie_target: type[Matcher]):
@ -14,8 +14,7 @@ def do_del_cookie_target(del_cookie_target: type[Matcher]):
@del_cookie_target.handle() @del_cookie_target.handle()
async def send_list(state: T_State, event: MessageEvent): async def send_list(state: T_State, event: MessageEvent):
if not issubclass(PrivateMessageEvent, event.__class__): await only_allow_private(event, del_cookie_target)
await del_cookie_target.finish("请在私聊中使用此命令")
cookie_targets = await config.get_cookie_target() cookie_targets = await config.get_cookie_target()
if not cookie_targets: if not cookie_targets:
await del_cookie_target.finish("暂无已关联 Cookie\n请使用“添加cookie”命令添加关联") await del_cookie_target.finish("暂无已关联 Cookie\n请使用“添加cookie”命令添加关联")

View File

@ -120,3 +120,12 @@ async def generate_sub_list_text(
res += f" (平台 {sub.target.platform_name} 已失效,请删除此订阅)" res += f" (平台 {sub.target.platform_name} 已失效,请删除此订阅)"
return res return res
async def only_allow_private(
event: Event,
matcher: type[Matcher],
):
# if not issubclass(PrivateMessageEvent, event.__class__):
if event.message_type != "private":
await matcher.finish("请在私聊中使用此命令")