Ссылка на файл отправленный пользователем

Последние изменения: 25.10.2021

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

Сама ссылка формируется по следующим правилам:

https://<sherlock_url>/api/files/attachment/<Имя_файла>

Имя файла при получении от пользователя платформа размещает в переменной #System.Text#. Также имя файла будет в конкретной переменной контекста бота, если использовалась команда ожидания данных.

Обратим внимание, что в случае если пользователь пришлет текст с приложенными файлами, то в #System.Text# или переменной контекста бота будет помещено текст, присланный клиентом. Для получения имени файла надо использовать переменную #System.Text# в событии [Получен файл от клиента]

Полную информацию о файлах текущего сообщения можно получить запросом к базе:

SELECT f.* FROM tbl_File f INNER JOIN tbl_FileLink fl ON fl.FileId=f.ID
WHERE ObjectID IN (SELECT TOP 1 ID FROM tbl_Message
WHERE RequestID='#Request.ID#' AND MessageDirectionID=1 ORDER BY CreatedAt DESC)

При обработке результатов данного запроса количество файлов можно узнать в переменной контекста бота #SQL_RecordCount#. Если нужен только один файл, то его идентификатор по умолчанию будет в переменной контекста бота #Id#. Если файлов несколько, то список будет сохранен в переменную контекста бота #SQL_Result#. 

 

Помогла ли вам статья?