This site is no longer updated.Go to new Conversational Cloud docs

fileEvent


Событие fileEvent происходит при отправке клиентом сообщения с вложенными данными. При этом в eventData передается объект в формате JSON, содержащий тип контента, ссылку на отправляемый файл и другую метаинформацию.


eventData

Формат eventData:

[
    {
    "url": "https://fileUrl_example_path/",
    "type": "file",
    "mimeType": "text/x-log",
    "name": "jmeter.log",
    "size": 78352,
    "message": "message",
    "data": "data object"
      }
    ]
  • url — ссылка на файл.
  • type — тип вложенного файла. Может принимать значения: file, image, audio, video.
  • mimeType — медиа тип переданного файла согласно стандарту MIME.
  • name — имя файла.
  • size — размер файла в байтах.
  • message — текст сообщения.
  • data — дополнительные данные канала.

Пример eventData:

[
      {
        "url": "https://store/public_test/telegram/file.log", // ссылка на файл
        "type": "file",                                       // тип файла
        "mimeType": "text/x-log",                             // медиа тип файла
        "name": "file.log",                                   // имя файла
        "size": 78352,                                        // размер файла
        "message": "сообщение"                                // сообщение
      }
    ]

Обработка события

Для того, чтобы получить данные о полученном файле из eventData используйте объект $request в формате:

$request.data.eventData

Например, вывод ссылки для скачивания присланного клиентом файла:

    state: fileEvent
        event!: fileEvent
        script:
            for (var i = 0; i < $request.data.eventData.length; i++) {
                $reactions.answer($request.data.eventData[i].url);
            }