Trabajo de programación de un bot de Telegram
Con el objetivo de mejorar la supervisión técnica de Radio Rafaela, desarrollé un bot de Telegram que monitorea en tiempo real la señal de audio de la radio y envía alertas automáticas en caso de detectar interrupciones en la transmisión. El principal requerimiento era contar con una herramienta confiable que funcionara de forma autónoma, notificando de inmediato al equipo técnico cuando la emisión quedara en silencio.
El sistema fue desarrollado en Python e implementa un proceso asincrónico que graba fragmentos breves de audio utilizando la librería sounddevice
, los analiza en tiempo real con numpy
y evalúa el nivel de volumen para determinar si hay actividad. Cada 10 segundos, el bot verifica si el audio está presente o no, y si detecta un cambio de estado (por ejemplo, de sonido a silencio), envía automáticamente un mensaje a través de la API de Telegram.
Además, incorporé un verificador de estado para el stream en vivo (formato .m3u8
) usando aiohttp
, lo que permite detectar si la señal online está activa o caída. Los usuarios pueden interactuar con el bot mediante comandos como /start
, /stream
, /stats
e /info
, los cuales permiten iniciar el monitoreo, consultar el estado de la transmisión, acceder a estadísticas detalladas del servicio y obtener información general sobre el funcionamiento del bot.
La lista de usuarios registrados se gestiona de forma simple a través de un archivo de texto local, asegurando la persistencia entre sesiones. También implementé una función de notificación automática cada vez que el bot se reinicia, para que los usuarios estén al tanto de que el sistema sigue activo.
