Перейти к содержанию

Классы ответа

Основной класс запроса - AliceResponse.

AliceResponse

  • response: Response - Обязательное свойство. Данные для ответа пользователю.
  • session_state: Dict - объект, содержащий состояние навыка для хранения в контексте сессии.
  • user_state_update: Dict - объект, содержащий состояние навыка для хранения в контексте авторизованного пользователя.
  • application_state: Dict - объект, содержащий состояние навыка для хранения в контексте экземпляра приложения пользователя.
  • analytics: Analytics - объект с данными для аналитики. Доступен навыкам с подключенным параметром Настройки AppMetrica.
  • version: str - обязательное свойство. Версия протокола. Текущая версия — 1.0. Значение по умолчанию - 1.0. Не изменять!

В AliceResponse встроено 3 метода для изменения tts.

add_custom_audio

Добавляет ваше аудио к существующему tts (не перезаписывает его).

  • skill_id: str - уникальный идентификатор навыка.
  • sound_id: str - уникальный идентификатор аудиофайла.

add_voice_effect

Добавляет произношение текста с определенным эффектом (не перезаписывает tts).

Подробнее: https://yandex.ru/dev/dialogs/alice/doc/speech-effects.html

  • effect: VoiceEffects - название эффекта. Значение из перечисления VoiceEffects, находящегося в enjalice.response.
  • text: str - текст, который надо произнести с заданным эффектом.

add_pause

Добавляет паузу в tts (не перезаписывает его).

  • ms: int - количество миллисекунд паузы.

Response

  • text: str - текст, который следует показать и сказать пользователю. Максимум 1024 символа. Не должен быть пустым. Текст также используется, если у Алисы не получилось отобразить включенную в ответ карточку (свойство response.card). На устройствах, которые поддерживают только голосовое общение с навыком, это будет происходить каждый раз, когда навык присылает карточку в ответе. В тексте ответа можно указать переводы строк последовательностью \n.
  • tts: Optional[str] - ответ в формате TTS (text-to-speech). максимум 1024 символа.
  • card: Optional[CT] - описание карточки — сообщения с поддержкой изображений. Если приложению удается отобразить карточку для пользователя, свойство response.text не используется.
  • buttons: List[ResponseButton] - кнопки, которые следует показать пользователю. Все указанные кнопки выводятся после основного ответа Алисы, описанного в свойствах response.text и response.card. Кнопки можно использовать как релевантные ответу ссылки или подсказки для продолжения разговора. По умолчанию - пустой список.
  • directives: Optional[Union[ DirectiveStartPurchase, DirectiveConfirmPurchase ]] Директива.
  • end_session: bool - признак конца разговора. Допустимые значения: False — сессию следует продолжить; True — сессию следует завершить.
  • show_item_meta: Optional[ShowItemMeta] - параметр историй утреннего шоу Алисы.

text

Функция, создающая из text, tts и end_session экземпляр AliceResponse.

  • msg: str - обязательное свойство. Текст, который следует показать и сказать пользователю. Максимум 1024 символа. Не должен быть пустым. Текст также используется, если у Алисы не получилось отобразить включенную в ответ карточку (свойство response.card). На устройствах, которые поддерживают только голосовое общение с навыком, это будет происходить каждый раз, когда навык присылает карточку в ответе. В тексте ответа можно указать переводы строк последовательностью \n.
  • tts: str - ответ в формате TTS (text-to-speech). Максимум 1024 символа. Будет произноситься навыком, если строка tts не пустой. По умолчанию пустая строка. Подробнее: https://yandex.ru/dev/dialogs/alice/doc/speech-tuning.html
  • end_session: bool - признак конца разговора. Допустимые значения: False — сессию следует продолжить; True — сессию следует завершить.

ShowItemMeta

  • content_id: str - обязательный параметр. Уникальный идентификатор истории. Формат UUID предпочтителен, но не является обязательным.
  • title: str - заголовок истории для экрана, необязательный параметр. Если заголовок указан, то на экране покажется: сам заголовок истории title с большой буквы; перенос строки; текст истории из параметра text.
  • title_tts: str - заголовок истории с голосовой разметкой (text-to-speech), необязательный параметр. Если заголовок указан, то история в шоу будет составлена из title_tts <пауза 200 мс> text_tts.
  • publication_date: str - обязательный параметр. Дата и время создания истории. Алиса игнорирует истории старше 7 дней. Строка приводится по UTC в формате ISO 8601: YYYY-MM-DDTHH:mm:ss.sssZ.
  • expiration_date: str - обязательный параметр. Дата и время, до которого история будет актуальна. Алиса не добавит в шоу историю, у которой expiration_date старше, чем время запуска шоу. Строка приводится по UTC в формате ISO 8601: YYYY-MM-DDTHH:mm:ss.sssZ.