Skip to content

Бот Telegram для быстрой загрузки видео из множества источников.

License

Notifications You must be signed in to change notification settings

DUB1401/Telegram-dlp

Repository files navigation

Telegram-dlp

Telegram-dlp – это бот Telegram для скачивания видеороликов из сети, поддерживающий распознание водяных знаков, извлечение аудиодорожек и буферизацию контента для мгновенной повторной отправки. Также в систему внедрена удобная панель управления, позволяющая ознакомится со статистикой или проводить рассылку сообщений подписчикам бота.

Бот оптимизирован для работы со следующими источниками:

Со списком остальных сайтов, работа с которыми также теоретически поддерживается, но не гарантируется, можно ознакомится здесь.

Для вывода дополнительных режимов загрузки выполните команду /settings.

Порядок установки и использования

  1. Для установки необходимо наличие системы Git и Python версии 3.12 или новее на вашем устройстве.
git -v
python3 -V
  1. Клонируйте репозиторий рекурсивно (для автоматического включения подмодулей) и перейдите в его каталог.
git clone https://github.com/DUB1401/Telegram-dlp --recursive
cd Telegram-dlp
  1. Создайте виртуальное окружение Python.
python3 -m venv .venv
  1. Активируйте вирутальное окружение.
# Для Windows.
.venv\Scripts\activate.bat

# Для Linux или MacOS.
source .venv/bin/activate
  1. Установите зависимости.
pip install -r requirements.txt
  1. Разработчики yt-dlp настоятельно рекомендуют установить библиотеку ffmpeg для поддержки расширенных сценариев загрузки и постпроцессинга. Ниже приведено несколько примеров.
# Fedora
sudo dnf install ffmpeg-free
# Arch Linux
pacman -S ffmpeg
# Ubuntu
sudo apt install ffmpeg
  1. Произведите настройку путём редактирования файла Settings.json.
  2. В вирутальном окружении выполните команду main.py login {PHONE_NUMBER} {API_ID} {API_HASH}, подставив данные, которые можно получить здесь.

Note

Это действие подключит выбранный аккаунт к Telegram-dlp в качестве загрузчика контента, что позволяет обходить лимиты ботов и скачивать видео размером до 2 GB (4 GB с подпиской Premium). Вы можете свободно продолжать пользоваться данным аккаунтом.

  1. При намерении скачивать ролики из Instagram необходимо получить из браузера с произведённой авторизацией файл куков в формате Netscape и поместить его в этот каталог под именем instagram.cookies.
  2. После подключения аккаунта запустите файл main.py и отправьте боту команду /start.
  3. Для автоматического запуска рекомендуется провести инициализацию сервиса через systemd на Linux или путём добавления его в автозагрузку на Windows.

Settings.json

"token": ""

Сюда необходимо занести токен бота Telegram (можно получить у BotFather).


"support_contact": ""

Здесь можно указать Telegram-контакт поддержки, который будет добавляться к шаблону и отправляться в ответ на команду /support.


"language": "ru"

Код используемого ботом языка. По умолчанию поддерживаются: ru, en. Локализация осуществляется через GNU gettext.


"trusted_sources_id": []

Сюда заносятся ID пользователей, от имени которых выполняется загрузка файлов на сервера Telegram. Заполняется автоматически.


"password": "1234"

Указывает пароль для доступа в панель управления (команда /admin {PASSWORD}).


"quality_improvement": false

Включает постобработку для улучшения качества видео. На данный момент не оказывает влияния на загружаемый ролик.


"one_watermarked": true

Переключает режим отображение видео с водяными знаками (только лучшее качество или все).


"max_file_size": 1950

Максимальный размер выгружаемого в Telegram файла в MB. Если у подключённого к боту аккаунта имеется Premium-подписка, рекомендуется повысить до 3950.


"parallel_download_qualities": ["Full HD"]

Здесь перечисляются идентификаторы качества, которые будут скачиваться ещё до выбора пользователем требуемого формата для ускорения выдачи. Доступны 240p, 360p, 480p, HD, Full HD, 2K, 4K, 8K. Не рекомендуется определять более двух вариантов из-за возможного длительного состояния гонки!


"lib_autoupdate": false

Активирует проверку обновлений yt-dlp при каждом использовании.


"configs": {
	"*": {
		"proxy": "http://{LOGIN}:{PASSWORD}@{IP}:{PORT}"
	}
}

Здесь можно определять настройки, специфичные для отдельных экстракторов, в том числе и для базового. Внутри поля необходимо создать ключ, значением которого будет словарь с параметрами. Список ключей смотреть здесь, параметры приведены ниже. В примере выше для всех экстракторов установлен стандартный прокси.

Дополнительные параметры всех обработчиков

Ключ Тип Описание
proxy string Прокси-сервер для обработчика.

Дополнительные параметры Instagram

Ключ Тип Описание
cookies_generator string Указывает Shell-команду для запуска скрипта, обновляющего cookies для авторизации
libx264 bool Включает использование проприетарной libx264 вместо открытой libopenh264 во время перекодирования роликов в H.264 из VP9.

Дополнительные параметры TikTok

Ключ Тип Описание
fake_hd bool Если у видео нет HD-варианта, таковым будет считаться наибольший из доступных.

Благодарность

  • @yt-dlp – библиотека для скачивания видео из множества источников с широким дополнительным функционалом.

Copyright © DUB1401. 2024-2025.

About

Бот Telegram для быстрой загрузки видео из множества источников.

Topics

Resources

License

Stars

Watchers

Forks

Languages