- Python 99.5%
- Dockerfile 0.5%
| .github | ||
| assets | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| pdm.lock | ||
| pre-push.py | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
| youtube-cookies.txt | ||
ytdlbot
Это форк бота для загрузки видео, файлов и музыки. Он создан для личного пользования, поэтому некоторые функции могут работать не так, как надо. Вот полный список изменений:
- Перевод на русский язык (неполный)
- Другое оформление различных текстов (используются эмодзи)
- Переработана система миниатюр:
- Миниатюра (обложка) берётся из сервиса, а не из первого кадра ролика
- Миниатюра встраивается напрямую в файл, а не только при предпросмотре ролика
- Миниатюра встраивается и в аудиофайлы
- Изменил правила, по которым выбирается формат для загрузки:
- По умолчанию выбираются видео с VP9-кодеком, так как его поддержка наиболее распространена по сравнению с AV1
- Если есть русская аудиодорожка, то ролик загружается с ней
- Выбираются форматы, которые будут весить меньше 2 гигабайт (если сервис поддерживает). Это значит, что большие ролики могут загрузиться в более низком разрешении, чем установлено в
/settings - Ролики загружаются в наиболее оптимальном контейнере, а не принудительно в mp4 (который чаще всего весил больше остальных)
- Если не удаётся получить никаких данных, то загружается ролик «как есть»
- Музыка будет загружаться либо в AUDIO_FORMAT, либо в m4a, либо в любом доступном формате. Ранее использовался строгий формат, что мешало загрузке с многих сервисов
- По умолчанию включено отображение дебаг-информации от yt-dlp
- Добавил поддержку выбора разрешений (1440p/1080p/720p/480p/240p) и кодеков (vp9/avc1/av1/авто)
- Используются Firefox cookies для корректной работы некоторых сервисов, например, Яндекс.Музыки
- Преобразование аудио, встраивание миниатюр и генерация видео в mp4-контейнере теперь выполняются yt-dlp на этапе постобработки
- У всех файлов теперь присутствуют встроенные метаданные (например, эпизоды в видео, описание, заголовок и т.д.)
- Отключил команды
/buy, так как они не нужны - Команда
/statsпоказывает одинаковую информацию для создателя и остальных пользователей Вернул функцию поиска роликов(временно отключил)- Принудительно использую IPv4. Помогло в ситуации, когда ролики перестали грузится.
- Исправил ошибку, когда пользователь мог скинуть ссылку на канал и бот загружал все ролики с канала (костыль с
"playlist_items": 1, надо исправить) - Добавлена поддержка прокси (
YT_DLP_PROXY) - По умолчанию используется android_vr клиент.
YouTube Download Bot🚀🎬⬇️
This Telegram bot allows you to download videos from YouTube and other supported websites.
Usage
-
Singapore🇸🇬:https://t.me/benny_ytdlbot
-
Join Telegram Channel https://t.me/ytdlbot0 for updates.
Just send a link directly to the bot.
Supported websites
-
YouTube
-
Any websites supported by yt-dlp
Specific link downloader (Use /spdl for these links)
- Instagram (Videos, Photos, Reels, IGTV & carousel)
- Pixeldrain
- KrakenFiles
Features
- fast download and upload.
- No ads
- download & upload progress bar
- download quality selection
- upload format: file, video, audio
- cache mechanism - download once for the same video.
- Supports multiple download engines (yt-dlp, aria2, requests).
Limitations
Due to limitations on servers and bandwidth, there are some restrictions on this free service.
- Each user is limited to 1 free downloads every day.
Screenshots
Normal download
Instagram download
How to deploy?
This bot can be deployed on any platform that supports Python.
Run natively on your machine
Project use PDM to manage dependencies.
-
Install PDM
You can install using pip:
pip install --user pdmor for detailed instructions: Official Docs -
Install modules using PDM:
pdm install, or the old way usepip install -r requirements.txt
Important
All users who intend to download from YouTube are strongly encouraged to install one of the JS runtimes (like deno) supported by yt-dlp.
-
Setting up config file
cp .env.example .envFill the fields in
.env. For more information, see the comments in the.env.examplefile.- Required Fields
WORKERS: Number of workers (default is 100)APP_ID: Telegram app IDAPP_HASH: Telegram app hashBOT_TOKEN: Your telegram bot tokenOWNER: Owner ID (separate by,)AUTHORIZED_USER: List of authorized users ids, (separate by,)DB_DSN: Your database URL (mysql+pymysql://user:pass@mysql/dbname) or SQLite (sqlite:///db.sqlite)REDIS_HOST: Redis host
- Optional Fields
ENABLE_FFMPEG: Enable FFMPEG for video processing (True/False)AUDIO_FORMAT: Desired audio format (e.g.:- mp3, wav)ENABLE_ARIA2: Enable Aria2 for downloads (True/False)RCLONE_PATH: Path to Rclone executableENABLE_VIP: Enable VIP features (True/False)PROVIDER_TOKEN: Payment provider token from StripeFREE_DOWNLOAD: Free downloads allowed per userRATE_LIMIT: Rate limit for requestsTMPFILE_PATH: Path for temporary/download files (ensure the directory exists and is writable)TG_NORMAL_MAX_SIZE: Maximum size for Telegram uploads in MBCAPTION_URL_LENGTH_LIMIT: Maximum URL length in captionsPOTOKEN: Your PO Token. PO-Token-GuideBROWSERS: Browser to handle 'cookies from browser', i.e. firefox
-
Activate virtual environment that created by PDM:
source .venv/bin/activate -
Finally run the bot:
python src/main.py
Docker
One line command to run the bot
# Или katze-942/ytdlbot, если вы хотите использовать мою версию
docker run --env-file .env bennythink/ytdlbot
Command
start - Let's start
about - What's this bot?
help - Help
spdl - Use to download specific link downloader links
direct - Download using aria2/requests engines
ytdl - Download video in group
settings - Set your preference
unsub - Unsubscribe from YouTube Channel
ping - Ping the Bot
stats - Server and bot stats
buy - Buy quota.
Test data
Tap to expand
Test video
https://www.youtube.com/watch?v=V3RtA-1b_2E
Test Playlist
https://www.youtube.com/playlist?list=PL1Hdq7xjQCJxQnGc05gS4wzHWccvEJy0w
Test twitter
https://twitter.com/nitori_sayaka/status/1526199729864200192 https://twitter.com/BennyThinks/status/1475836588542341124
Test instagram
- single image: https://www.instagram.com/p/CXpxSyOrWCA/
- single video: https://www.instagram.com/p/Cah_7gnDVUW/
- reels: https://www.instagram.com/p/C0ozGsjtY0W/
- image carousel: https://www.instagram.com/p/C0ozPQ5o536/
- video and image carousel: https://www.instagram.com/p/C0ozhsVo-m8/
Test Pixeldrain
https://pixeldrain.com/u/765ijw9i
Test KrakenFiles
Donation
Found this bot useful? You can donate to support the development of this bot.
Donation Platforms
Stripe
You can choose to donate via Stripe.
| USD(Card, Apple Pay and Google Pay) | CNY(Card, Apple Pay, Google Pay and Alipay) |
|---|---|
| USD | CNY |
![]() |
![]() |
Cryptocurrency
TRX or USDT(TRC20)
TF9peZjC2FYjU4xNMPg3uP4caYLJxtXeJS
License
Apache License 2.0





