Радио

class yandex_music._client_async.radio.RadioMixin

Радио.

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

async rotor_account_status(*args, **kwargs)

Получение статуса пользователя с дополнительными полями.

Note

Данный статус отличается от обычного наличием дополнительных полей, например, skips_per_hour.

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

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

Returns:

Статус пользователя с дополнительными полями от радио или

None.

Return type:

yandex_music.Status | None

Raises:

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

async rotor_stations_dashboard(*args, **kwargs)

Получение рекомендованных станций текущего пользователя.

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

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

Returns:

Рекомендованные станции или None.

Return type:

yandex_music.Dashboard | None

Raises:

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

async rotor_stations_list(language=None, *args, **kwargs)

Получение всех радиостанций с настройками пользователя.

Note

Доступные языки: en, uz, uk, us, ru, kk, hy.

Чтобы определить что за тип станции (жанры, настроения, занятие и т.д.) необходимо смотреть в поле id_for_from.

Parameters:
  • language (str, optional) – Язык, на котором будет информация о станциях. По умолчанию язык клиента.

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

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

Returns:

Список станций.

Return type:

list из yandex_music.StationResult

Raises:

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

async rotor_station_feedback(station, type_, timestamp=None, from_=None, batch_id=None, total_played_seconds=None, track_id=None, **kwargs)

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

Note

Сообщения о начале прослушивания радио, начале и конце трека, его пропуска.

Известные типы обратной связи: radioStarted, trackStarted, trackFinished, skip.

Пример station: user:onyourwave, genre:allrock.

Пример from_: mobile-radio-user-123456789.

Parameters:
  • station (str) – Станция.

  • type (str) – Тип отправляемого отзыва.

  • timestamp (str | float | int, optional) – Текущее время и дата.

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

  • batch_id (str, optional) – Уникальный идентификатор партии треков. Возвращается при получении треков.

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

  • track_id (int | str, optional) – Уникальной идентификатор трека.

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

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

Returns:

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

Return type:

bool

Raises:

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

async rotor_station_feedback_radio_started(station, from_, batch_id=None, timestamp=None, **kwargs)

Отправить обратную связь: радио запущено.

Сокращение для:

client.rotor_station_feedback(station, 'radioStarted', timestamp, from, batch_id, **kwargs)
Returns:

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

Return type:

bool

Raises:

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

async rotor_station_feedback_track_started(station, track_id, batch_id=None, timestamp=None, **kwargs)

Отправить обратную связь: трек запущен.

Сокращение для:

client.rotor_station_feedback(
    station, 'trackStarted', timestamp, track_id=track_id, batch_id=batch_id, **kwargs,
)
Returns:

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

Return type:

bool

Raises:

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

async rotor_station_feedback_track_finished(station, track_id, total_played_seconds, batch_id=None, timestamp=None, **kwargs)

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

Сокращение для:

client.rotor_station_feedback(
    station, 'trackFinished', timestamp,
    track_id=track_id, total_played_seconds=total_played_seconds,
    batch_id=batch_id, **kwargs,
)
Returns:

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

Return type:

bool

Raises:

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

async rotor_station_feedback_skip(station, track_id, total_played_seconds, batch_id=None, timestamp=None, **kwargs)

Отправить обратную связь: трек пропущен.

Сокращение для:

client.rotor_station_feedback(
    station, 'skip', timestamp,
    track_id=track_id, total_played_seconds=total_played_seconds,
    batch_id=batch_id, **kwargs,
)
Returns:

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

Return type:

bool

Raises:

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

async rotor_station_info(station, *args, **kwargs)

Получение информации о станции и пользовательских настроек на неё.

Parameters:
  • station (str) – Станция.

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

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

Returns:

Информация о станции или None.

Return type:

list из yandex_music.StationResult | None

Raises:

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

async rotor_station_settings2(station, mood_energy, diversity, language='not-russian', type_='rotor', **kwargs)

Изменение настроек определённой станции.

Note

Доступные значения для mood_energy: fun, active, calm, sad, all.

Доступные значения для diversity: favorite, popular, discover, default.

Доступные значения для language: not-russian, russian, any.

Доступные значения для type_: rotor, generative.

У станций в restrictions есть Enum’ы, а в них possible_values - доступные значения для поля.

Parameters:
  • station (str) – Станция.

  • mood_energy (str) – Настроение.

  • diversity (str) – Треки.

  • language (str) – Язык.

  • type (str) – Тип.

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

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

Returns:

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

Return type:

bool

Raises:

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

async rotor_station_tracks(station, settings2=True, queue=None, *args, **kwargs)

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

Note

Запуск потока по сущности сервиса осуществляется через станцию <type>:<id>. Например, станцией для запуска потока по треку будет track:1234.

Для продолжения цепочки треков необходимо:

  1. Передавать ID трека, что был до этого (первый в цепочки).

  2. Отправить фидбек о конце или скипе трека, что был передан в queue.

  3. Отправить фидбек о начале следующего трека (второй в цепочки).

  4. Выполнить запрос получения треков. В ответе придёт новые треки или произойдёт сдвиг цепочки на 1 элемент.

Проход по цепочке до конца не изучен. Часто встречаются дубликаты.

Все официальные клиенты выполняют запросы с settings2 = True.

Parameters:
  • station (str) – Станция.

  • settings2 (bool, optional) – Использовать ли второй набор настроек.

  • queue (str | int, optional) – Уникальной идентификатор трека, который только что был.

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

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

Returns:

Последовательность треков станции или None.

Return type:

yandex_music.StationTracksResult | None

Raises:

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