04-ago: [videoclub] comando pelis (novedades castellano + comando listo + adultos efimeros 5min) + unidad NAS montada en sobremesa + lecciones
This commit is contained in:
@@ -74,13 +74,28 @@ def estado():
|
||||
|
||||
def enviar(texto, chat_id):
|
||||
try:
|
||||
requests.post(
|
||||
r = requests.post(
|
||||
f"https://api.telegram.org/bot{TOKEN}/sendMessage",
|
||||
data={"chat_id": chat_id, "text": texto, "parse_mode": "HTML"},
|
||||
timeout=10,
|
||||
)
|
||||
d = r.json()
|
||||
if d.get("ok"):
|
||||
return d["result"].get("message_id")
|
||||
except Exception as e:
|
||||
print("Error enviando:", e)
|
||||
return None
|
||||
|
||||
|
||||
def borrar(chat_id, message_id):
|
||||
try:
|
||||
requests.post(
|
||||
f"https://api.telegram.org/bot{TOKEN}/deleteMessage",
|
||||
data={"chat_id": chat_id, "message_id": message_id},
|
||||
timeout=10,
|
||||
)
|
||||
except Exception as e:
|
||||
print("Error borrando:", e)
|
||||
|
||||
|
||||
def mandar_tv(mensaje, simple):
|
||||
@@ -163,6 +178,8 @@ def procesar(texto, chat_id):
|
||||
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)
|
||||
elif t in ("pelis", "/pelis"):
|
||||
procesar_pelis(chat_id)
|
||||
elif t in ("ayuda", "/ayuda", "help", "/help"):
|
||||
enviar("Comandos:\n"
|
||||
"<b>estado</b> — estado de la Pi\n"
|
||||
@@ -171,6 +188,7 @@ def procesar(texto, chat_id):
|
||||
"<b>alarma <mensaje></b> — secuencia completa (sirena x3)\n"
|
||||
"<b>youtube <URL></b> — reproduce YouTube y apaga al terminar\n"
|
||||
"<b>descargar <enlace></b> — añade a Download Station del NAS\n"
|
||||
"<b>pelis</b> — novedades en castellano con comando listo\n"
|
||||
"<b>panorama</b> — fotos de las cámaras\n"
|
||||
"<b>limpieza</b> — limpia procesos atascados de la Pi\n"
|
||||
"<b>reboot</b> — reinicia la Pi (necesita confirmar con /confirmar-reboot)\n"
|
||||
@@ -194,6 +212,46 @@ def procesar(texto, chat_id):
|
||||
sh("echo 'raspberry' | sudo -S reboot")
|
||||
|
||||
|
||||
def procesar_pelis(chat_id):
|
||||
"""Comando 'pelis': novedades con buena calidad en castellano, con el
|
||||
comando 'descargar <url>' listo para copiar. Los adultos se envian en
|
||||
un mensaje efimero que se borra a los 5 minutos y NO se loguea."""
|
||||
try:
|
||||
import pelis
|
||||
except Exception as e:
|
||||
log(f"pelis import error: {e}")
|
||||
enviar("❌ No se pudo cargar el modulo pelis", chat_id)
|
||||
return
|
||||
try:
|
||||
enviar("🎬 Consultando novedades del catálogo...", chat_id)
|
||||
mensajes, adultos = pelis.generar()
|
||||
except Exception as e:
|
||||
log(f"pelis generar error: {e}")
|
||||
enviar(f"❌ Error consultando el catálogo: {e}", chat_id)
|
||||
return
|
||||
|
||||
for m in mensajes:
|
||||
enviar(m, chat_id)
|
||||
|
||||
# Adultos: efimeros (5 min), sin loguear, nunca persisten
|
||||
if adultos:
|
||||
lineas = [f"🔞 Contenido adulto ({len(adultos)} novedades) — se borrará en 5 min:"]
|
||||
for it in adultos[:30]:
|
||||
y = f" ({it['year']})" if it["year"] else ""
|
||||
enlace = it.get("enlace") or ""
|
||||
linea = f"{it['clean']}{y}"
|
||||
if enlace:
|
||||
linea += f"\n<code>descargar {enlace}</code>"
|
||||
lineas.append(linea)
|
||||
if len(adultos) > 30:
|
||||
lineas.append(f"... y {len(adultos) - 30} más")
|
||||
texto = "\n".join(lineas)
|
||||
for parte in pelis.trocear_efimero(texto, adultos):
|
||||
mid = enviar(parte, chat_id)
|
||||
if mid:
|
||||
threading.Timer(300, borrar, args=(chat_id, mid)).start()
|
||||
|
||||
|
||||
def monitor_temperatura():
|
||||
while True:
|
||||
time.sleep(300)
|
||||
|
||||
Reference in New Issue
Block a user