Как создать и настроить бота в Telegram для скачивания видео с YouTube на VPS в 2026 году
Коротко
---
Узнайте, как создать и настроить бота в Telegram для автоматического скачивания видео с YouTube на вашем VPS — пошаговая инструкция для практической реализации в 2026 году.
---
В современном мире автоматизация процессов становится ключом к эффективности работы и личного комфорта. Одной из популярных задач является автоматизация скачивания видео с YouTube — например, для личного архива или быстрого доступа к контенту. В этой статье мы подробно расскажем, как на практике реализовать такого бота в Telegram, который будет скачивать видео с YouTube и сохранять его на вашем VPS (виртуальном приватном сервере).
Почему именно Telegram-бот и VPS?
Telegram-боты позволяют управлять задачами через удобный мессенджер, не прибегая к сложным интерфейсам. VPS обеспечивает стабильную работу без зависимостей от личного компьютера, возможность автоматического запуска и масштабирования.
Что понадобится для реализации
- VPS с установленной операционной системой Linux (Ubuntu 22.04 или новее)
- Учетная запись в Telegram для создания бота
- Python 3.11+ (для разработки бота)
- Библиотека python-telegram-bot для взаимодействия с Telegram API
- Утилита youtube-dl или yt-dlp для скачивания видео с YouTube
- Среда командной строки (терминал)
---
Шаг 1: подготовка VPS
- 01Обновите систему:
`bash sudo apt update && sudo apt upgrade -y `
- 01Установите Python 3.11 и необходимые инструменты:
`bash sudo apt install python3.11 python3-pip -y `
- 01Установите yt-dlp для скачивания видео:
`bash sudo pip3 install yt-dlp `
- 01Установите git, если потребуется клонировать репозиторий:
`bash sudo apt install git -y `
---
Шаг 2: создание Telegram-бота
- 01Перейдите в Telegram и найдите бота .
- 02Создайте нового бота командой /newbot.
- 03Назовите бота, выберите уникальное имя.
- 04После создания получите токен API — он понадобится для взаимодействия.
Шаг 3: подготовка скрипта бота
Создайте папку для проекта:
`bash mkdir ~/tg_video_downloader cd ~/tg_video_downloader `
Создайте файл bot.py:
`python import os import logging from telegram import Update from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes, MessageHandler, filters
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 'youtube.com/watch' in url or 'youtu.be/' in url: await update.message.reply_text("Обработка ссылки. Пожалуйста, подождите...")
filename = f"video_{update.message.message_id}.mp4"
command = f'yt-dlp -f "best[ext=mp4]" -o "{filename}" {url}'
process = os.popen(command) process.read() # Можно добавить обработку ошибок, если нужно
if os.path.exists(filename):
with open(filename, 'rb') as video: await update.message.reply_video(video, caption="Вот ваше видео.")
os.remove(filename) else: await update.message.reply_text("Не удалось скачать видео. Попробуйте ещё раз.") else: await update.message.reply_text("Пожалуйста, отправьте валидную ссылку на видео с YouTube.")
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() `
Обратите внимание: замените 'ВАШ_ТЕЛЕГРАМ_ТОКЕН' на токен, полученный от BotFather.
Шаг 4: запуск бота
Запустите бота командой:
`bash python3 bot.py `
Теперь ваш бот в Telegram активен. Отправьте ему ссылку на видео с YouTube — он скачает и отправит его вам обратно.
---
Шаг 5: автоматизация и безопасность
- Запуск бота как сервиса: чтобы бот запускался автоматически при перезагрузке сервера, создайте systemd-сервис.
Пример файла /etc/systemd/system/tg_video_downloader.service:
`ini [Unit] Description=Telegram Video Downloader Bot After=network.target
[Service] Type=simple User=your_username WorkingDirectory=/home/your_username/tg_video_downloader ExecStart=/usr/bin/python3 /home/your_username/tg_video_downloader/bot.py Restart=on-failure
[Install] WantedBy=multi-user.target `
Замените your_username на ваше имя пользователя. После этого выполните:
`bash sudo systemctl daemon-reload sudo systemctl enable tg_video_downloader sudo systemctl start tg_video_downloader `
- Безопасность: храните токен бота в переменных окружения или зашифрованных файлах, избегайте публичных репозиториев.
Итог
Вы создали полноценного Telegram-бота, который автоматически скачивает видео с YouTube и отправляет его вам в чат. Такой подход позволяет автоматизировать процесс получения видео, работать с ним через удобный мессенджер и управлять через VPS — мощную платформу для подобных задач.
Возможные улучшения
- Добавление поддержки скачивания аудио или других форматов.
- Внедрение ограничений по размеру или количеству скачиваний.
- Интеграция с облачными хранилищами для автоматического резервного копирования.
- Реализация очереди задач для обработки нескольких запросов одновременно.
---
Если возникнут сложности или потребуется помощь — обращайтесь к сообществу или в техническую поддержку SANSARA.
Ещё по теме
Читайте также
CTA · VPSVDS
Личный VPS — без терминала и очередей
Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.