В данной статье мы разберем, как получить ссылку на фотографию или любой другой отправленный пользователем файл.
Далее полученную ссылку можно будет использовать как и любую другую переменную - – внести ее в отчет, отправить во внешнюю систему, вывести в чат и т.д.
Обработать файл можно несколькими способами:
- Вывести пользователю сообщение о том, что бот не умеет работать с файлами или картинками;.
- Обработать полученный файл;.
- Обработать все полученные файлы (например, несколько фотографий, прикрепленных к одному или нескольким сообщениям).
В данной статье мы разберем первые два способа, так как третий заметно сложнее.
...
Фрагмент сценария
Порядок действий
1) После 1. После блока вопроса необходимо установить блок информации, и соединить их стрелкой с типом Файл.
2). С помощью пустого блока нужно протянуть стрелку обратно в блок вопроса.
Таким образом, если боту будет отправлена фотография или любой другой файл, бот ответит что не умеет работать с файлами.
Пример работы фрагмента
Получить ссылку на отправленный пользователем файл
Примечание |
---|
Если пользователь отправит боту несколько файлов в одном сообщении, при использовании данного метода будет обработан только один файл. Ссылка, полученная таким образом, будет действительна в течении одного часа – файл нужно будет скачать до истечения срока действия ссылки. |
Фрагмент сценария
Порядок действий
1) После 1. После блока вопроса необходимо установить блок информации с текстом по типу "Обрабатываю файл", и соединить их стрелкой с типом Файл. В самой стрелке необходимо поставить галочку Сохранить ответ, и ввести название переменной, куда будет сохранена информация о файле, в данном случае назовем ее file.
2) Далее 2. Далее необходимо установить блок арифметики с типом Произвольный тип, и ввести в поле BPL-выражение следующее выражение:
Блок кода | ||||
---|---|---|---|---|
| ||||
$file = str.split($file, "\"").get(30) |
После чего нажать на кнопку Преобразовать BPL в AST.
Данная операция нужна чтобы получить идентификатор файла из строки информации о файле.
3). Затем необходимо установить еще один блок информации с текстом по типу "Файл обработан".
Примечание |
---|
В данном блоке нужно выставить задержку перед отправкой 5 секунд, так как для получения информации о файле может потребоваться некоторое время. |
4) Далее 4. Далее нужно установить блок запроса к серверу со следующими параметрами:
...
Этот блок нужен для получения токена авторизации, который необходим для следующего блока.
5) Далее 5. Далее необходимо установить еще один блок запроса к серверу, и в стрелке, идущей во второй блок запроса, необходимо указать следующие параметры:
...
Название поля | Значение поля |
---|---|
token | result.token |
6) Во 6. Во втором блоке запроса необходимо установить следующие параметры:
Поле | Значение |
---|---|
Тип авторизации | Заголовок |
Тип авторизации | Bearer |
Значение ключа | {token} |
Тип запроса | GET |
URL | https://bot.twin24.ai/api/v1/files/{file}/data |
7). Далее может идти любой блок, в данном примере это блок информации.
В стрелке, выходящей из блока вопросазапроса, нужно указать следующие параметры:
...
Название поля | Значение поля |
---|---|
fileName | result.name |
fileLink | result.downloadLink |
В переменную В переменную {fileName} будет сохранено имя файла, а в переменную {fileLink} будет сохранена ссылка на скачивание этого файла. Далее вы можете сохранить эти переменные в отчет, вывести их в чат с пользователем, или отправить во внешнюю систему, как и любые другие переменные.
...