fix: исправлена блокировка broadcast и отключена статистика для обычных пользователей
- Исправлен порядок роутеров: account_router перемещён после chat_router - Добавлен фильтр is_delete_trigger для quick_delete (перехватывал все сообщения) - Статистика доставки теперь показывается только админам - Обычные пользователи больше не видят 'Сообщение разослано' после отправки
This commit is contained in:
@@ -105,6 +105,10 @@ async def forward_to_channel(message: Message, channel_id: str) -> tuple[bool, O
|
||||
@router.message(F.text)
|
||||
async def handle_text_message(message: Message):
|
||||
"""Обработчик текстовых сообщений"""
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.info(f"[CHAT] handle_text_message вызван: user={message.from_user.id}, text={message.text[:50] if message.text else 'None'}")
|
||||
|
||||
# Проверяем является ли это командой
|
||||
if message.text and message.text.startswith('/'):
|
||||
# Список команд, которые НЕ нужно пересылать
|
||||
@@ -171,11 +175,13 @@ async def handle_text_message(message: Message):
|
||||
forwarded_ids=forwarded_ids
|
||||
)
|
||||
|
||||
await message.answer(
|
||||
f"✅ Сообщение разослано!\n"
|
||||
f"📤 Доставлено: {success}\n"
|
||||
f"❌ Не доставлено: {fail}"
|
||||
)
|
||||
# Показываем статистику доставки только админам
|
||||
if is_admin(message.from_user.id):
|
||||
await message.answer(
|
||||
f"✅ Сообщение разослано!\n"
|
||||
f"📤 Доставлено: {success}\n"
|
||||
f"❌ Не доставлено: {fail}"
|
||||
)
|
||||
|
||||
elif settings.mode == 'forward':
|
||||
# Режим пересылки в канал
|
||||
@@ -237,7 +243,9 @@ async def handle_photo_message(message: Message):
|
||||
forwarded_ids=forwarded_ids
|
||||
)
|
||||
|
||||
await message.answer(f"✅ Фото разослано: {success} получателей")
|
||||
# Показываем статистику только админам
|
||||
if is_admin(message.from_user.id):
|
||||
await message.answer(f"✅ Фото разослано: {success} получателей")
|
||||
|
||||
elif settings.mode == 'forward':
|
||||
if settings.forward_chat_id:
|
||||
@@ -289,7 +297,9 @@ async def handle_video_message(message: Message):
|
||||
forwarded_ids=forwarded_ids
|
||||
)
|
||||
|
||||
await message.answer(f"✅ Видео разослано: {success} получателей")
|
||||
# Показываем статистику только админам
|
||||
if is_admin(message.from_user.id):
|
||||
await message.answer(f"✅ Видео разослано: {success} получателей")
|
||||
|
||||
elif settings.mode == 'forward':
|
||||
if settings.forward_chat_id:
|
||||
@@ -341,7 +351,9 @@ async def handle_document_message(message: Message):
|
||||
forwarded_ids=forwarded_ids
|
||||
)
|
||||
|
||||
await message.answer(f"✅ Документ разослан: {success} получателей")
|
||||
# Показываем статистику только админам
|
||||
if is_admin(message.from_user.id):
|
||||
await message.answer(f"✅ Документ разослан: {success} получателей")
|
||||
|
||||
elif settings.mode == 'forward':
|
||||
if settings.forward_chat_id:
|
||||
@@ -393,7 +405,9 @@ async def handle_animation_message(message: Message):
|
||||
forwarded_ids=forwarded_ids
|
||||
)
|
||||
|
||||
await message.answer(f"✅ Анимация разослана: {success} получателей")
|
||||
# Показываем статистику только админам
|
||||
if is_admin(message.from_user.id):
|
||||
await message.answer(f"✅ Анимация разослана: {success} получателей")
|
||||
|
||||
elif settings.mode == 'forward':
|
||||
if settings.forward_chat_id:
|
||||
@@ -444,7 +458,9 @@ async def handle_sticker_message(message: Message):
|
||||
forwarded_ids=forwarded_ids
|
||||
)
|
||||
|
||||
await message.answer(f"✅ Стикер разослан: {success} получателей")
|
||||
# Показываем статистику только админам
|
||||
if is_admin(message.from_user.id):
|
||||
await message.answer(f"✅ Стикер разослан: {success} получателей")
|
||||
|
||||
elif settings.mode == 'forward':
|
||||
if settings.forward_chat_id:
|
||||
@@ -494,7 +510,9 @@ async def handle_voice_message(message: Message):
|
||||
forwarded_ids=forwarded_ids
|
||||
)
|
||||
|
||||
await message.answer(f"✅ Голосовое сообщение разослано: {success} получателей")
|
||||
# Показываем статистику только админам
|
||||
if is_admin(message.from_user.id):
|
||||
await message.answer(f"✅ Голосовое сообщение разослано: {success} получателей")
|
||||
|
||||
elif settings.mode == 'forward':
|
||||
if settings.forward_chat_id:
|
||||
|
||||
Reference in New Issue
Block a user