3.0 Выпуск в PrimoRU
This commit is contained in:
@@ -1,63 +0,0 @@
|
||||
# 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_msg.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_msg.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
|
||||
@@ -1,25 +0,0 @@
|
||||
# BotLibrary/analitics/find_username.py
|
||||
# Нахождение юзернейма пользователя по id (в разработке)
|
||||
|
||||
from loguru import logger
|
||||
from BotLibrary.library.bots import bot
|
||||
|
||||
# Настройка экспорта
|
||||
__all__ = ("get_user_id_by_username",)
|
||||
type_messages = "ID_USERNAME"
|
||||
|
||||
|
||||
# Получение ID пользователя по юзернейму (в разработке)
|
||||
async def get_user_id_by_username(chat_id, username):
|
||||
try:
|
||||
user = await bot.get_chat_member_by_username(chat_id, username)
|
||||
if user:
|
||||
return user.user.id
|
||||
else:
|
||||
return None
|
||||
|
||||
# Проверка на ошибку и ее логирование (в разработке)
|
||||
except Exception as e:
|
||||
text_error = f"Ошибка при получении ID пользователя: {e}"
|
||||
logger.bind(custom_variable="IDS", user_var=type_messages).error(text_error)
|
||||
return text_error
|
||||
Reference in New Issue
Block a user