← Back to projects

YADB — Yet Another Downloader Bot

Role: Backend / Systems Integration

Multi-platform media downloader bot with queue management, Dockerized deployment, and API orchestration across YouTube, TikTok, Instagram, Facebook and Spotify.

Technologies

PythonDiscord.pyMongoDB (optional)DockerExternal API Integration
View on GitHub →

Overview

A versatile Discord bot that orchestrates multimedia downloads from multiple platforms. Designed to handle:

  • video and audio downloads,
  • dynamic timeout and queue handling,
  • optional database-backed download history.

This integrates multiple external services and download methods in a unified backend.

Architecture

  • Discord Event → Bot Service → Download Workers → Storage / DB (optional)

  • Event-driven bot using Discord Gateway

  • Queue-based processing of download tasks

  • External interaction with multiple content platforms

  • Optional persistence of download history (MongoDB or JSON fallback)

  • Dockerized deployment with service isolation

Engineering Highlights

  • Queue Management: Ensures multiple requests are handled orderly.
  • Dynamic Timeout Logic: Adjusts based on content length.
  • Multi-platform Integration: YouTube, TikTok, Instagram, Facebook, Spotify.
  • Optional MongoDB Persistence: Enables scalable history tracking.
  • Containerized Deployment: Docker Compose for reproducible production-like environment.

Challenges Solved

  • Handling rate limits and unstable external APIs.
  • Managing long-running downloads without blocking event loop.
  • Abstracting platform-specific download logic.
  • Dockerizing Python services with external tools like spotDL.