Билдеры запросов Ynison

Билдеры запросов Ynison.

Набор функций для конструирования PutYnisonStateRequest под типичные действия: инициализация подключения, пауза/возобновление, переключение трека, изменение громкости. Используется как долгоживущими клиентами (yandex_music.ynison.YnisonClient, yandex_music.ynison.YnisonClientAsync), так и простыми интерфейсами из yandex_music.ynison.simple / yandex_music.ynison.simple_async.

yandex_music.ynison.messages.random() x in the interval [0, 1).
yandex_music.ynison.messages.generate_device_id()

Генерирует случайный идентификатор устройства.

Returns:

Идентификатор в hex-представлении (без префикса 0x).

Return type:

str

yandex_music.ynison.messages.get_timestamp()

Возвращает текущее unix-время в миллисекундах.

Returns:

Время в миллисекундах от эпохи Unix.

Return type:

int

yandex_music.ynison.messages.generate_request_id()

Генерирует уникальный идентификатор запроса.

Returns:

UUID4 в строковом представлении.

Return type:

str

yandex_music.ynison.messages.get_update_full_state_request(device_id)

Собирает начальный запрос регистрации устройства как remote control.

Отправляется сразу после подключения state websocket’а. Регистрирует устройство с возможностями дистанционного пульта (не плеер) и пустой очередью воспроизведения.

Parameters:

device_id – Идентификатор этого устройства.

Returns:

Запрос UpdateFullState с device capabilities remote control.

Return type:

yandex_music.ynison.models.ynison_state.PutYnisonStateRequest

yandex_music.ynison.messages.get_update_player_state_request(device_id)

Собирает запрос с пустым состоянием плеера.

Parameters:

device_id – Идентификатор устройства, инициировавшего изменение.

Returns:

Запрос UpdatePlayerState с пустой очередью.

Return type:

yandex_music.ynison.models.ynison_state.PutYnisonStateRequest

yandex_music.ynison.messages.get_set_paused_request(device_id, current_status, paused)

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

Клонирует текущий PlayingStatus, меняя только флаг paused и обновляя версию. Прочие поля (progress_ms, duration_ms, playback_speed) сохраняются.

Parameters:
  • device_id – Идентификатор устройства, инициировавшего изменение.

  • current_status – Текущий статус воспроизведения с сервера.

  • pausedTrue — поставить на паузу, False — продолжить.

Returns:

Запрос UpdatePlayingStatus с подменённым флагом paused.

Return type:

yandex_music.ynison.models.ynison_state.PutYnisonStateRequest

yandex_music.ynison.messages.get_change_track_request(device_id, current_state, delta)

Собирает запрос перехода на соседний трек в очереди.

Клонирует текущий PlayerQueue, меняя только current_playable_index и версию. Статус воспроизведения сбрасывается на нулевой прогресс с сохранением флага паузы.

Parameters:
  • device_id – Идентификатор устройства, инициировавшего изменение.

  • current_state – Текущее состояние плеера с сервера.

  • delta – Сдвиг индекса; 1 — следующий трек, -1 — предыдущий.

Returns:

Запрос UpdatePlayerState с обновлённым индексом и версией.

Return type:

yandex_music.ynison.models.ynison_state.PutYnisonStateRequest

yandex_music.ynison.messages.get_next_track_request(device_id, current_state)

Собирает запрос перехода на следующий трек.

Parameters:
  • device_id – Идентификатор устройства, инициировавшего изменение.

  • current_state – Текущее состояние плеера с сервера.

Returns:

Запрос UpdatePlayerState с индексом, увеличенным на 1.

Return type:

yandex_music.ynison.models.ynison_state.PutYnisonStateRequest

yandex_music.ynison.messages.get_prev_track_request(device_id, current_state)

Собирает запрос перехода на предыдущий трек.

Parameters:
  • device_id – Идентификатор устройства, инициировавшего изменение.

  • current_state – Текущее состояние плеера с сервера.

Returns:

Запрос UpdatePlayerState с индексом, уменьшенным на 1.

Return type:

yandex_music.ynison.models.ynison_state.PutYnisonStateRequest

yandex_music.ynison.messages.get_set_volume_request(device_id, target_device_id, volume)

Собирает запрос изменения громкости на целевом устройстве.

Parameters:
  • device_id – Идентификатор устройства, инициировавшего изменение.

  • target_device_id – Идентификатор устройства, на котором меняется громкость.

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

Returns:

Запрос UpdateVolumeInfo с новым значением громкости и версией.

Return type:

yandex_music.ynison.models.ynison_state.PutYnisonStateRequest