lukidown - Telegram-бот для загрузки видео, музыки и файлов с разных платформ
Telegram давно превратился не только в мессенджер, но и в удобную среду для автоматизации повседневных задач. Один из таких проектов - lukidown, универсальный Telegram-бот для скачивания видео, аудио и изображений с популярных интернет-площадок. Автор разработал его на Python, объединив библиотеки Kurigram, yt-dlp, FFmpeg и Mutagen.
Главная идея проекта - создать единый инструмент без рекламы, платных тарифов и десятков разрозненных сервисов. Пользователю достаточно отправить боту ссылку, после чего он сможет выбрать нужный формат, качество и тип медиафайла. В результате lukidown может выступать как Telegram бот для скачивания видео, музыки, обложек и других материалов.
Поддерживаются YouTube, TikTok, Instagram, Pinterest, Rutube, VK, Twitch, Snapchat, Reddit, Tenor, JioSaavn и другие платформы. Для музыкального контента предусмотрена работа со Spotify, Shazam, Yandex Music, VK Music, SoundCloud, Deezer и Apple Music. Кроме того, бот умеет обрабатывать отдельные сценарии для Kinopoisk - например, показывать сезоны, эпизоды и доступные варианты озвучки.
Возможности проекта
lukidown способен загружать видео вплоть до 4K, а аудио - в форматах от MP3 с битрейтом 192 кбит/с до FLAC. Для музыкальных файлов автоматически добавляются метаданные, включая исполнителя, название композиции и обложку. Для этого применяется библиотека Mutagen, поддерживающая теги ID3, FLAC и MP4.
Интерфейс построен на встроенных клавиатурах Telegram. С их помощью можно выбрать разрешение, формат, отменить текущую операцию или открыть историю запросов. Для каждого пользователя сохраняется список загрузок, а несколько задач могут обрабатываться через очередь.
Предусмотрен и inline-режим: достаточно вызвать бота в любом чате через конструкцию @your_bot и добавить ссылку либо поисковый запрос. Такой подход позволяет запускать скачивание, не переходя в личный диалог с ботом. На практике это делает сервис удобным для групповых чатов и быстрых публикаций.
Отдельный механизм предусмотрен для ссылок Deezer и Apple Music. Бот извлекает метаданные композиции, а затем ищет подходящий вариант через YouTube. Это помогает получить аудиофайл даже в тех случаях, когда прямое скачивание с музыкальной платформы ограничено.
Более подробное описание архитектуры и возможностей можно найти в материале о Telegram-боте для скачивания видео и музыки, где рассматриваются технические решения проекта.
Архитектура и производительность
Для ускорения повторных запросов используется двухуровневое кэширование на базе PostgreSQL и Redis. Для каждого URL, формата и выбранного качества создаётся уникальный ключ, вычисляемый через SHA-256. Перед запуском загрузки система проверяет, не был ли нужный файл обработан ранее.
Если результат уже есть в базе, бот отправляет пользователю сохранённый Telegram file_id. Повторная загрузка на сервер и повторная передача файла в инфраструктуру Telegram не требуются. Благодаря этому популярные ролики и треки могут выдаваться менее чем за 0,2 секунды.
Одновременное выполнение задач организовано с учётом особенностей yt-dlp. Эта библиотека работает синхронно и способна блокировать event loop, поэтому загрузки выносятся в ThreadPoolExecutor. Telegram-обработчики при этом продолжают принимать новые сообщения. Очередь можно настраивать, а отдельные задания - отменять.
В проект также встроена защита от FloodWait, что особенно важно при массовой работе с Telegram API. Для Docker-развёртывания предусмотрен HTTP-сервер проверки состояния: контейнер или оркестратор может быстро определить, работает ли приложение корректно.
Реверс-инжиниринг отдельных платформ
Наиболее сложной частью разработки стала интеграция с сервисами, где стандартных публичных API недостаточно. Автор исследовал внутренние механизмы Spotify, Yandex Music, VK Music и Kinopoisk, стараясь использовать программные интерфейсы вместо обычного веб-скрейпинга.
Для Spotify применяется Partner GraphQL API. Бот обращается к странице встраиваемого трека или альбома, извлекает из `__NEXT_DATA__` анонимный access token и затем запрашивает метаданные через внутренний endpoint. В результате можно получить название композиции, список исполнителей и качественную обложку. Сам аудиофайл после этого находится через сопряжённые источники поиска.
Интеграция с Kinopoisk реализована частично. Сервис используется преимущественно для определения фильма или сериала, а не для извлечения защищённого видеопотока. Для взаимодействия со сторонними видеосервисами потребовалось анализировать клиентские скрипты плееров, восстанавливать сигнатуры и выполнять математические перестановки символов с использованием простых чисел и битовых масок.
Важно, что речь не идёт о взломе самого Kinopoisk. Исследовались механизмы сторонних ресурсов, которые используют его данные для идентификации контента. Даже у таких сервисов встречаются собственные системы защиты плеера, что заметно усложняет автоматизацию.
Что делает lukidown удобным
Проект поддерживает русский и английский языки, обладает простым интерфейсом и не перегружен лишними элементами. При этом в нём есть функции, которых часто не хватает обычным ботам: история операций, выбор качества, очередь, отмена задач, кэширование и автоматическое добавление обложек.
По сути, это бот для скачивания видео из соцсетей и медиасервисов, объединяющий в одном интерфейсе множество площадок. Он позволяет скачать видео с YouTube через Telegram, получить музыкальный файл из стримингового сервиса или сохранить изображение без установки отдельных программ.
Разработка ведётся с апреля 2026 года, однако публично код был открыт только после того, как автор довёл проект до относительно стабильного состояния. Публикация исходников даёт возможность изучить организацию асинхронного пайплайна, работу с очередями, кэшами и внешними API.
Для пользователей основное преимущество lukidown заключается в универсальности: не нужно искать отдельный сервис под каждую платформу. Один инструмент помогает скачать видео и музыку с сайтов, выбрать подходящее качество и получить результат непосредственно в Telegram. Поэтому проект вполне может претендовать на роль кандидата в категории "лучший Telegram бот для загрузки файлов" - особенно для тех, кому важны отсутствие рекламы, открытый код и гибкие настройки.


