This commit is contained in:
@@ -4,6 +4,7 @@ from aiogram.types import Message, CallbackQuery, InlineKeyboardMarkup, InlineKe
|
||||
from aiogram.filters import Command
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from src.filters.case_insensitive import CaseInsensitiveCommand
|
||||
from src.core.chat_services import (
|
||||
ChatSettingsService,
|
||||
BanService,
|
||||
@@ -29,10 +30,10 @@ def get_chat_mode_keyboard() -> InlineKeyboardMarkup:
|
||||
])
|
||||
|
||||
|
||||
@router.message(Command("chat_mode"))
|
||||
@router.message(CaseInsensitiveCommand("chat_mode"))
|
||||
@admin_only
|
||||
async def cmd_chat_mode(message: Message):
|
||||
"""Команда управления режимом чата"""
|
||||
"""Команда управления режимом чата (регистронезависимо)"""
|
||||
|
||||
async with async_session_maker() as session:
|
||||
settings = await ChatSettingsService.get_or_create_settings(session)
|
||||
@@ -68,10 +69,10 @@ async def process_chat_mode(callback: CallbackQuery):
|
||||
await callback.answer("✅ Режим изменен")
|
||||
|
||||
|
||||
@router.message(Command("set_forward"))
|
||||
@router.message(CaseInsensitiveCommand("set_forward"))
|
||||
@admin_only
|
||||
async def cmd_set_forward(message: Message):
|
||||
"""Установить ID канала для пересылки"""
|
||||
"""Установить ID канала для пересылки (регистронезависимо)"""
|
||||
|
||||
args = message.text.split(maxsplit=1)
|
||||
if len(args) < 2:
|
||||
@@ -100,10 +101,10 @@ async def cmd_set_forward(message: Message):
|
||||
)
|
||||
|
||||
|
||||
@router.message(Command("global_ban"))
|
||||
@router.message(CaseInsensitiveCommand("global_ban"))
|
||||
@admin_only
|
||||
async def cmd_global_ban(message: Message):
|
||||
"""Включить/выключить глобальный бан чата"""
|
||||
"""Включить/выключить глобальный бан чата (регистронезависимо)"""
|
||||
|
||||
async with async_session_maker() as session:
|
||||
settings = await ChatSettingsService.get_or_create_settings(session)
|
||||
@@ -126,10 +127,10 @@ async def cmd_global_ban(message: Message):
|
||||
)
|
||||
|
||||
|
||||
@router.message(Command("ban"))
|
||||
@router.message(CaseInsensitiveCommand("ban"))
|
||||
@admin_only
|
||||
async def cmd_ban(message: Message):
|
||||
"""Забанить пользователя"""
|
||||
"""Забанить пользователя (регистронезависимо)"""
|
||||
|
||||
# Проверяем является ли это ответом на сообщение
|
||||
if message.reply_to_message:
|
||||
@@ -191,10 +192,10 @@ async def cmd_ban(message: Message):
|
||||
)
|
||||
|
||||
|
||||
@router.message(Command("unban"))
|
||||
@router.message(CaseInsensitiveCommand("unban"))
|
||||
@admin_only
|
||||
async def cmd_unban(message: Message):
|
||||
"""Разбанить пользователя"""
|
||||
"""Разбанить пользователя (регистронезависимо)"""
|
||||
|
||||
# Проверяем является ли это ответом на сообщение
|
||||
if message.reply_to_message:
|
||||
@@ -232,10 +233,10 @@ async def cmd_unban(message: Message):
|
||||
await message.answer("❌ Пользователь не был забанен")
|
||||
|
||||
|
||||
@router.message(Command("banlist"))
|
||||
@router.message(CaseInsensitiveCommand("banlist"))
|
||||
@admin_only
|
||||
async def cmd_banlist(message: Message):
|
||||
"""Показать список забаненных пользователей"""
|
||||
"""Показать список заблокированных пользователей (регистронезависимо)"""
|
||||
|
||||
async with async_session_maker() as session:
|
||||
banned_users = await BanService.get_banned_users(session, active_only=True)
|
||||
@@ -262,10 +263,10 @@ async def cmd_banlist(message: Message):
|
||||
await message.answer(text, parse_mode="HTML")
|
||||
|
||||
|
||||
@router.message(Command("delete_msg"))
|
||||
@router.message(CaseInsensitiveCommand("delete_msg"))
|
||||
@admin_only
|
||||
async def cmd_delete_message(message: Message):
|
||||
"""Удалить сообщение из чата (пометить как удаленное)"""
|
||||
"""Удалить сообщение из чата (пометить как удаленное) (регистронезависимо)"""
|
||||
|
||||
if not message.reply_to_message:
|
||||
await message.answer(
|
||||
@@ -329,10 +330,10 @@ async def cmd_delete_message(message: Message):
|
||||
await message.answer("❌ Не удалось удалить сообщение")
|
||||
|
||||
|
||||
@router.message(Command("chat_stats"))
|
||||
@router.message(CaseInsensitiveCommand("chat_stats"))
|
||||
@admin_only
|
||||
async def cmd_chat_stats(message: Message):
|
||||
"""Статистика чата"""
|
||||
"""Статистика чата (регистронезависимо)"""
|
||||
|
||||
async with async_session_maker() as session:
|
||||
settings = await ChatSettingsService.get_or_create_settings(session)
|
||||
|
||||
Reference in New Issue
Block a user