Экспорт новостей в канал Телеграм

мне нужно сделать экспорт новостной ленты в Телеграм-канал. Решил сделать через событие OnAfterIBlockElementAdd - т.е. при создании нового элемента инфоблока (в моем случае новости) нужно, чтобы превью-текст, картинка и ссылка на новость сайта экспортировались.

<?

define('TELEGRAM_TOKEN', 'Тут мой токен');
define('TELEGRAM_CHATID', 'Тут id моего паблика');

AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("MyAddElement", "OnAfterIBlockElementAddHandler"));



class MyAddElement
{

    function OnAfterIBlockElementAddHandler(&$arFields)
    {
        if($arFields["ID"]>0 && $arFields["IBLOCK_ID"] == 1)
             
        {

        $ch = curl_init();
            curl_setopt_array(
                $ch,
                array(
                    CURLOPT_URL => 'https://api.telegram.org/bot' . TELEGRAM_TOKEN . '/sendMessage',
                    CURLOPT_POST => TRUE,
                    CURLOPT_RETURNTRANSFER => TRUE,
                    CURLOPT_TIMEOUT => 10,
                    CURLOPT_POSTFIELDS => array(
                        'chat_id' => TELEGRAM_CHATID,
                        'text' => $arFields['PREVIEW_TEXT'],
                    ),
                )
            );

        curl_exec($ch);
         
      }
    }
}

Данный пример, отлично отправляет превью-текст, но как подать ему картинку и url не пойму. Попробовал несколько вариантов из того, что попадалось в Гугле.

Отладочная команда показывает поле картинки,

<? echo "<pre>"; print_r($arFields); echo "</pre>";?>

но что ему подставить?

'text' => $arFields['PREVIEW_TEXT'],  
'picture' => $arFields['PREVIEW_PICTURE']['SRC'],

Пробовал с разными вариациями, просто не понимаю.


Ответы (1 шт):

Автор решения: megamosk

Для отправки фото нужно использовать метод sendPhoto

→ Ссылка