Skip to content

dagedarr/youtube-music-bot

Repository files navigation

Telegram YouTube Audio Bot

Этот проект представляет собой Telegram-бота на базе aiogram, который скачивает аудио с YouTube, автоматически разбивает большие файлы на части с помощью ffmpeg, и отправляет их пользователю. Бот также использует Celery и Redis для фоновой обработки, Docker для контейнеризации и Flower для мониторинга задач.

Основные функции

  • Простой интерфейс: Просто отправьте боту ссылку на видео — он сам скачает аудио, и пришлёт вам готовое аудио.
  • Система избранного: Понравился трек? Добавьте его в избранное одним нажатием! Бот запомнит его, чтобы вы могли вернуться к нему позже. Передумали? Просто нажмите 👎, и трек исчезнет из избранного.
  • Разделение больших файлов: Если файл слишком большой для Telegram, бот автоматически разобьёт его на части с помощью ffmpeg и отправит вам по очереди.
  • Фоновая обработка: Разбиение большого аудио на части происходит с использованием Celery и Redis. Для удобства отслеживания добавлен Flower.
  • Временная директория: Аудио не хранятся в БД, а находятся в общем томе (Для Celery и бота) и удаляются после обработки.

Установка

  1. Клонируйте репозиторий
git clone https://github.com/dagedarr/youtube-music-bot.git

cd youtube-music-bot/

Если вы не используете Git, то вы можете просто скачать исходный код репозитория в ZIP-архиве и распаковать его на свой компьютер.

  1. Переименуйте .env.example в .env и следуйте инструкциям внутри этого файла

Если вы используете Docker:

  1. Запустите docker-compose
cd infra/

docker-compose up -d
  1. Примените миграции как запустится БД
docker-compose exec app alembic upgrade head

Если Вы не используете Docker

  1. В директории youtube-music-bot выполните следующие команды:
python main.py

celery -A tasks.tasks:app worker --loglevel=INFO --pool=solo

celery -A tasks.tasks:app flower

Готово!

Вы успешно установили бота и готовы начать его использовать!

Вклад в проект

Если у вас есть предложения по улучшению или вы обнаружили баг, не стесняйтесь создать issue, отправить pull request либо написать напрямую автору. Ваш вклад приветствуется!

Автор

Натолин Артем

About

Готовый к деплою телеграм бот, который скачивает аудио с YouTube

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages