Files
press/handlers/content.py
T
nini52 126e76963c Add files via upload
Initial project upload
2026-07-08 09:06:08 +03:00

78 lines
2.9 KiB
Python

from database import get_user
from ai_core.neural_network import ContentGenerator
from keyboards.reply_keyboards import get_content_keyboard, BUSINESS_TYPES
import time
# Создаем экземпляр генератора контента
content_gen = ContentGenerator()
def handle_content_generation(message, bot, platform_text):
"""Генерирует контент для выбранной платформы"""
user_id = message.from_user.id
user = get_user(user_id)
if not user:
bot.send_message(user_id, "❌ Ты не зарегистрирован. Напиши /start")
return
# Извлекаем платформу из текста кнопки
platform_map = {
"📝 Пост для Instagram": "instagram",
"💼 Пост для LinkedIn": "linkedin",
"📱 Пост для Telegram": "telegram",
"🧵 Пост для Twitter/X": "twitter",
"🎯 Рекламный пост": "ad"
}
platform = platform_map.get(platform_text, "instagram")
platform_emoji = {
"instagram": "📸",
"linkedin": "💼",
"telegram": "📱",
"twitter": "🐦",
"ad": "📢"
}
# Получаем данные пользователя
business_type = BUSINESS_TYPES.get(str(user[4]), {}).get('name', 'Бизнес')
description = user[5] or "не указано"
# Отправляем статус "печатает"
bot.send_chat_action(user_id, "typing")
# Генерируем контент
try:
post = content_gen.generate_post(business_type, description, platform)
# Отправляем результат
response_text = f"""
{platform_emoji.get(platform, '📝')} **ГОТОВЫЙ ПОСТ ДЛЯ {platform.upper()}**
━━━━━━━━━━━━━━━━━━━━━━━
{post}
━━━━━━━━━━━━━━━━━━━━━━━
💡 **Совет:**
• Добавь хештеги из поста
• Прикрепи фото или видео
• Укажи ссылку на свой сайт
📌 Хочешь другой вариант? Снова нажми "💡 Предложить контент"
"""
bot.send_message(user_id, response_text, parse_mode='Markdown')
except Exception as e:
bot.send_message(
user_id,
f"❌ Ошибка генерации: {e}\n\nПопробуй позже или обнови описание бизнеса."
)
# Показываем меню выбора платформы для следующего поста
bot.send_message(
user_id,
"📱 Для какой соцсети нужен следующий пост?",
reply_markup=get_content_keyboard()
)