Простой интерфейс Ynison

Простой интерфейс Ynison.

Каждая функция открывает свежее websocket-соединение, выполняет одно действие и корректно закрывается. Для долгоживущих подключений или собственных payload’ов используйте yandex_music.ynison.YnisonClient напрямую вместе с билдерами запросов из yandex_music.ynison.messages.

Синхронный аналог yandex_music.ynison.simple.

yandex_music.ynison.simple.get_state(token, device_id=None, timeout=10.0)

Возвращает текущее состояние плеера со всеми устройствами.

Parameters:
  • token – OAuth-токен Yandex Music.

  • device_id – Идентификатор этого клиента в Ynison-сессии. По умолчанию — случайный.

  • timeout – Максимальное время ожидания начального фрейма, в секундах.

Returns:

Последний полученный фрейм состояния.

Return type:

yandex_music.ynison.models.ynison_state.PutYnisonStateResponse

Raises:

yandex_music.exceptions.YnisonError – Если начальный фрейм не пришёл за timeout секунд.

yandex_music.ynison.simple.get_current_track(token, device_id=None, timeout=10.0)

Возвращает текущий трек в очереди активного устройства.

Parameters:
  • token – OAuth-токен Yandex Music.

  • device_id – Идентификатор этого клиента в Ynison-сессии. По умолчанию — случайный.

  • timeout – Максимальное время ожидания начального фрейма, в секундах.

Returns:

Текущий playable или None, если индекс вне списка (пустая очередь или незавершённый старт).

Return type:

yandex_music.ynison.models.ynison_state.Playable | None

Raises:

yandex_music.exceptions.YnisonError – Если начальный фрейм не пришёл за timeout секунд.

yandex_music.ynison.simple.get_devices(token, device_id=None, timeout=10.0)

Возвращает список всех устройств в текущей Ynison-сессии.

Parameters:
  • token – OAuth-токен Yandex Music.

  • device_id – Идентификатор этого клиента в Ynison-сессии. По умолчанию — случайный.

  • timeout – Максимальное время ожидания начального фрейма, в секундах.

Returns:

Все известные устройства, включая оффлайн.

Return type:

list из yandex_music.ynison.models.ynison_state.Device

Raises:

yandex_music.exceptions.YnisonError – Если начальный фрейм не пришёл за timeout секунд.

yandex_music.ynison.simple.get_active_device(token, device_id=None, timeout=10.0)

Возвращает активное (играющее) устройство.

Parameters:
  • token – OAuth-токен Yandex Music.

  • device_id – Идентификатор этого клиента в Ynison-сессии. По умолчанию — случайный.

  • timeout – Максимальное время ожидания начального фрейма, в секундах.

Returns:

Активное устройство или None, если ни одно устройство не играет прямо сейчас.

Return type:

yandex_music.ynison.models.ynison_state.Device | None

Raises:

yandex_music.exceptions.YnisonError – Если начальный фрейм не пришёл за timeout секунд.

yandex_music.ynison.simple.pause(token, device_id=None, timeout=10.0)

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

Parameters:
  • token – OAuth-токен Yandex Music.

  • device_id – Идентификатор этого клиента в Ynison-сессии. По умолчанию — случайный.

  • timeout – Максимальное время ожидания начального фрейма, в секундах.

Raises:

yandex_music.exceptions.YnisonError – Если начальный фрейм не пришёл за timeout секунд.

yandex_music.ynison.simple.resume(token, device_id=None, timeout=10.0)

Снимает паузу на активном устройстве.

Parameters:
  • token – OAuth-токен Yandex Music.

  • device_id – Идентификатор этого клиента в Ynison-сессии. По умолчанию — случайный.

  • timeout – Максимальное время ожидания начального фрейма, в секундах.

Raises:

yandex_music.exceptions.YnisonError – Если начальный фрейм не пришёл за timeout секунд.

yandex_music.ynison.simple.next_track(token, device_id=None, timeout=10.0)

Переключает на следующий трек в очереди.

Parameters:
  • token – OAuth-токен Yandex Music.

  • device_id – Идентификатор этого клиента в Ynison-сессии. По умолчанию — случайный.

  • timeout – Максимальное время ожидания начального фрейма, в секундах.

Raises:

yandex_music.exceptions.YnisonError – Если начальный фрейм не пришёл за timeout секунд.

yandex_music.ynison.simple.previous_track(token, device_id=None, timeout=10.0)

Переключает на предыдущий трек в очереди.

Parameters:
  • token – OAuth-токен Yandex Music.

  • device_id – Идентификатор этого клиента в Ynison-сессии. По умолчанию — случайный.

  • timeout – Максимальное время ожидания начального фрейма, в секундах.

Raises:

yandex_music.exceptions.YnisonError – Если начальный фрейм не пришёл за timeout секунд.

yandex_music.ynison.simple.set_volume(token, volume, target_device_id=None, device_id=None, timeout=10.0)

Устанавливает громкость на указанном или активном устройстве.

Parameters:
  • token – OAuth-токен Yandex Music.

  • volume – Громкость в диапазоне [0.0; 1.0]; вне диапазона — клампится билдером.

  • target_device_id – Идентификатор устройства, на котором меняется громкость. Если None — берётся активное устройство из текущего состояния.

  • device_id – Идентификатор этого клиента в Ynison-сессии. По умолчанию — случайный.

  • timeout – Максимальное время ожидания начального фрейма, в секундах.

Raises:

yandex_music.exceptions.YnisonError – Если не удалось определить целевое устройство (нет активного и не передан target_device_id) или начальный фрейм не пришёл за timeout секунд.