diff --git a/handlers/smart_broadcast.py b/handlers/smart_broadcast.py index 6bc34ec..3c28541 100644 --- a/handlers/smart_broadcast.py +++ b/handlers/smart_broadcast.py @@ -197,51 +197,22 @@ async def send_smart_broadcast(bot, text: str, recipients: str = 'all_verified', bot_token = BOT_TOKEN proxy_url = get_proxy_url() - # Отправляем в чат первым + # НЕ отправляем в общий чат! Умная рассылка идёт только выбранным получателям + # Для объявлений в общий чат используйте обычную рассылку chat_message_id = None - try: - async with aiohttp.ClientSession() as http_session: - if photo_file_id: - url = f"https://api.telegram.org/bot{bot_token}/sendPhoto" - data = aiohttp.FormData() - data.add_field('chat_id', str(ADMIN_CHAT_ID)) - data.add_field('photo', photo_file_id) - data.add_field('caption', f"📢 Объявление от администрации\n\n{text}") - data.add_field('reply_markup', json.dumps(reply_markup)) - data.add_field('parse_mode', 'HTML') - - async with http_session.post(url, data=data, proxy=proxy_url) as resp: - result_data = await resp.json() - if result_data.get('ok'): - chat_message_id = result_data['result']['message_id'] - else: - url = f"https://api.telegram.org/bot{bot_token}/sendMessage" - payload = { - 'chat_id': ADMIN_CHAT_ID, - 'text': f"📢 Объявление от администрации\n\n{text}", - 'reply_markup': json.dumps(reply_markup), - 'parse_mode': 'HTML' - } - - async with http_session.post(url, json=payload, proxy=proxy_url) as resp: - result_data = await resp.json() - if result_data.get('ok'): - chat_message_id = result_data['result']['message_id'] - except Exception as e: - logger.error(f"Ошибка отправки в чат: {e}") # Создаём запись в БД async with AsyncSessionLocal() as session: broadcast = Broadcast( - message_id=chat_message_id, - chat_id=ADMIN_CHAT_ID, + message_id=None, # Умная рассылка не создаёт сообщение в общем чате + chat_id=None, text=text, photo_file_id=photo_file_id, sent_at=datetime.utcnow(), sent_by=ADMIN_USER_ID, total_sent=len(users), has_read_button=True, - broadcast_type='manual', + broadcast_type='smart', ) session.add(broadcast) await session.commit()