Skip to content

Latest commit

 

History

History
124 lines (97 loc) · 6.62 KB

README.ru.md

File metadata and controls

124 lines (97 loc) · 6.62 KB

YouTube Music Download Bot

python version aiogram version asyncpg version environs version static-ffmpeg version matplotlib version numpy version redis version yt-dlp version

Code style: black Code tests Code tests MIT licence

En Ua

YouTube Music Download Bot

Бот для загрузки музыки с YouTube. Рабочая версия доступна по ссылке @YT_upl_Bot

Возможности

  • Поиск музыки на YouTube
  • Скачивание найденных видео в формате .mp3

Установка бота

Если вам нужна простая версия бота, без использования базы данных Postgres и без работы в режиме webhook, то перейдите в эту ветку.

Установите бота с помощью команды в терминале:

wget https://raw.githubusercontent.com/rin-gil/youtube-music-download-bot/master/infrastructure/deploy.sh && chmod +x deploy.sh && ./deploy.sh

Установка и настройка Postgres

Установите базу данных Postgres в соответствии с инструкциями с официального сайта: https://www.postgresql.org/download/

Работа бота проверена на Postgres версии 15

Создайте базу данных, пользователя и настройки, выполнив команды в терминале:

sudo -u postgres psql
CREATE DATABASE db_name;
CREATE USER db_user WITH PASSWORD 'db_password';
\connect db_name;
CREATE SCHEMA db_name AUTHORIZATION db_user;
ALTER ROLE db_user SET client_encoding TO 'utf8';
ALTER ROLE db_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE db_user SET timezone TO 'UTC';
\q

Замените db_name, db_user и db_password в этих командах на свои данные.

Настройка и запуск

  • Зарегистрируйте нового бота у @BotFather и скопируйте полученный токен
  • Вставьте токен бота и учетные данные базы данных в файл .env
  • Запуск бота через файл bot.py python bot.py

Дополнительная конфигурация

Примеры конфигураций для запуска бота в режиме webhook или в качестве systemd сервиса можно найти в папке infrastructure

Ограничения

  • Бот скачивает только музыку (аудиофайл .mp3)
  • Бот не скачивает живые трансляции
  • Плейлист не скачивается полностью, скачивается только один элемент
  • Бот не скачивает клипы продолжительностью больше 15 минут
  • Название для аудиофайла формируется из названия видео на YouTube. Поскольку в названии могут содержаться нежелательные символы, не поддерживаемые файловой системой, из названия убираются все символы, кроме букв, цифр, пробелов, знаков '_' и '-', длина названия обрезается до 100 символов

Разработчики

Лицензия

Проект YouTubeMusicDownloadBot распространяется по лицензии MIT