03-sep: [fix] reparar comando descargar del videoclub

This commit is contained in:
juanjo
2026-09-03 23:46:55 +02:00
parent 07f4f89a22
commit 96a1f94883

View File

@@ -81,6 +81,7 @@ def estado():
def enviar(texto, chat_id):
# Trocea mensajes largos (Telegram limita a ~4096 chars) para no fallar en silencio
ultimo_id = None
for i in range(0, len(texto), 4000):
bloque = texto[i:i + 4000]
try:
@@ -91,10 +92,12 @@ def enviar(texto, chat_id):
)
d = r.json()
if d.get("ok"):
return d["result"].get("message_id")
ultimo_id = d["result"].get("message_id")
else:
log(f"Telegram sendMessage error: {d.get('description', d)}")
except Exception as e:
print("Error enviando:", e)
return None
log(f"Telegram sendMessage exception: {e}")
return ultimo_id
def borrar(chat_id, message_id):
@@ -132,6 +135,9 @@ def mandar_youtube(url):
def procesar(texto, chat_id):
t = texto.lower().strip()
log(f"RECIBIDO chat={chat_id} texto={texto!r}")
partes = t.split(None, 1)
comando = partes[0].split("@", 1)[0].lstrip("/") if partes else ""
argumento = partes[1].strip() if len(partes) > 1 else ""
# Flujo interactivo por genero (espera numeros en pasos)
if flujo_genero.get(chat_id) and t.isdigit():
paso = flujo_genero[chat_id]
@@ -207,19 +213,21 @@ def procesar(texto, chat_id):
else:
ok = mandar_youtube(url)
enviar("🎬 YouTube lanzado en la TV ✅" if ok else "❌ No se pudo lanzar YouTube", chat_id)
elif t in ("descargar", "/descargar"):
import nas_dl
lineas, _act = nas_dl.listar_descargas(hablar_solo_activas=True)
enviar("\n".join(lineas), chat_id)
elif t.startswith("descargar ") or t.startswith("/descargar "):
uri = texto.split(" ", 1)[1].strip()
if not uri:
enviar("Uso: <b>descargar &lt;enlace|magnet|uri&gt;</b> (anade a Download Station del NAS)", chat_id)
else:
elif comando == "descargar":
try:
import nas_dl
ok = nas_dl.add_torrent(uri)
enviar("📥 Añadido a Download Station del NAS ✅" if ok
else "❌ No se pudo añadir al NAS", chat_id)
if argumento:
ok = nas_dl.add_torrent(argumento)
enviar("📥 Añadido a Download Station del NAS ✅" if ok
else "❌ No se pudo añadir al NAS. Revisa <code>bot.log</code>.", chat_id)
else:
# Incluye también pendientes, pausadas y terminadas para que
# el usuario pueda ver el estado real de cada torrent.
lineas, _act = nas_dl.listar_descargas(hablar_solo_activas=False)
enviar("\n".join(lineas), chat_id)
except Exception as e:
log(f"descargar error: {e}")
enviar(f"❌ Error en Download Station: {e}", chat_id)
elif t in ("pelis", "/pelis"):
procesar_pelis(chat_id)
elif t in ("series", "/series"):