06-sep: [videoclub] serie/peli con fallback global si no esta en tu catalogo

This commit is contained in:
juanjo
2026-09-06 17:46:54 +02:00
parent 086a97c3f9
commit 6678383e8f

View File

@@ -1010,6 +1010,24 @@ def procesar_buscador_pelicula(nombre, chat_id):
ultima_titulos[chat_id] = {"query": nombre, "results": resultados, ultima_titulos[chat_id] = {"query": nombre, "results": resultados,
"origen": "catalogo"} "origen": "catalogo"}
log(f"BUSCADOR pelis '{nombre}': {len(resultados)} resultados") log(f"BUSCADOR pelis '{nombre}': {len(resultados)} resultados")
return
# Fallback global: no esta en tu RealDebrid, se busca online.
enviar("📡 No está en tu catálogo, buscando online...", chat_id)
try:
gol = _import_global_buscar()
globales = [r for r in gol.buscar_titulos(nombre)
if r["type"] == "movie"]
mensajes = gol.formatear_titulos(globales)
except Exception as e:
log(f"buscador pelicula global error: {e}")
enviar(f"❌ Error en la busqueda global: {e}", chat_id)
return
for m in mensajes:
enviar(m, chat_id)
if globales:
ultima_titulos[chat_id] = {"query": nombre, "results": globales,
"origen": "global"}
log(f"BUSCADOR pelis global '{nombre}': {len(globales)} titulos")
def procesar_buscador_serie(nombre, chat_id): def procesar_buscador_serie(nombre, chat_id):
@@ -1037,6 +1055,24 @@ def procesar_buscador_serie(nombre, chat_id):
"results": vcb.aplanar_series(grupos), "results": vcb.aplanar_series(grupos),
"origen": "catalogo"} "origen": "catalogo"}
log(f"BUSCADOR series '{nombre}': {len(grupos)} series, {total_eps} capitulos") log(f"BUSCADOR series '{nombre}': {len(grupos)} series, {total_eps} capitulos")
return
# Fallback global: no esta en tu RealDebrid, se busca online.
enviar("📡 No está en tu catálogo, buscando online...", chat_id)
try:
gol = _import_global_buscar()
globales = [r for r in gol.buscar_titulos(nombre)
if r["type"] == "series"]
mensajes = gol.formatear_titulos(globales)
except Exception as e:
log(f"buscador serie global error: {e}")
enviar(f"❌ Error en la busqueda global: {e}", chat_id)
return
for m in mensajes:
enviar(m, chat_id)
if globales:
ultima_titulos[chat_id] = {"query": nombre, "results": globales,
"origen": "global"}
log(f"BUSCADOR series global '{nombre}': {len(globales)} titulos")
def procesar_novedades(chat_id): def procesar_novedades(chat_id):
@@ -1385,8 +1421,8 @@ def procesar_temporada(n, chat_id):
"""Descarga la temporada N completa de la ultima serie del catalogo.""" """Descarga la temporada N completa de la ultima serie del catalogo."""
titulos = ultima_titulos.get(chat_id) or {} titulos = ultima_titulos.get(chat_id) or {}
if titulos.get("origen") != "catalogo" or not titulos.get("results"): if titulos.get("origen") != "catalogo" or not titulos.get("results"):
enviar("Primero busca una <b>/serie</b> y luego " enviar("La temporada completa solo vale para series de tu catálogo. "
"<b>/temporada &lt;N&gt;</b>.", chat_id) "Online usa <b>/torrents N</b> y <b>/bajar X-Y</b>.", chat_id)
return return
if n is None or n < 1: if n is None or n < 1:
enviar("Uso: <b>/temporada &lt;N&gt;</b>.", chat_id) enviar("Uso: <b>/temporada &lt;N&gt;</b>.", chat_id)