Fix text dialog routing and club card registration recovery
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -6,7 +6,8 @@ from src.core.access import is_admin
|
||||
import logging
|
||||
from aiogram import Router, F, Bot
|
||||
from aiogram.types import Message, CallbackQuery
|
||||
from aiogram.filters import Command
|
||||
from aiogram.filters import StateFilter
|
||||
from src.filters.case_insensitive import CaseInsensitiveCommand as Command
|
||||
|
||||
from src.filters.case_insensitive import CaseInsensitiveCommand
|
||||
from ..core.config import ADMIN_IDS
|
||||
@@ -69,17 +70,17 @@ async def delete_message_callback(callback: CallbackQuery):
|
||||
|
||||
|
||||
# Функция-фильтр для проверки триггерных слов
|
||||
def is_delete_trigger(message: Message) -> bool:
|
||||
async def is_delete_trigger(message: Message) -> bool:
|
||||
"""Проверяет, является ли сообщение триггером для удаления"""
|
||||
if not message.text:
|
||||
return False
|
||||
|
||||
text_lower = message.text.lower().strip()
|
||||
triggers = ["удалить", "delete", "del", "🗑️", "🗑", "❌"]
|
||||
return any(trigger in text_lower for trigger in triggers)
|
||||
return text_lower in triggers and await is_admin(message.from_user.id)
|
||||
|
||||
|
||||
@message_admin_router.message(F.reply_to_message, is_delete_trigger)
|
||||
@message_admin_router.message(F.reply_to_message, is_delete_trigger, StateFilter(None, "ChatStates:in_chat", "P2PChatStates:chatting"))
|
||||
async def quick_delete_replied_message(message: Message):
|
||||
"""
|
||||
Быстрое удаление сообщения по reply с триггерными словами или emoji
|
||||
|
||||
Reference in New Issue
Block a user