Skip to content

medovi40k/pulsar-hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

🎵 Music Guess Bot (Telegram)

Телеграм-бот-викторина для угадывания песен популярных исполнителей. Бот выбирает случайный трек артиста из Spotify, скачивает его с YouTube, вырезает случайный 15-секундный фрагмент и предлагает пользователю угадать название песни.

🚀 Возможности

  • Поиск артиста через Spotify API
  • Выбор случайного топ-трека исполнителя
  • Загрузка аудио с YouTube с помощью yt-dlp
  • Обрезка случайного 15-секундного фрагмента (pydub)
  • Интерактивные кнопки с вариантами ответа (InlineKeyboard)
  • Асинхронная работа (AsyncTeleBot, asyncio)

🧠 Как работает игра

  1. Пользователь вводит команду:

    /game <имя артиста>
    
  2. Бот:

    • находит артиста в Spotify
    • выбирает случайный трек из топ-10
    • скачивает трек
    • вырезает случайные 15 секунд
  3. Пользователю отправляется аудио и 3 варианта ответа

  4. После нажатия кнопки бот сообщает, правильный ли выбор

📦 Зависимости

Убедитесь, что у вас установлен Python 3.9+

pip install pyTelegramBotAPI spotipy yt-dlp pydub spotdl

Также требуется установленный FFmpeg:

Linux

sudo apt install ffmpeg

macOS

brew install ffmpeg

Windows

Скачать с https://ffmpeg.org и добавить в PATH

🔑 Настройка Spotify API

  1. Перейдите на https://developer.spotify.com/dashboard

  2. Создайте приложение

  3. Скопируйте:

    • Client ID
    • Client Secret
    • Redirect URI

Вставьте данные в код:

SPOTIFY_CLIENT_ID = "your_client_id"
SPOTIFY_CLIENT_SECRET = "your_client_secret"
SPOTIFY_REDIRECT_URI = "http://localhost:8888/callback"

🤖 Настройка Telegram-бота

  1. Создайте бота через @BotFather
  2. Получите токен
  3. Вставьте токен:
bot = AsyncTeleBot('YOUR_TELEGRAM_BOT_TOKEN')

▶️ Запуск

python main.py

🗂 Структура проекта

.
├── main.py
├── downloads/
│   └── <chat_id>.mp3
├── README.md

⚠️ Важно

  • Проект использует загрузку аудио с YouTube — убедитесь, что вы соблюдаете правила и законы вашей страны
  • Spotify используется только для получения метаданных, не для скачивания

About

This is the repository of Music Quest Bot on Telegram. Made with <3 by GOBLIN Production.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages