diff options
Diffstat (limited to 'ATRI/plugins/BlackList.py')
-rw-r--r-- | ATRI/plugins/BlackList.py | 111 |
1 files changed, 85 insertions, 26 deletions
diff --git a/ATRI/plugins/BlackList.py b/ATRI/plugins/BlackList.py index 5a470ed..ec851b5 100644 --- a/ATRI/plugins/BlackList.py +++ b/ATRI/plugins/BlackList.py @@ -7,46 +7,105 @@ import config # type: ignore master = config.MASTER() +file = Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json' +file1 = Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json' @on_command('add_noobList', aliases = ['屏蔽', '移除'], only_to_me = False) async def _(session: CommandSession): if session.event.user_id == master: - msg = session.event.raw_message.split(' ', 1) + msg = session.event.raw_message.split(' ', 2) b_type = msg[0] - user = msg[1] - - if b_type == '屏蔽': - bL = {} - bL[f"{user}"] = f"{user}" - file = Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json' - f = open(file, 'w') - f.write(json.dumps(bL)) - f.close() - await session.send(f'正义执行!![{user}]已被ATRI屏蔽!') + g_type = msg[1] + u = msg[2] + + if g_type == 'qq': + if b_type == '屏蔽': + try: + with open(file, 'r') as f: + bL = json.load(f) + except: + bL = {} + bL[f"{u}"] = f"{u}" + f = open(file, 'w') + f.write(json.dumps(bL)) + f.close() + await session.send(f'正义执行!![{u}]已被ATRI屏蔽!') + + elif b_type == '移除': + try: + with open(file, 'r') as f: + bL = json.load(f) + except: + bL = {} + bL.pop(f"{u}") + f = open(file, 'w') + f.write(json.dumps(bL)) + f.close() + await session.send(f'将[{u}]移出黑名单成功~!') - elif b_type == '移除': - file = Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json' - with open(file, 'r') as f: - bL = json.load(f) - bL.pop(f"{user}") - f = open(file, 'w') - f.write(json.dumps(bL)) - f.close() - await session.send('将[{user}]移出黑名单成功~!') + elif g_type == 'group': + if b_type == '屏蔽': + try: + with open(file1, 'r') as f: + bL = json.load(f) + except: + bL = {} + bL[f"{u}"] = f"{u}" + f = open(file1, 'w') + f.write(json.dumps(bL)) + f.close() + await session.send(f'正义执行!!群[{u}]已被ATRI屏蔽!') + + elif b_type == '移除': + try: + with open(file1, 'r') as f: + bL = json.load(f) + except: + bL = {} + bL.pop(f"{u}") + f = open(file1, 'w') + f.write(json.dumps(bL)) + f.close() + await session.send(f'将群[{u}]移出黑名单成功~!') @on_command('look_noobList', aliases = ['查看黑名单'], only_to_me = False) async def _(session: CommandSession): start = time.perf_counter() - with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + with open(file, 'r') as f: data = json.load(f) + with open(file1, 'r') as f: + data0 = json.load(f) - msg = f'被ATRI列入黑名单有以下账号:\n=============\n' - for i in data.keys(): - msg0 = f'{i}\n' + msg = f'被ATRI列入黑名单有以下列表:\n' + try: + msg1 = f'=====[用户]=====\n' + msg += msg1 + for i in data.keys(): + msg0 = f'{i}\n' + msg += msg0 + except: + end = time.perf_counter() + msg0 = f"==============\nDone time: {round(end - start, 3)}s" + msg += msg0 + await session.send(msg) + return + + try: + msg1 = f'======[群]======\n' + msg += msg1 + for i in data0.keys(): + msg0 = f'{i}\n' + msg += msg0 + except: + end = time.perf_counter() + msg0 = f"==============\nDone time: {round(end - start, 3)}s" msg += msg0 + await session.send(msg) + return + end = time.perf_counter() - msg0 = f"=============\nDone time: {round(end - start, 3)}s" + msg0 = f"==============\nDone time: {round(end - start, 3)}s" msg += msg0 - await session.send(msg) + await session.send(msg)
\ No newline at end of file |