1.9 СВЕРХ ВАЖНЫЕ ИСПРАВЛЕНИЯ
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
from aiogram import Router
|
||||
from .user_cmd import router as user_cmd_router
|
||||
from .adm_cmd import router as adm_cmd_router
|
||||
|
||||
|
||||
# Объявление роутера и настройка экспорта модулей
|
||||
@@ -12,5 +13,6 @@ router = Router(name="commands_head_router")
|
||||
|
||||
# Список подключаемых роутеров сверху-вниз
|
||||
router.include_routers(
|
||||
adm_cmd_router,
|
||||
user_cmd_router,
|
||||
)
|
||||
@@ -0,0 +1,18 @@
|
||||
# BotCode/routers/commands/adm_cmd/__init__.py
|
||||
# Инициализация модуля adm_cmd, для административных команд бота
|
||||
|
||||
# Экспортирование модулей во внешние слои проекта
|
||||
from aiogram import Router
|
||||
from .all_cmd import all_cmd
|
||||
from .ban_cmd import ban_cmd
|
||||
|
||||
# Объявление роутера и настройка экспорта модулей
|
||||
__all__ = ("router",)
|
||||
router = Router(name="adm_cmd_router")
|
||||
|
||||
|
||||
# Список подключаемых роутеров сверху-вниз
|
||||
router.include_routers(
|
||||
ban_cmd.router,
|
||||
all_cmd.router,
|
||||
)
|
||||
|
||||
48
BotCode/routers/commands/adm_cmd/ban_cmd.py
Normal file
48
BotCode/routers/commands/adm_cmd/ban_cmd.py
Normal file
@@ -0,0 +1,48 @@
|
||||
# BotCode/routers/commands/user_cmd/stats_cmd.py
|
||||
# Работа с командой /stats, для получения информации о себе
|
||||
|
||||
from aiogram import types
|
||||
from BotLibrary import CommandHandler, bot
|
||||
from SQLite3 import status_user
|
||||
|
||||
# Настройки экспорта в модули
|
||||
__all__ = ("ban_cmd",)
|
||||
|
||||
# Функция блокировки пользователя
|
||||
async def ban_user(message: types.Message, *args, **kwargs):
|
||||
status = await status_user(message)
|
||||
if status not in ('Пользователь', 'Забаннен'):
|
||||
# Проверка, что команда вызвана с упоминанием пользователя
|
||||
args = message.text.split()
|
||||
if len(args) != 2:
|
||||
await message.reply("Пожалуйста, укажите пользователя для бана, например: /ban @username")
|
||||
return
|
||||
|
||||
# Получение упомянутого пользователя
|
||||
username = args[1]
|
||||
|
||||
# Попытка получить user_id по username
|
||||
try:
|
||||
user = await bot.get_users(username)
|
||||
user_id = user.id
|
||||
|
||||
# Проверка, является ли пользователь участником чата
|
||||
member = await bot.get_chat_member(message.chat.id, user_id)
|
||||
|
||||
# Блокировка пользователя
|
||||
await bot.kick_chat_member(message.chat.id, user_id)
|
||||
await message.reply(f"Пользователь {username} забанен.")
|
||||
except Exception as e:
|
||||
await message.reply(f"Ошибка: {str(e)}")
|
||||
else:
|
||||
await message.reply("Вы не являетесь администратором!")
|
||||
|
||||
|
||||
# Создание команды /ban с несколькими медиа
|
||||
ban_cmd = CommandHandler(
|
||||
name="ban",
|
||||
description="Блокировка пользователя",
|
||||
keywords=["ban", "бан", "banhammer", "ифтрфььук", "ифт"],
|
||||
callbackdata=["keywords"],
|
||||
media="command", func=[ban_user],
|
||||
)
|
||||
@@ -3,7 +3,7 @@
|
||||
import sqlite3
|
||||
from aiogram import types
|
||||
|
||||
from BotLibrary import CommandHandler, username_to_text
|
||||
from BotLibrary import CommandHandler, username_to_text, bot
|
||||
from ProjectsFiles import BotVar
|
||||
|
||||
# Настройки экспорта в модули
|
||||
|
||||
Reference in New Issue
Block a user