02-ago: [proyecto] vigilancia - YouTube en la tele: youtube <URL> reproduce video y apaga al terminar. Comando en el bot.

This commit is contained in:
minguezsanzjuanjose
2026-08-02 21:43:47 +02:00
parent 4584fdb4a6
commit e33d4c1369
3 changed files with 78 additions and 2 deletions

View File

@@ -94,6 +94,15 @@ def mandar_tv(mensaje, simple):
return False
def mandar_youtube(url):
try:
r = requests.get(f"http://127.0.0.1:8600/tv/youtube?url={url}", timeout=10)
return r.status_code == 200
except Exception as e:
log(f"youtube error: {e}")
return False
def procesar(texto, chat_id):
t = texto.lower().strip()
log(f"RECIBIDO chat={chat_id} texto={texto!r}")
@@ -119,7 +128,7 @@ def procesar(texto, chat_id):
ok = mandar_tv(msj, simple=False)
enviar("🚨 Alarma lanzada en la tele ✅" if ok
else "❌ No se pudo lanzar la alarma", chat_id)
elif t in ("panorama", "/panorama"):
elif t.startswith("panorama") or t.startswith("/panorama"):
enviar("📷 Capturando snapshots de las cámaras...", chat_id)
try:
import subprocess as sp
@@ -128,12 +137,20 @@ def procesar(texto, chat_id):
log(f"panorama: {r.stdout.strip()[-200:]}")
except Exception as e:
log(f"panorama error: {e}")
elif t.startswith("youtube ") or t.startswith("/youtube "):
url = texto.split(" ", 1)[1].strip()
if not url:
enviar("Uso: <b>youtube &lt;URL&gt;</b>", 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 ("ayuda", "/ayuda", "help", "/help"):
enviar("Comandos:\n"
"<b>estado</b> — estado de la Pi\n"
"<b>temperatura</b> — temperatura\n"
"<b>tv &lt;mensaje&gt;</b> — mensaje rápido a la tele\n"
"<b>alarma &lt;mensaje&gt;</b> — secuencia completa (sirena x3)\n"
"<b>youtube &lt;URL&gt;</b> — reproduce YouTube y apaga al terminar\n"
"<b>panorama</b> — fotos de las cámaras",
chat_id)