Сессии радио

class yandex_music._client.rotor_sessions.RotorSessionsMixin

Сессии радио.

Миксин для методов, связанных с сессиями радио (rotor session) и комбинированными сессиями (треки и клипы).

Note

Сессия является актуальным способом слушать радио: она создаётся по сидам, выдаёт партии треков и принимает обратную связь о прослушивании.

rotor_session_new(seeds, queue=None, track_to_start_from=None, include_tracks_in_response=None, include_wave_model=None, interactive=None, incognito=None, child=None, allow_explicit=None, **kwargs)

Создание новой сессии радио.

Note

Пример seeds: user:onyourwave, genre:rock, track:12345, artist:12345. В качестве сидов можно передавать и настройки волны, например, settingDiversity:discover (см. yandex_music.Value.serialized_seed).

Треки (track_to_start_from, queue) передаются как id или id:album_id.

Parameters:
  • seeds (str | list из str) – Сиды сессии.

  • queue (list из str, optional) – Уже проигранные треки, чтобы не получить их повторно.

  • track_to_start_from (str, optional) – Трек, с которого начать сессию.

  • include_tracks_in_response (bool, optional) – Возвращать ли треки в ответе. По умолчанию на стороне API да.

  • include_wave_model (bool, optional) – Возвращать ли модель волны (RotorSession.wave).

  • interactive (bool, optional) – Интерактивная ли сессия.

  • incognito (bool, optional) – Не учитывать прослушивания в рекомендациях.

  • child (bool, optional) – Детский режим.

  • allow_explicit (bool, optional) – Разрешить ли контент с ненормативной лексикой.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

Сессия радио или None.

Return type:

yandex_music.RotorSession | None

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_session_clone(radio_session_id, queue=None, track_to_start_from=None, include_tracks_in_response=None, include_wave_model=None, interactive=None, incognito=None, child=None, allow_explicit=None, **kwargs)

Создание новой сессии радио на основе существующей (с теми же сидами).

Parameters:
  • radio_session_id (str) – Уникальный идентификатор исходной сессии.

  • queue (list из str, optional) – Уже проигранные треки, чтобы не получить их повторно.

  • track_to_start_from (str, optional) – Трек, с которого начать сессию.

  • include_tracks_in_response (bool, optional) – Возвращать ли треки в ответе.

  • include_wave_model (bool, optional) – Возвращать ли модель волны.

  • interactive (bool, optional) – Интерактивная ли сессия.

  • incognito (bool, optional) – Не учитывать прослушивания в рекомендациях.

  • child (bool, optional) – Детский режим.

  • allow_explicit (bool, optional) – Разрешить ли контент с ненормативной лексикой.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

Новая сессия радио или None.

Return type:

yandex_music.RotorSession | None

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_session_tracks(radio_session_id, queue=None, feedbacks=None, **kwargs)

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

Note

Для несуществующей сессии API не возвращает ошибку, а выставляет yandex_music.RotorSessionTracks.unknown_session.

Parameters:
  • radio_session_id (str) – Уникальный идентификатор сессии.

  • queue (list из str, optional) – Уже полученные треки (id или id:album_id), чтобы не получить их повторно.

  • feedbacks (list из yandex_music.SessionFeedback, optional) – Обратная связь, отправляемая вместе с запросом.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

Партия треков или None.

Return type:

yandex_music.RotorSessionTracks | None

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_session_feedback(radio_session_id, event, batch_id=None, from_=None, **kwargs)

Отправка обратной связи сессии радио.

Note

Обязательные поля события зависят от его типа, см. yandex_music.SessionEvent.

Для частых событий есть отдельные методы: rotor_session_feedback_radio_started(), rotor_session_feedback_track_started(), rotor_session_feedback_track_finished(), rotor_session_feedback_skip().

Parameters:
  • radio_session_id (str) – Уникальный идентификатор сессии.

  • event (yandex_music.SessionEvent) – Событие.

  • batch_id (str, optional) – Уникальный идентификатор партии треков.

  • from (str, optional) – Откуда начато воспроизведение.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

True при успешном выполнении запроса, иначе False.

Return type:

bool

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_session_feedback_radio_started(radio_session_id, batch_id=None, from_=None, timestamp=None, **kwargs)

Отправка обратной связи сессии радио: начало прослушивания радио.

Parameters:
  • radio_session_id (str) – Уникальный идентификатор сессии.

  • batch_id (str, optional) – Уникальный идентификатор партии треков.

  • from (str, optional) – Откуда начато воспроизведение.

  • timestamp (str | float | int, optional) – Время события в формате ISO 8601. По умолчанию текущее.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

True при успешном выполнении запроса, иначе False.

Return type:

bool

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_session_feedback_track_started(radio_session_id, track_id, batch_id=None, timestamp=None, **kwargs)

Отправка обратной связи сессии радио: начало воспроизведения трека.

Parameters:
  • radio_session_id (str) – Уникальный идентификатор сессии.

  • track_id (str | int) – Уникальный идентификатор трека (id или id:album_id).

  • batch_id (str, optional) – Уникальный идентификатор партии треков.

  • timestamp (str | float | int, optional) – Время события в формате ISO 8601. По умолчанию текущее.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

True при успешном выполнении запроса, иначе False.

Return type:

bool

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_session_feedback_track_finished(radio_session_id, track_id, total_played_seconds, batch_id=None, timestamp=None, **kwargs)

Отправка обратной связи сессии радио: окончание воспроизведения трека.

Parameters:
  • radio_session_id (str) – Уникальный идентификатор сессии.

  • track_id (str | int) – Уникальный идентификатор трека (id или id:album_id).

  • total_played_seconds (int | float) – Сколько секунд трека было проиграно.

  • batch_id (str, optional) – Уникальный идентификатор партии треков.

  • timestamp (str | float | int, optional) – Время события в формате ISO 8601. По умолчанию текущее.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

True при успешном выполнении запроса, иначе False.

Return type:

bool

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_session_feedback_skip(radio_session_id, track_id, total_played_seconds, batch_id=None, timestamp=None, **kwargs)

Отправка обратной связи сессии радио: пропуск трека.

Parameters:
  • radio_session_id (str) – Уникальный идентификатор сессии.

  • track_id (str | int) – Уникальный идентификатор трека (id или id:album_id).

  • total_played_seconds (int | float) – Сколько секунд трека было проиграно до пропуска.

  • batch_id (str, optional) – Уникальный идентификатор партии треков.

  • timestamp (str | float | int, optional) – Время события в формате ISO 8601. По умолчанию текущее.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

True при успешном выполнении запроса, иначе False.

Return type:

bool

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_session_feedbacks(radio_session_id, feedbacks, **kwargs)

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

Parameters:
  • radio_session_id (str) – Уникальный идентификатор сессии.

  • feedbacks (list из yandex_music.SessionFeedback) – Обратная связь.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

True при успешном выполнении запроса, иначе False.

Return type:

bool

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_sessions_feedbacks(sessions, **kwargs)

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

Parameters:
  • sessions (list из yandex_music.SessionFeedbacks) – Обратная связь по сессиям.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

True при успешном выполнении запроса, иначе False.

Return type:

bool

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_combined_session_new(supported_types=None, queue=None, child=None, allow_explicit=None, **kwargs)

Создание комбинированной сессии радио (треки и клипы).

Note

Известные значения supported_types: CLIP, TRACK.

Parameters:
  • supported_types (list из str, optional) – Типы элементов, которые поддерживает клиент.

  • queue (list из yandex_music.CombinedSessionQueueItem, optional) – Уже полученные элементы.

  • child (bool, optional) – Детский режим.

  • allow_explicit (bool, optional) – Разрешить ли контент с ненормативной лексикой.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

Комбинированная сессия или None.

Return type:

yandex_music.CombinedSession | None

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_combined_session_next(session_id, queue=None, **kwargs)

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

Parameters:
  • session_id (str) – Уникальный идентификатор комбинированной сессии.

  • queue (list из yandex_music.CombinedSessionQueueItem, optional) – Уже полученные элементы.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

Следующие элементы сессии или None.

Return type:

yandex_music.CombinedSession | None

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

rotor_combined_session_landing(supported_types=None, child=None, allow_explicit=None, **kwargs)

Получение витрины комбинированной сессии радио (например, «Время клипов»).

Note

Известные значения supported_types: CLIP, TRACK.

Parameters:
  • supported_types (list из str, optional) – Типы элементов, которые поддерживает клиент.

  • child (bool, optional) – Детский режим.

  • allow_explicit (bool, optional) – Разрешить ли контент с ненормативной лексикой.

  • **kwargs – Произвольные именованные аргументы (будут переданы в запрос).

Returns:

Витрина или None.

Return type:

yandex_music.CombinedSessionLanding | None

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.