From 69ca02834dd0b34dce8dd1612b3ca12197b81d45 Mon Sep 17 00:00:00 2001 From: HibiKier <45528451+HibiKier@users.noreply.github.com> Date: Tue, 12 Apr 2022 00:50:19 +0800 Subject: [PATCH] Update __init__.py --- basic_plugins/ban/__init__.py | 66 +++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/basic_plugins/ban/__init__.py b/basic_plugins/ban/__init__.py index 2a28e3bb..2ca32ee8 100755 --- a/basic_plugins/ban/__init__.py +++ b/basic_plugins/ban/__init__.py @@ -1,15 +1,17 @@ -from nonebot.adapters.onebot.v11 import GroupMessageEvent, PrivateMessageEvent, MessageEvent, Message, Bot -from nonebot.params import CommandArg, Command -from nonebot import on_command +from typing import Tuple + +from configs.config import NICKNAME, Config from models.ban_user import BanUser from models.level_user import LevelUser -from typing import Tuple -from utils.utils import get_message_at, is_number -from configs.config import NICKNAME, Config +from nonebot import on_command +from nonebot.adapters.onebot.v11 import (Bot, GroupMessageEvent, Message, + MessageEvent, PrivateMessageEvent) +from nonebot.params import Command, CommandArg from nonebot.permission import SUPERUSER -from .data_source import parse_ban_time, a_ban from services.log import logger +from utils.utils import get_message_at, is_number +from .data_source import a_ban, parse_ban_time __zx_plugin_name__ = "封禁Ban用户 [Admin]" __plugin_usage__ = """ @@ -34,19 +36,19 @@ usage: 示例:b了 1234567 示例:.ban 12345567 """.strip() -__plugin_des__ = '你被逮捕了!丢进小黑屋!' -__plugin_cmd__ = ['.ban [at] ?[小时] ?[分钟]', '.unban [at]', 'b了 [at] [_superuser]'] +__plugin_des__ = "你被逮捕了!丢进小黑屋!" +__plugin_cmd__ = [".ban [at] ?[小时] ?[分钟]", ".unban [at]", "b了 [at] [_superuser]"] __plugin_version__ = 0.1 -__plugin_author__ = 'HibiKier' +__plugin_author__ = "HibiKier" __plugin_settings__ = { "admin_level": Config.get_config("ban", "BAN_LEVEL"), - "cmd": ['.ban', '.unban', 'ban', 'unban'] + "cmd": [".ban", ".unban", "ban", "unban"], } __plugin_configs__ = { "BAN_LEVEL [LEVEL]": { "value": 5, "help": "ban/unban所需要的管理员权限等级", - "default_value": 5 + "default_value": 5, } } @@ -58,18 +60,23 @@ ban = on_command( block=True, ) -super_ban = on_command('b了', permission=SUPERUSER, priority=5, block=True) +super_ban = on_command("b了", permission=SUPERUSER, priority=5, block=True) @ban.handle() -async def _(bot: Bot, event: GroupMessageEvent, cmd: Tuple[str, ...] = Command(), arg: Message = CommandArg()): +async def _( + bot: Bot, + event: GroupMessageEvent, + cmd: Tuple[str, ...] = Command(), + arg: Message = CommandArg(), +): cmd = cmd[0] result = "" qq = get_message_at(event.json()) if qq: qq = qq[0] user_name = await bot.get_group_member_info(group_id=event.group_id, user_id=qq) - user_name = user_name['card'] or user_name['nickname'] + user_name = user_name["card"] or user_name["nickname"] msg = arg.extract_plain_text().strip() time = parse_ban_time(msg) if isinstance(time, str): @@ -108,7 +115,12 @@ async def _(bot: Bot, event: GroupMessageEvent, cmd: Tuple[str, ...] = Command() @ban.handle() -async def _(bot: Bot, event: PrivateMessageEvent, cmd: Tuple[str, ...] = Command(), arg: Message = CommandArg()): +async def _( + bot: Bot, + event: PrivateMessageEvent, + cmd: Tuple[str, ...] = Command(), + arg: Message = CommandArg(), +): cmd = cmd[0] msg = arg.extract_plain_text().strip() if msg: @@ -123,34 +135,36 @@ async def _(bot: Bot, event: PrivateMessageEvent, cmd: Tuple[str, ...] = Command result = await a_ban(qq, time, str(qq), event, 9) else: if await BanUser.unban(qq): - logger.info( - f"USER {event.user_id} 将 USER {qq} 解禁" - ) + logger.info(f"USER {event.user_id} 将 USER {qq} 解禁") result = f"已经把 {qq} 从黑名单中删除了!" else: result = f"{qq} 不在黑名单!" await ban.send(result) else: - await ban.finish('qq号必须是数字!\n格式:.ban [qq] [hour]? [minute]?', at_sender=True) + await ban.finish( + "qq号必须是数字!\n格式:.ban [qq] [hour]? [minute]?", at_sender=True + ) @super_ban.handle() async def _(bot: Bot, event: MessageEvent, arg: Message = CommandArg()): + user_name = "" if isinstance(event, GroupMessageEvent): qq = get_message_at(event.json()) + if qq: + qq = qq[0] + user = await bot.get_group_member_info(group_id=event.group_id, user_id=qq) + user_name = user["card"] or user["nickname"] else: qq = arg.extract_plain_text().strip() if not is_number(qq): await super_ban.finish("对象qq必须为纯数字...") - qq = [qq] + qq = int(qq) + user_name = qq if qq: - qq = qq[0] - user = await bot.get_group_member_info(group_id=event.group_id, user_id=qq) - user_name = user['card'] or user['nickname'] if not await BanUser.ban(qq, 10, 99999999): await BanUser.unban(qq) await BanUser.ban(qq, 10, 99999999) await ban.send(f"已将 {user_name} 拉入黑名单!") else: - await super_ban.send('需要添加被super ban的对象,可以使用at或者指定qq..') - + await super_ban.send("需要添加被super ban的对象,可以使用at或者指定qq..")