fix: исправлена блокировка broadcast и отключена статистика для обычных пользователей
- Исправлен порядок роутеров: account_router перемещён после chat_router - Добавлен фильтр is_delete_trigger для quick_delete (перехватывал все сообщения) - Статистика доставки теперь показывается только админам - Обычные пользователи больше не видят 'Сообщение разослано' после отправки
This commit is contained in:
@@ -65,7 +65,18 @@ async def delete_message_callback(callback: CallbackQuery):
|
||||
await callback.answer(f"❌ Ошибка: {str(e)}", show_alert=True)
|
||||
|
||||
|
||||
@message_admin_router.message(F.reply_to_message)
|
||||
# Функция-фильтр для проверки триггерных слов
|
||||
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)
|
||||
|
||||
|
||||
@message_admin_router.message(F.reply_to_message, is_delete_trigger)
|
||||
async def quick_delete_replied_message(message: Message):
|
||||
"""
|
||||
Быстрое удаление сообщения по reply с триггерными словами или emoji
|
||||
@@ -79,18 +90,6 @@ async def quick_delete_replied_message(message: Message):
|
||||
if not is_admin(message.from_user.id):
|
||||
return # Не админ - пропускаем
|
||||
|
||||
if not message.text:
|
||||
return # Нет текста - пропускаем
|
||||
|
||||
# Проверяем триггерные слова/символы
|
||||
text_lower = message.text.lower().strip()
|
||||
triggers = ["удалить", "delete", "del", "🗑️", "🗑", "❌"]
|
||||
|
||||
is_trigger = any(trigger in text_lower for trigger in triggers)
|
||||
|
||||
if not is_trigger:
|
||||
return # Не триггер - пропускаем
|
||||
|
||||
try:
|
||||
# Удаляем сообщение на которое ответили
|
||||
await message.reply_to_message.delete()
|
||||
|
||||
Reference in New Issue
Block a user