From 3637c1d0fda1e6186d61c9378f3a529b6b589f26 Mon Sep 17 00:00:00 2001 From: Whyverum Date: Wed, 18 Dec 2024 07:26:15 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D0=B5=D0=B9=20(=D0=B2=20=D1=80=D0=B0=D0=B7=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=BA=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Test/commands/ban_cmd.py | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Test/commands/ban_cmd.py diff --git a/Test/commands/ban_cmd.py b/Test/commands/ban_cmd.py new file mode 100644 index 0000000..2a1598d --- /dev/null +++ b/Test/commands/ban_cmd.py @@ -0,0 +1,63 @@ +# BotCode/routers/commands/admin_cmd/ban_cmd.py +# Работа с админ-командой /ban, для блокировки пользователей (в разработке) +# Проверка на наличие блокировки пользователя в боте + + +from aiogram import Router, types +from aiogram.filters import Command +from BotLibrary import * + +# Создание роутера и настройка экспорта +__all__ = ("router", "banned_user", "ban_user_by_username",) +router = Router(name="ban_router") +command_text = "BAN" + + +# Функция проверки блокировки пользователя в боте +@router.message(lambda message: message.from_user.id in ListId.ban_list_id) +async def banned_user(message: types.Message): + try: + # Вывод сообщения пользователю + chat_id = await find_chat_id(message) + text = (f"{TextDecorator.RED}Получено сообщение от забанненго пользователя" + f" из ({chat_id}) : {message.text}{TextDecorator.RESET_DECORATOR}") + await message.answer(f"Вы были забаннены в боте @{BotInfo.username}!") + + # Активация логгера + await cmd_logginger(message, command_text, text) + + return text + + # Проверка на ошибку и ее логирование + except Exception as e: + text_error = await error_cmd_logginger(message, command_text, e) + return text_error + + +# Обработчик команды /ban +@router.message(Command("ban", "ифт", "бан", ",fy", prefix=BotEdit.prefixs, ignore_case=True)) +async def ban_user_by_username(message: types.Message): + try: + text = f"использовал(а) команду /{command_text.lower()}" + + # Получаем аргументы команды + args = message.get_args() # Вернет все, что идет после /ban + + # Проверка на наличие аргумента + if not args: + text = f"Пожалуйста, укажите ID или имя пользователя для бана. Пример: /ban 123456" + await message.reply(text) + return text + + # Вывод сообщения пользователю + await message.reply(text=f"Вы попытались забанить, обидно да?") + + # Активация логгера + await cmd_logginger(message, command_text, text) + + return text + + # Проверка на ошибку и ее логирование + except Exception as e: + text_error = await error_cmd_logginger(message, command_text, e) + return text_error