from telegram import Update
from telegram.ext import ContextTypes
from handlers.youtube_audio_handler import process_youtube_audio
from handlers.youtube_video_handler import process_youtube_video
async def callback_router(update: Update, context: ContextTypes.DEFAULT_TYPE):
query = update.callback_query
await query.answer()
data = query.data
# Escolha áudio/vídeo para links detectados automaticamente
if data.startswith("yt_audio_choice:"):
uid = data.split(":", 1)[1]
url = context.user_data.pop(f"youtube_url_{uid}", None)
if not url:
return await query.edit_message_text("❌ Erro: link expirado.")
progress = await query.edit_message_text("🎵 Baixando áudio...")
return await process_youtube_audio(update, context, url, progress)
if data.startswith("yt_video_choice:"):
uid = data.split(":", 1)[1]
url = context.user_data.pop(f"youtube_url_{uid}", None)
if not url:
return await query.edit_message_text("❌ Erro: link expirado.")
progress = await query.edit_message_text("🎬 Baixando vídeo...")
return await process_youtube_video(update, context, url, progress)
# Seleção de modo no menu do /start
mode = data
context.user_data["mode"] = mode
msgs = {
"yt_audio": "🎵 Modo áudio ativado. Envie um link do YouTube.",
"yt_video": "🎬 Modo vídeo ativado. Envie um link do YouTube.",
"instagram": "📸 Envie o link do Instagram.",
"facebook": "📘 Envie o link do Facebook.",
"tiktok": "🎵 Envie o link do TikTok.",
}
await query.edit_message_text(msgs.get(mode, "Modo desconhecido."))