Как я сделал зеркало YouTube в виде Telegram-бота с Mini App

Идея

Все знаем, что YouTube заблокирован, кто-то это обходит с помощью VPN, кто-то скачивает доп программы. Лично я не хочу платить за VPN, а с доп программами постоянно проблема, время от времени нужно менять конфигурацию.
Одно из решений были тг-боты, которые скачивали по ссылке нужное вам видео, но это не совсем удобно, нужно сначала найти видео, потом скопировать ссылку на него (а это не всегда получается, ютуб просто может не загружать страницу), так ещё некоторые боты заставляли подписываться на каналы. И тогда ко мне пришла идея, а почему бы к таким скачивалкам не добавить tg-приложение, которое будет зеркалить ютуб, там будет поиск видео, лента этих видео, ну почти полный интерфейс популярного видеохостинга.

Стек

1. Python для написания телеграм бота и api к ютуб
2. React Vite для написания мини-приложения

Логика

1. Получение ссылки (напрямую, вставляете в бота ссылку или через мини приложение, просто тыкаете на видео)
2. Бот ищет видео, и предлагает в каком формате скачать
3. После выбора формата, если это видео до вас было уже скачано, то отправляется моментально, если нет, то начинает скачивать, показывая сколько процентов скачано

Как видите всё легко, логика не сложная, просто добавили miniApp, которое облегчает использование

Вот небольшой кусок кода, который скачивает видео из ютуба и других сервисов

import yt_dlp def download_youtube_video(url): ydl_opts = { 'outtmpl': '%(title)s.%(ext)s', # Имя файла будет как название видео } with yt_dlp.YoutubeDL(ydl_opts) as ydl: ydl.download([url]) if __name__ == '__main__': video_url = input("Введите ссылку на видео YouTube или TikTok: ") download_youtube_video(video_url)

В будущем буду улучшать мини приложение, скоро можно листать ленту shorts / TikTok, добавятся рекомендации ну и т.д.

Всем спасибо за прочтение, если хотите стать одним из разработчиков этого проекта, то напишите в поддержку моего бота

11
2
1
1
30 комментариев