С недавнего времени в системе появилась возможность добавлять изображение вместе с текстом при использовании функции say для уведомления о различных событиях. Использовать эту функцию достаточно просто -- нужно только добавить к тексту сообщения конструкцию image:путь-к-картинке -- если такое сочетание будет найдено, то изображение будет отделено от текста и показано в виде картинки.
Например, у нас есть ПУ типа IP-камера и мы хотим выполнить код, который выведет сообщение вместе с изображением:
$message = 'Снимок'; // текстовая часть
callMethod('Camera1.takeSnapshot'); // делаем снимок с камеры (встроенный метод для ПУ типа IP-камера)
$image=getGlobal('Camera1.snapshot'); // получаем путь к изображению
if ($image!='') {
$full_path = ROOT.'cms/images/'.$image; // формируем полный путь к файлу
$message .= "\n"."image:".$full_path; // добавляем картинку к сообщению
}
say($message); // делаем уведомление
При этом в истории сообщений мы увидим следующее:
Если подключен сервис CONNECT и установлено приложение MajorDroid, то push-уведомление также будет содержать отправленное изображение.
Помимо этого, модули, которые подписаны на событие SAY, получают уведомление о событии, которое помимо текста в параметре message теперь ещё может содержать параметр image, внутри которого будет путь к изображению и, если модуль умеет, то изображение может быть также использовано. На данный момент такая возможность уже реализована в модуле Telegram, так что изображение появится в чате вместе с текстовым сообщением без необходимости использовать отдельную функцию данного модуля по отправке картинки:
Надеюсь, данный функционал может быть полезен для реализации различных уведомлений в сценариях автоматизации :)