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

InputFile

Действие InputFile позволяет боту запросить у пользователя файл (например, фотографию товара или документ с данными юридического лица) и сохранить ссылку на него в переменную.

Параметры

ПараметрТипОписаниеОбязательный
promptСтрокаСообщение, которым бот должен запросить файл.
Если вы хотите использовать в сообщении HTML-разметку, оставьте этот параметр пустым (prompt =) и заполните параметр html.
Да
varNameСтрокаИмя переменной. Ссылка на отправленный пользователем файл будет сохранена в $session.<varName>.
Используйте символы Aa–Zz, _, 0–9. Первым символом в имени должна быть буква. Нельзя использовать зарезервированные слова JavaScript.
Да
htmlСтрокаСообщение, которым бот должен запросить файл, с использованием HTML-разметки.
Если вы не хотите использовать HTML-разметку, вы можете не указывать этот параметр и использовать только prompt.
Нет
htmlEnabledЛогическийЕсли значение параметра true, в сообщении бота будет отправлено значение параметра html, а в сообщении об ошибке — failureMessageHtml.
Если параметр не указан или установлен в false, будет использовано значение prompt и failureMessage соответственно.
Нет
thenСтрокаСтейт, в который перейдет диалог, если сценарий тега будет выполнен без ошибок.Нет
errorStateСтрокаСтейт, в который перейдет диалог, если сценарий тега будет выполнен с ошибкой: например, если пользователь отправит вместо файла обычный запрос.Нет
actionsМассив объектовКнопки, которые будут отправлены вместе с запросом. Укажите значение в формате:
actions =
[{
"buttons": [{
"name": "Текст кнопки",
"transition": "/Путь до стейта"
}],
"type": "buttons"
}]
Нет

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

state: AttachFile
InputFile:
prompt = Загрузите в чат файл, и я загружу его в хранилище и отправлю вам ссылку.
varName = fileUrl
then = /AttachFile/Save
errorState = /AttachFile/Error

state: Save
a: Успех! Файл доступен по ссылке: {{$session.fileUrl}}

state: Error
a: Извините, у меня не получилось обработать файл.