VPSVDS
SANSARA1 августа 2026 г.6 мин

Как создать Telegram-бота для скачивания видео с YouTube на VPS: пошаговая инструкция 2026

Коротко

---

Узнайте, как создать и настроить Telegram-бота для скачивания видео с YouTube на своем VPS, с пошаговой инструкцией и рекомендациями по безопасности и эффективности.

VPSSANSARAгайд

---

В современном мире потоковое видео становится все более популярным, а возможность скачивать видео с YouTube — востребованный инструмент для пользователей, желающих сохранить контент для офлайн-просмотра. В этой статье мы разберемся, как на практике создать Telegram-бота, который поможет вам скачивать видео с YouTube прямо через удобный мессенджер, используя ваш собственный VPS.

Почему именно Telegram-бот и VPS?

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

---

Шаг 1: Подготовка окружения и выбор технологий

Для реализации проекта нам понадобятся:

  • VPS-сервер с установленной операционной системой Linux (например, Ubuntu 24.04 или 26.04)
  • Python 3.11+ — язык программирования для бота
  • библиотеки: python-telegram-bot, yt-dlp (форк youtube-dl с улучшенной поддержкой YouTube)
  • Техническое обеспечение: SSH-доступ, базовые навыки работы с командной строкой

Почему именно Python и yt-dlp?

Python — популярный язык для автоматизации задач и создания ботов благодаря богатой экосистеме. yt-dlp — современная библиотека, которая эффективно скачивает видео и аудио с YouTube и других платформ. Она активно развивается и обновляется.

---

Шаг 2: Настройка VPS и установка необходимых компонентов

Обновите систему и установите Python

`bash sudo apt update && sudo apt upgrade -y sudo apt install python3 python3-pip -y `

Установите необходимые библиотеки

`bash pip3 install python-telegram-bot yt-dlp `

Создайте нового Telegram-бота

  • Откройте Telegram и найдите бота
  • Создайте нового бота командой /newbot
  • Получите токен API — он понадобится для взаимодействия с Telegram API

Настройка переменных окружения

Создайте файл .env для хранения токена и других конфиденциальных данных:

`bash nano ~/bot_env/.env `

Добавьте:

`env TELEGRAM_TOKEN=ваш_токен_бота `

Не забудьте защитить файл:

`bash chmod 600 ~/bot_env/.env `

---

Шаг 3: Разработка бота — пример на Python

Создайте файл bot.py:

`python import os import logging from telegram import Update from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes from dotenv import load_dotenv from yt_dlp import YoutubeDL

load_dotenv(dotenv_path=os.path.expanduser('~/bot_env/.env'))

TELEGRAM_TOKEN = os.getenv("TELEGRAM_TOKEN")

logging.basicConfig( format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO )

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("Пожалуйста, отправьте действительную ссылку на YouTube.") return

await update.message.reply_text("Обрабатываю ваш запрос, ожидайте...")

ydl_opts = { 'format': 'bestvideo+bestaudio/best', 'outtmpl': 'downloads/%(title)s.%(ext)s', 'noplaylist': True, '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) except Exception as e: await update.message.reply_text(f"Ошибка при загрузке видео: {e}") return

await update.message.reply_text("Загружено! Отправляю файл...") try: await context.bot.send_video(chat_id=update.effective_chat.id, video=open(filename, 'rb')) except Exception as e: await update.message.reply_text(f"Не удалось отправить видео: {e}")

def main(): app = ApplicationBuilder().token(TELEGRAM_TOKEN).build()

app.add_handler(CommandHandler("start", start)) app.add_handler(CommandHandler("help", start)) app.add_handler(MessageHandler(filters.TEXT & (~filters.COMMAND), download_video))

app.run_polling()

if name == 'main': main() `

Обратите внимание: В этом коде реализована простая логика — при получении ссылки происходит скачивание и отправка видео обратно.

---

Шаг 4: Запуск и автоматизация

Создайте директорию для загрузок

`bash mkdir -p ~/downloads `

Запуск бота

`bash python3 bot.py `

Настроить автоматический запуск

Для постоянной работы бота рекомендуется использовать systemd или screen/tmux.

Пример systemd сервиса:

`bash sudo nano /etc/systemd/system/ytbot.service `

Вставьте:

`ini [Unit] Description=Telegram YouTube Downloader Bot After=network.target

[Service] User=your_username WorkingDirectory=/home/your_username/ ExecStart=/usr/bin/python3 /home/your_username/bot.py Restart=always

[Install] WantedBy=multi-user.target `

Активируйте и запустите:

`bash sudo systemctl daemon-reload sudo systemctl enable ytbot sudo systemctl start ytbot `

---

Шаг 5: Безопасность и ограничения

  • Ограничьте доступ к боту: Не публикуйте токен публично.
  • Фильтрация ссылок: Добавьте проверку, чтобы скачивать только YouTube-ссылки.
  • Лимиты: Введите лимиты по скорости скачивания или количеству запросов, чтобы избежать перегрузки сервера.
  • Обновление yt-dlp: Регулярно обновляйте yt-dlp командой pip3 install -U yt-dlp.

---

Итоги

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

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

---

Обратите внимание: Перед использованием любой автоматизированной системы убедитесь в соблюдении правил использования YouTube и авторских прав.

Ещё по теме

CTA · VPSVDS

Личный VPS — без терминала и очередей

Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.