Как создать Telegram-бота для скачивания видео с YouTube и настроить его на VPS (2026)
Коротко
---
Узнайте, как создать собственного Telegram-бота для скачивания видео с YouTube, настроить его на VPS и автоматизировать процесс легально и безопасно.
---
В современном мире потоковое видео становится неотъемлемой частью нашей жизни. Иногда возникает необходимость скачать видео с YouTube для офлайн-просмотра или дальнейшего использования. В этой статье мы расскажем, как на практике создать Telegram-бота, который поможет вам скачивать видео с YouTube, и как настроить его на VPS для автоматизации этого процесса.
Почему именно Telegram-бот и VPS?
Telegram-бот — удобный интерфейс для взаимодействия с пользователем, а VPS (виртуальный приватный сервер) обеспечивает стабильную и круглосуточную работу сервиса без необходимости держать включённый компьютер дома. Такой подход позволяет автоматизировать процесс скачивания, не зависеть от личного устройства и обеспечить безопасность.
Что понадобится для реализации
- VPS с Linux (например, Ubuntu 24.04 или новее)
- Python 3.11+ и необходимые библиотеки
- API-ключ Telegram бота
- Скрипт для скачивания видео с YouTube (используем yt-dlp)
- Настройка webhook или polling для взаимодействия бота с пользователем
---
Шаг 1. Аренда VPS и подготовка окружения
- 01Аренда VPS
Выберите провайдера, например, DigitalOcean, Hetzner, Linode или любого другого. Создайте новый сервер с Ubuntu 24.04 или более новой версией.
- 01Обновление системы
Подключитесь к VPS через SSH и выполните команды:
`bash sudo apt update && sudo apt upgrade -y `
- 01Установка Python и необходимых зависимостей
`bash sudo apt install python3 python3-pip -y `
- 01Создание виртуального окружения (опционально, рекомендуется)
`bash python3 -m venv venv source venv/bin/activate `
Шаг 2. Получение API-ключа Telegram бота
- 01В Telegram найдите бота BotFather.
- 02Создайте нового бота командой /newbot и следуйте инструкциям.
- 03Получите токен API — он понадобится для взаимодействия.
Шаг 3. Установка yt-dlp и создание Python-скрипта бота
- 01Установите yt-dlp — современную альтернативу youtube-dl:
`bash pip install yt-dlp python-telegram-bot `
- 01Создайте файл bot.py и вставьте следующий пример кода:
`python import logging import os from telegram import Update from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes, MessageHandler, filters from yt_dlp import YoutubeDL
logging.basicConfig( format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO )
TOKEN = 'ВАШ_ТЕЛЕГРАМ_ТОКЕН'
DOWNLOAD_DIR = 'downloads' os.makedirs(DOWNLOAD_DIR, exist_ok=True)
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text( "Привет! Отправьте мне ссылку на видео с YouTube, и я скачаю его для вас." )
async def download_video(update: Update, context: ContextTypes.DEFAULT_TYPE): url = update.message.text.strip()
if not url.startswith('http'): await update.message.reply_text("Пожалуйста, отправьте действительную ссылку.") return
await update.message.reply_text("Начинаю скачивание...")
ydl_opts = { 'outtmpl': os.path.join(DOWNLOAD_DIR, '%(title)s.%(ext)s'), 'format': 'bestvideo+bestaudio/best', 'merge_output_format': 'mp4', 'quiet': True, 'no_warnings': True, }
try: with YoutubeDL(ydl_opts) as ydl: info_dict = ydl.extract_info(url, download=True) filename = ydl.prepare_filename(info_dict)
with open(filename, 'rb') as video_file: await update.message.reply_video(video=video_file, caption=f"Вот ваше видео: {info_dict.get('title')}")
os.remove(filename) except Exception as e: await update.message.reply_text(f"Ошибка при скачивании: {e}")
def main(): app = ApplicationBuilder().token(TOKEN).build()
app.add_handler(CommandHandler("start", start)) app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, download_video))
app.run_polling()
if name == 'main': main() `
- 01Настраиваем переменную TOKEN — вставьте туда ваш API-ключ Telegram.
Шаг 4. Запуск бота и автоматизация
- 01Запустите бота командой:
`bash python3 bot.py `
- 01Проверьте работу, отправив ссылку в чат с ботом.
- 01Для постоянной работы рекомендуется настроить systemd-сервис:
`bash sudo nano /etc/systemd/system/telegram_video_bot.service `
Добавьте содержимое:
`ini [Unit] Description=Telegram Video Download Bot After=network.target
[Service] User=ваш_пользователь WorkingDirectory=/путь/к/вашему/скрипту ExecStart=/usr/bin/python3 /путь/к/вашему/скрипту/bot.py Restart=on-failure
[Install] WantedBy=multi-user.target `
Активируйте и запустите сервис:
`bash sudo systemctl daemon-reload sudo systemctl enable telegram_video_bot sudo systemctl start telegram_video_bot `
Теперь бот будет запускаться автоматически при перезагрузке VPS.
Важные нюансы и советы
- Легальность: скачивание контента с YouTube без разрешения авторов нарушает их права. Используйте данный инструмент только для личного использования или в рамках легальных соглашений.
- Ограничения: некоторые видео могут иметь ограничения по скачиванию или авторские права.
- Производительность: на VPS с минимальными ресурсами скачивание и отправка видео может занимать время, особенно при больших файлах.
- Обновление yt-dlp: регулярно обновляйте yt-dlp для поддержки новых форматов и исправлений.
Итоги
Вы создали собственного Telegram-бота, который автоматически скачивает видео с YouTube по ссылке и присылает его вам. Такой подход подходит для автоматизации личных задач и позволяет быстро получать видео в чате, не залезая в браузер. Главное — соблюдать авторские права и использовать решения ответственно.
---
Если возникнут сложности, пишите в комментариях или на техподдержку SANSARA — мы всегда готовы помочь с настройкой VPS и созданием автоматизированных решений!
Ещё по теме
Читайте также
CTA · VPSLINE
Личный VPS — без терминала и очередей
Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.