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
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.