Приемка файлов

Как принять файлы от пользователя для дальнейшего использования

Тип ответа "Ждать произвольного ответа пользователя" позволяет вам принять файлы от пользователя и записать их в переменную с целью дальнейшего использования в сценариях чат-бота.
Для того, чтобы принять файлы необходимо в поле "Ждать ответ в формате" поставить значение "Файлы". Сразу после этого вам станут доступны дополнительные настройки по количеству принимаемых файлов и некоторые другие.


Назначение параметров

  • Количество файлов. Позволяет указать, какое количество файлов вы ожидаете от пользователя.
    • Любое количество. При данном значении параметра чат-бот будет ждать произвольное количество файлов до тех пор, пока пользователь на нажмёт кнопку завершения.
    • Точное количество файлов. При данном значении параметра чат-бот будет ждать ровно столько файлов, сколько вы укажете. При этом бот сообщит ожидаемое количество файлов пользователю и будет информировать о том, сколько файлов он принял до тех пор, пока пользователь на нажмёт кнопку завершения или пока не будет достигнуто необходимое количество.
    • Не менее. При этом чат-бот будет ожидать столько файлов, сколько вы укажете или более. Для завершения отправки файлов пользователю необходимо будет нажать соответствующую кнопку.
    • От и до. Чат-бот будет ждать количество файлов в установленном диапазоне. Ожидание файлов автоматически завершится сразу при достижении значения верхнего количества файлов.
  • Текст кнопки завершения. Текст, который будет отображаться в кнопке завершения отправки файлов пользователем.
  • Записать файлы в переменную. Переменная типа "Файлы" в которую будут записаны отправленные пользователем файлы.
  • Действия при завершении отправки, если файлов меньше необходимого. Данный параметр определяет поведение бота, если пользователь пытается завершить отправку файлов при недостаточном количестве файлов.
    • Отправить сообщение и дождаться файлов
    • Продолжить отработку без ожидания файлов
    • Игнорировать и дождаться файлов
    • Запустить отработку неизвестных команд
    • Запустить другой сценарий/узел

Как это работает

При достижении узла с включенным ожиданием файлов чат-бот будет ждать от пользователя столько файлов, сколько вы зададите в соответствующем параметре "Количество файлов". Если вы зададите границы ожидаемого количества файлов (Не менее, точное число или "От и до"), то чат-бот проинформирует пользователя о том, сколько файлов он от него ждет, а при каждом отправляемом файле обновит сообщение с информацией о том, сколько файлов он ждет и сколько уже принял. 
Если в процессе получения файлов ботом будет получено необходимое количество файлов, бот автоматически завершит ожидание и пойдет дальше по сценарию.
Если необходимое количество файлов заранее неизвестно (например, ожидаем сколько угодно файлов), бот будет ожидать нажатия кнопки завершения и будет ее показывать все время, пока ожидает файлы и спрячет, как только ожидание файлов завершится.
Если пользователь попытается завершить отправку нажатием кнопки до того, как отправит необходимое количетсво файлов, то бот будет себя вести так, как вы укажете в соответствующем параметре. Доступны разные варианты и в зависимости от конкретного указанного вами значения бот может дождаться всех файлов или же пойти дальше.

Приемка любого количества файлов

При варианте "Любое количество" чат-бот выводит кнопку с текстом из параметра "Текст кнопки завершения" и начинает ожидать файлы от пользователя. При этом чат-бот не пишет, что именно он ждёт от пользователя. Чтобы дать понять понять пользователю, что от него ждут вам следует предварительно отправить сообщение пользователю о том, что от него ожидаются файлы.



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

Чат-бот не пишет никакого текста в ответ пользователю на его файлы и для завершения отправки пользователю необходимо нажать кнопку завершения.



С того момента, как чат-бот начал ожидание файлов от пользователя, он будет игнорировать все сообщения, которые не содержат файлы.
Например, если пользователь просто напишет что-то, чат-бот промолчит. Но в отладке он напишет, что текст увидел и проигнорировал его, и что он продолжает ждать файлы.


Приемка заданного количества файлов

При варианте "Точное количество файлов", "Не менее", "От и до" чат-бот вместе с кнопкой завершения будет отправлять пользователю текст с информацией о том, сколько он получил файлов и сколько он ожидает всего файлов от пользователя.
Также в отладочной информации чат-бот напишет, сколько всего ожидается файлов и сколько осталось получить.

Данное сообщение будет удаляться при каждом новом присланном файле от клиента (в некоторых мессенджерах удаление сообщений не доступно, поэтому они будут сохраняться. Например, в Viber).

При этом чат-бот будет присылать новое сообщение с обновлённой информацией в чат. Также c кнопкой завершения.



Если установлен минимум файлов и клиент попытается завершить отправку раньше положенного минимума, то вы можете указать чат-боту, как ему вести себя в таких случаях. Чат-бот в зависимости от настроек может либо завершить ожидание, либо продолжить, при этом отправив клиенту установленный вами текст. К данному тексту чат-бот добавит также информацию, сколько ему нужно файлов, и кнопку завершения.



Если установлен максимум файлов, либо точное количество, то чат-бот автоматически завершит ожидание файлов, сообщив клиенту, что необходимое количество файлов получено.






Обратите внимание, что если чат-бот получил файл - он сразу записывает его в переменную и продолжает ждать остальные файлы.
Если не выбрано ожидание файлов при неправильном вводе, то чат-бот продолжит выполнять узел.
Если перед этим чат-бот уже записал принятые файлы в переменную, то они так в переменной и останутся, он её не обнуляет, даже если там не достаёт нужного количества.