Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

В данной статье мы разберем, как получить ссылку на фотографию или любой другой отправленный пользователем файл.
Далее полученную ссылку можно будет использовать как и любую другую переменную - внести ее в отчет, отправить во внешнюю систему, вывести в чат и т.д.
Обработать файл можно несколькими способами:

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

    В данной статье мы разберем первые два способа, так как третий заметно сложнее.

...

Фрагмент сценария

Порядок действий

1) После       1. После блока вопроса необходимо установить блок информации, и соединить их стрелкой с типом Файл.

      2). С помощью пустого блока нужно протянуть стрелку обратно в блок вопроса.

Таким образом, если боту будет отправлена фотография или любой другой файл, бот ответит что не умеет работать с файлами.

Пример работы фрагмента

Получить ссылку на отправленный пользователем файл

Примечание

Если пользователь отправит боту несколько файлов в одном сообщении, при использовании данного метода будет обработан только один файл.

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

Фрагмент сценария

Порядок действий

1) После       1. После блока вопроса необходимо установить блок информации с текстом по типу "Обрабатываю файл", и соединить их стрелкой с типом Файл. В самой стрелке необходимо поставить галочку Сохранить ответ, и ввести название переменной, куда будет сохранена информация о файле, в данном случае назовем ее file.

2) Далее       2. Далее необходимо установить блок арифметики с типом Произвольный тип, и ввести в поле BPL-выражение следующее выражение:

Блок кода
languagephp
themeDJango
$file = str.split($file, "\"").get(30)

После чего нажать на кнопку Преобразовать BPL в AST.
Данная операция нужна чтобы получить идентификатор файла из строки информации о файле.
Image RemovedImage Added
      3). Затем необходимо установить еще один блок информации с текстом по типу "Файл обработан".

Примечание

В данном блоке нужно выставить задержку перед отправкой 5 секунд, так как для получения информации о файле может потребоваться некоторое время.


4) Далее       4. Далее нужно установить блок запроса к серверу со следующими параметрами:

...

Этот блок нужен для получения токена авторизации, который необходим для следующего блока.

5) Далее       5. Далее необходимо установить еще один блок запроса к серверу, и в стрелке, идущей во второй блок запроса, необходимо указать следующие параметры:

...

Название поляЗначение поля
tokenresult.token

 
6) Во       6. Во втором блоке запроса необходимо установить следующие параметры:

Поле

Значение

Тип авторизацииЗаголовок
Тип авторизацииBearer
Значение ключа{token}
Тип запросаGET
URLhttps://bot.twin24.ai/api/v1/files/{file}/data


      7). Далее может идти любой блок, в данном примере это блок информации.
В стрелке, выходящей из блока вопросазапроса, нужно указать следующие параметры:

...

Название поляЗначение поля
fileNameresult.name
fileLinkresult.downloadLink

 В переменную В переменную {fileName} будет сохранено имя файла, а в переменную {fileLink} будет сохранена ссылка на скачивание этого файла. Далее вы можете сохранить эти переменные в отчет, вывести их в чат с пользователем, или отправить во внешнюю систему, как и любые другие переменные.

...