Как сделать бота для скачивания видео с YouTube в Telegram на VPS: пошаговая инструкция 2026
Коротко
В современном мире видеоконтент занимает важное место в нашей жизни. Иногда возникает необходимость быстро скачивать видео с YouTube для личного использования или хранения. Создание собственного бота для скачивания видео в Telegram — удобное решение, которое позволяет автоматизировать этот процесс и управлять им напрямую из мессенджера. В этой статье я расскажу, как на практике настроить такого бо
Узнайте, как создать бота для скачивания видео с YouTube в Telegram на VPS с пошаговой инструкцией, чтобы автоматизировать загрузку и хранение видеофайлов.
В современном мире видеоконтент занимает важное место в нашей жизни. Иногда возникает необходимость быстро скачивать видео с YouTube для личного использования или хранения. Создание собственного бота для скачивания видео в Telegram — удобное решение, которое позволяет автоматизировать этот процесс и управлять им напрямую из мессенджера. В этой статье я расскажу, как на практике настроить такого бота на VPS, чтобы он был надежным, быстрым и безопасным.
Почему именно VPS для этого проекта?
Использование личного VPS (виртуального приватного сервера) дает ряд преимуществ:
- Автономность: бот работает 24/7 без вашего постоянного присутствия.
- Безопасность: изолированная среда, которая не мешает другим сервисам.
- Гибкость: возможность настройки под свои нужды и масштабирования.
- Контроль: полный доступ к серверу и его конфигурации.
Что вам потребуется для реализации
Перед началом убедитесь, что у вас есть:
- Доступ к VPS с установленной операционной системой Linux (например, Ubuntu 22.04 или 24.04).
- Зарегистрированный аккаунт в Telegram, созданный для бота.
- Основные знания командной строки и работы с сервером.
- Установленный Python 3.11+.
- Доступ к терминалу и базовые навыки работы с Git и пакетом pip.
Шаг 1. Подготовка VPS
- 01Обновите систему и установите необходимые инструменты
`bash sudo apt update && sudo apt upgrade -y sudo apt install -y python3 python3-pip git ffmpeg `
- 01Настройка брандмауэра (firewall)
Чтобы обеспечить безопасность, откройте только необходимые порты, например, SSH и порт, на котором может работать ваш бот, если потребуется. Обычно Telegram-боты работают через API, потому прямой вход не нужен, кроме SSH.
`bash sudo ufw allow ssh sudo ufw enable `
Шаг 2. Создание бота в Telegram
- 01Откройте Telegram и найдите бота .
- 02Создайте нового бота командой /newbot.
- 03Следуйте инструкциям: укажите название и username.
- 04После создания получите токен API — он понадобится для интеграции.
Шаг 3. Разработка бота
- 01Создайте директорию проекта
`bash mkdir ~/youtube_tg_bot cd ~/youtube_tg_bot `
- 01Инициализируйте виртуальное окружение и установите необходимые библиотеки
`bash python3 -m venv venv source venv/bin/activate pip install python-telegram-bot yt-dlp `
- 01Создайте файл bot.py
`python import os import logging 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'
if not os.path.exists(DOWNLOAD_DIR): os.makedirs(DOWNLOAD_DIR)
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() await update.message.reply_text("Обработка запроса...")
ydl_opts = { 'outtmpl': os.path.join(DOWNLOAD_DIR, '%(title)s.%(ext)s'), 'format': 'bestaudio/best', 'merge_output_format': 'mp4', '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
try: await update.message.reply_video(open(filename, 'rb')) except Exception as e: await update.message.reply_text(f"Не удалось отправить видео: {e}")
os.remove(filename)
def main(): application = ApplicationBuilder().token(TOKEN).build()
application.add_handler(CommandHandler('start', start)) application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, download_video))
application.run_polling()
if name == 'main': main() `
- 01Заполните TOKEN своим токеном.
Шаг 4. Запуск бота
- 01Активируйте виртуальное окружение и запустите бота:
`bash source venv/bin/activate python bot.py `
- 01Проверьте работу, отправив ссылку на видео в чат с ботом.
Шаг 5. Автоматизация запуска
Чтобы бот запускался автоматически при перезагрузке сервера, создайте systemd-юнит:
`bash sudo nano /etc/systemd/system/youtube_tg_bot.service `
Вставьте следующее содержание:
`ini [Unit] Description=Telegram YouTube Download Bot After=network.target
[Service] User=ваш_пользователь WorkingDirectory=/home/ваш_пользователь/youtube_tg_bot ExecStart=/usr/bin/python3 /home/ваш_пользователь/youtube_tg_bot/bot.py Restart=always
[Install] WantedBy=multi-user.target `
Замените ваш_пользователь на ваше имя пользователя.
Активируйте и запустите сервис:
`bash sudo systemctl daemon-reload sudo systemctl enable youtube_tg_bot.service sudo systemctl start youtube_tg_bot.service `
Теперь бот будет автоматически запускаться при перезагрузке сервера и работать в фоновом режиме.
Важные замечания и рекомендации
- Обратите внимание на авторские права: скачивание и распространение защищенного видео может нарушать законы. Используйте бот только для личных целей.
- Ограничьте доступ: по желанию добавьте проверку на авторизацию пользователей, чтобы бот не использовали злоумышленники.
- Обновление yt-dlp: периодически обновляйте библиотеку для корректной работы с новыми форматами YouTube:
`bash pip install -U yt-dlp `
- Логи и мониторинг: настройте логирование и мониторинг работы бота для быстрого реагирования на возможные сбои.
Итог
Создание бота для скачивания видео с YouTube в Telegram — это достаточно простая задача, которая позволяет автоматизировать процесс загрузки и хранения видеоконтента. Используя VPS, вы получаете надежную платформу для постоянной работы бота, а Python и библиотеки yt-dlp делают разработку максимально гибкой и удобной. Следуйте этим шагам, и у вас получится собственный инструмент для скачивания видео, который можно дополнительно расширять и адаптировать под свои нужды.
---
Если возникнут вопросы или потребуется помощь в настройке, обращайтесь — команда SANSARA всегда готова помочь вам с практическими решениями!
Ещё по теме
Читайте также
CTA · VPSLINE
Личный VPS — без терминала и очередей
Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.