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

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: Извините, у меня не получилось обработать файл.