Перейти к основному содержимому

audio

Чтобы вывести аудиофайл в ответе бота, используйте тип ответа audio.

подсказка
Вы также можете использовать эквивалентный DSL-тег audio или метод $reactions.audio.

Свойства

СвойствоТипОбязательныйОписание
audioUrlСтрокаДаСсылка на аудиофайл.
audioNameСтрокаНетНазвание аудиофайла.
httpHeadersСтрокаНетHTTP-заголовки, которые вы хотите передать.
Поддерживаемые HTTP-заголовки
Универсальные заголовки:
Authorization,
Content-Type,
Content-Encoding,
Content-Disposition.
Для хранилищ S3 от AWS и MinIO:
x-amz-date,
x-amz-content-sha256,
x-amz-acl,
x-amz-server-side-encryption,
x-amz-storage-class,
x-amz-meta-.
Для хранилищ S3 от Selectel:
X-Auth-Token,
X-Delete-After,
X-Delete-At,
X-Object-Manifest,
X-Container-Meta-,
X-Object-Meta-.
authСтрокаНетТип и ключ авторизации. Введите его, если аудиофайл находится в приватном хранилище.

Синтаксис

  • Если файл хранится в публичном хранилище:
{
"type": "audio",
"audioUrl": "https://example.com/example.mp3",
"audioName": "Example"
}
  • Если файл хранится в приватном хранилище, вы можете указать ключ авторизации несколькими способами:

    подсказка
    Используйте токены, чтобы хранить ключи и другие чувствительные данные отдельно от исходного кода проекта.
{
"type": "audio",
"audioUrl": "https://example.com/example.mp3",
"audioName": "Example",
"httpHeaders": {
"Authorization": "<Тип авторизации> <Ключ авторизации>",
"<HTTP-заголовок>": "<Значение>"
}
}
{
"type": "audio",
"audioUrl": "https://example.com/example.mp3",
"audioName": "Example",
"httpHeaders": {
"<HTTP-заголовок>": "<Значение>"
},
"auth": "<Тип авторизации> <Ключ авторизации>"
}

Ограничения на каналы

Не поддерживается в следующих каналах:

  • Битрикс24
  • Маруся
  • Салют
  • Chat2Desk
  • Jivo
  • Slack
  • Viber
  • Webim (Custom Channel API)
  • WeChat
  • Zendesk
  • Zendesk Chat

Использование в сценарии

state: Welcome
q!: $regex</start>
a: Привет! Я бот Aimyvoice и могу озвучивать тексты разными голосами.
a: Ниже приведен пример текста, озвученный голосом Таня.
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "audio",
"audioUrl": "http://bucket-name.storage.yandexcloud.net/voiceTanya.mp3",
"httpHeaders": {
"Authorization": "Basic 12345",
"X-Amz-Date": "20120325T120000Z"
}
});