Skip to content

Клиент для показа текущих треков из любых источников в Discord RPC. Для поиска используется Yandex Music

License

Notifications You must be signed in to change notification settings

FozerG/WinYandexMusicRPC

Repository files navigation

[DISCORD RPC]  WinSdk + Yandex Music Discord Rich Presence

TotalDownloads LastRelease CodeOpen OS - Windows

Discord RPC для показа музыки которую вы сейчас слушаете на компьютере. Загрузка треков и их обложка происходит из Яндекс Музыки.

discord

Существуют похожие RPC, которые показывают текущий трек, используя API Яндекс Музыки. Однако они не могут отображать информацию о том, что играет из радио (например, Моя Волна).

Поэтому я создал скрипт, который использует Windows.Media.Control для получения информации о текущем треке, выполняет поиск в Яндекс Музыке и отображает трек в Discord.

Плюсы по сравнению с другими скриптами:
Не нужен токен Яндекс Музыки ✅
Показывает треки из подборок, радио ✅
Не ограничен использованием Яндекс Музыки, музыку можно слушать хоть из ВКонтакте ✅
Работает как с браузерами так и с приложениями ✅
Показывает статус паузы ✅
Показывает сколько осталось до конца трека ✅

Требования

Работа проверена только на Windows 11 и Windows 10, на других версиях и платформах работать не будет. С урезанными Lite и Custom версиями Windows работа не гарантируется.

Если вы не будете использовать ехе файл то:

  1. Python 3.10+

Как скачать и использовать Exe?

  1. Скачиваем последний доступный релиз

  2. Открываем WinYandexMusicRPC.exe

  3. Скрипт через 3 секунды автоматически скроется в системный трей. Откройте консоль через трей чтобы убедиться в работе.

Как использовать main.py?

  1. Открываем терминал и идем в папку где находится файл requirements.txt. Пишем pip install -r requirements.txt, для того что бы установить зависимости.

  2. В терминал пишем python main.py

Чтобы скомпилировать скрипт с помощью Pyinstaller, выполните данную команду:
pyinstaller main.spec


В случае если вы слушаете музыку не только из яндекс музыки то рекомендую заменить строку strong_find = True на strong_find = False, или воспользуйтесь системным треем. Тогда будет показыватся лучший результат по поиску, но не всегда точный.

Баги

Баги всегда существуют, но сначала их надо найти 🫡
Если вы нашли ошибку, то не стесняйтесь сообщать о ней в Issues

TODO

Сделать чтобы таймер не сбрасывался при паузе трека ✅
Если долгая пауза - убирать статус ✅
Улучшить поиск песен ✅
Вместо консоли сделать приложение в трее ✅


Пожалуйста, покажите вашу заинтересованность в этом проекте, что бы я мог его обновлять по мере возможности.

Код не идеален, так как Python не является моим основным языком, и скрипт писался для личного использования. Однако он может стать основой для ваших собственных скриптов.

За основу был взят код yandex-music-rpc
Используется Yandex Music API

About

Клиент для показа текущих треков из любых источников в Discord RPC. Для поиска используется Yandex Music

Topics

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages