A Telegram bot that helps you easily download entire YouTube playlists in audio (MP3) or video (MP4) format, bundled neatly into a ZIP file.
Built using Python, python-telegram-bot, and yt-dlp.
- Download entire YouTube playlists or single videos.
- Choose between audio (MP3) and video (MP4).
- Files are zipped and sent directly in chat.
- Lightweight and easy to deploy.
- Uses in-memory temporary data (no external database required).
-
Clone this repository:
git clone https://github.com/yourusername/chaos-19-ytv_downloader.git cd chaos-19-ytv_downloader
-
Install dependencies:
pip install -r requirements.txt
-
Create and configure
.env
:BOT_TOKEN=your_telegram_bot_token_here
-
Run the bot:
python bot.py
-
Start the bot on Telegram:
/start
-
Send a YouTube playlist URL or a video URL.
-
Choose your preferred format:
- π΅ Audio (MP3)
- πΉ Video (MP4)
-
Receive a ZIP file containing the downloaded media.
chaos-19-ytv_downloader/
βββ bot.py # Main bot runner and handler setup
βββ config.py # Reserved for future configuration
βββ requirements.txt # Python dependencies
βββ README.md # Project documentation
βββ database/
β βββ db.py # In-memory temporary data storage
βββ handlers/ # Telegram command & callback handlers
β βββ downloader.py
β βββ start.py
β βββ help.py
β βββ fetch_metadata.py
β βββ echo.py
β βββ error.py
βββ services/ # Downloading, zipping, and utility services
βββ youtube.py
βββ utils.py
βββ __init__.py
This project is licensed under the MIT License.
Pull requests, suggestions, and issues are welcome! Feel free to open an issue or submit a PR.
If you'd like to reach out: Chaos β [email protected]
Happy downloading! π