← Volver a proyectos

YADB — Yet Another Downloader Bot

Backend / Integración de Sistemas

Bot de descarga multimedia multiplataforma con gestión de colas, despliegue Dockerizado y orquestación de APIs entre YouTube, TikTok, Instagram, Facebook y Spotify.

Stack:
PythonDiscord.pyMongoDB (opcional)DockerIntegración de APIs Externas
Ver en GitHub →

Descripción General

Bot versátil de Discord que orquesta descargas multimedia de múltiples plataformas. Diseñado para manejar:

  • descargas de video y audio,
  • gestión dinámica de timeouts y colas,
  • historial de descargas opcional respaldado por base de datos.

Integra múltiples servicios externos y métodos de descarga en un backend unificado.

Arquitectura

  • Evento Discord → Servicio Bot → Workers de Descarga → Almacenamiento / BD (opcional)

  • Bot event-driven usando Discord Gateway

  • Procesamiento basado en colas de tareas de descarga

  • Interacción externa con múltiples plataformas de contenido

  • Persistencia opcional del historial de descargas (MongoDB o JSON como fallback)

  • Despliegue Dockerizado con aislamiento de servicios

Destacados de Ingeniería

  • Gestión de Colas: Asegura que múltiples solicitudes se manejen ordenadamente.
  • Lógica de Timeout Dinámico: Se ajusta según la longitud del contenido.
  • Integración Multi-plataforma: YouTube, TikTok, Instagram, Facebook, Spotify.
  • Persistencia Opcional con MongoDB: Habilita seguimiento escalable del historial.
  • Despliegue Containerizado: Docker Compose para entorno reproducible tipo producción.

Desafíos Resueltos

  • Manejo de rate limits y APIs externas inestables.
  • Gestión de descargas de larga duración sin bloquear event loop.
  • Abstracción de lógica de descarga específica por plataforma.
  • Dockerización de servicios Python con herramientas externas como spotDL.