Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
MOAB.pro | Маркетинговое агентство
Mother Of All Businesses
+7 (499) 350 28 73
+7 (499) 350 28 73
8 (800) 350 06 70 Бесплатно по России
E-mail
we@moab.pro
Режим работы
Пн. – Пт.: с 10:00 - 18:00
Услуги
  • SEO-продвижение
  • Контент
  • AI-услуги
  • Маркетплейсы
  • Дизайн и разработка
  • Объявления
  • Контекстная реклама
  • Таргет
  • Реклама у блогеров
  • Яндекс.Кит
  • SERM
Отзывы
  • Отзывы клиентов MOAB
  • Отзывы участников курса
  • Биржа: отзывы партнеров
Проекты
  • Комплексные кейсы
  • SEO
    • Примеры SEO-аудитов
    • Примеры сбора СЯ
  • Контент
  • PPC
  • Таргет
  • Веб-разработка
    • Интернет-магазины
    • Лендинги
    • Многостраничники
Продукты
  • Семантика
  • CloudLemma
  • Обработка фраз
  • Dozor
  • Bridge
  • Cluster
  • Top
Агентство
  • Проекты
    • Комплексные кейсы
    • SEO
    • Контент
    • PPC
    • Таргет
    • Веб-разработка
  • Отзывы
    • Отзывы клиентов MOAB
    • Отзывы участников курса
    • Биржа: отзывы партнеров
  • Клиенты
  • Партнерам
  • Биржа
  • Команда
  • Вакансии
  • Стоимость
    • Почасовка
    • Стоимость SEO-продвижения
    • Стоимость веб-разработки
    • Стоимость контекстной рекламы
    • Стоимость AI-оптимизации
    • Стоимость ORM/SERM
    • Стоимость таргетированной рекламы
    • Яндекс.Кит
    • Платные инструменты MOAB.TOOLS
  • Инструменты
  • Сертификаты
Контакты
  • Блог
  • Биржа
  • Партнерам
  • ПБН
  • Решения
  • ...
    +7 (499) 350 28 73
    +7 (499) 350 28 73
    8 (800) 350 06 70 Бесплатно по России
    E-mail
    we@moab.pro
    Режим работы
    Пн. – Пт.: с 10:00 - 18:00
    MOAB.pro | Маркетинговое агентство
    Mother Of All Businesses
    Услуги
    • SEO-продвижение
    • Контент
    • AI-услуги
    • Маркетплейсы
    • Дизайн и разработка
    • Объявления
    • Контекстная реклама
    • Таргет
    • Реклама у блогеров
    • Яндекс.Кит
    • SERM
    Отзывы
    Проекты
    Продукты
    • Семантика
    • CloudLemma
    • Обработка фраз
    • Dozor
    • Bridge
    • Cluster
    • Top
    Агентство
    • Проекты
    • Отзывы
    • Клиенты
    • Партнерам
    • Биржа
    • Команда
    • Вакансии
    • Стоимость
    • Инструменты
    • Сертификаты
    Контакты
      MOAB.pro | Маркетинговое агентство
      Услуги
      • SEO-продвижение
      • Контент
      • AI-услуги
      • Маркетплейсы
      • Дизайн и разработка
      • Объявления
      • Контекстная реклама
      • Таргет
      • Реклама у блогеров
      • Яндекс.Кит
      • SERM
      Отзывы
      Проекты
      Продукты
      • Семантика
      • CloudLemma
      • Обработка фраз
      • Dozor
      • Bridge
      • Cluster
      • Top
      Агентство
      • Проекты
      • Отзывы
      • Клиенты
      • Партнерам
      • Биржа
      • Команда
      • Вакансии
      • Стоимость
      • Инструменты
      • Сертификаты
      Контакты
        +7 (499) 350 28 73
        8 (800) 350 06 70 Бесплатно по России
        E-mail
        we@moab.pro
        Режим работы
        Пн. – Пт.: с 10:00 - 18:00
        MOAB.pro | Маркетинговое агентство
        Телефоны
        +7 (499) 350 28 73
        8 (800) 350 06 70 Бесплатно по России
        E-mail
        we@moab.pro
        Адрес
        117393, г. Москва, ул. Архитектора Власова, д. 55, 4 этаж офис 400,
        комната 10
        Бизнес Центр "Воронцово"
        Режим работы
        Пн. – Пт.: с 10:00 - 18:00
        MOAB.pro | Маркетинговое агентство
        • Услуги
          • Услуги
          • SEO-продвижение
          • Контент
          • AI-услуги
          • Маркетплейсы
          • Дизайн и разработка
          • Объявления
          • Контекстная реклама
          • Таргет
          • Реклама у блогеров
          • Яндекс.Кит
          • SERM
        • Отзывы
          • Отзывы
          • Отзывы клиентов MOAB
          • Отзывы участников курса
          • Биржа: отзывы партнеров
        • Проекты
          • Проекты
          • Комплексные кейсы
          • SEO
            • SEO
            • Примеры SEO-аудитов
            • Примеры сбора СЯ
          • Контент
          • PPC
          • Таргет
          • Веб-разработка
            • Веб-разработка
            • Интернет-магазины
            • Лендинги
            • Многостраничники
        • Продукты
          • Продукты
          • Семантика
          • CloudLemma
          • Обработка фраз
          • Dozor
          • Bridge
          • Cluster
          • Top
        • Агентство
          • Агентство
          • Проекты
            • Проекты
            • Комплексные кейсы
            • SEO
              • SEO
              • Примеры SEO-аудитов
              • Примеры сбора СЯ
            • Контент
            • PPC
            • Таргет
            • Веб-разработка
              • Веб-разработка
              • Интернет-магазины
              • Лендинги
              • Многостраничники
          • Отзывы
            • Отзывы
            • Отзывы клиентов MOAB
            • Отзывы участников курса
            • Биржа: отзывы партнеров
          • Клиенты
          • Партнерам
          • Биржа
          • Команда
          • Вакансии
          • Стоимость
            • Стоимость
            • Почасовка
              • Почасовка
              • Почасовый рейт
            • Стоимость SEO-продвижения
              • Стоимость SEO-продвижения
              • Стоимость услуг SEO
              • Стоимость SEO-аудита сайтов
              • Стоимость SEO-копирайтинга
            • Стоимость веб-разработки
              • Стоимость веб-разработки
              • Стоимость разработки лендингов
              • Стоимость разработки многостраничных сайтов
              • Стоимость разработки интернет-магазинов
              • Сопровождение и ведение сайта
            • Стоимость контекстной рекламы
              • Стоимость контекстной рекламы
              • 1-й месяц
              • 2-й месяц и далее
            • Стоимость AI-оптимизации
              • Стоимость AI-оптимизации
              • Почасовый рейт
            • Стоимость ORM/SERM
              • Стоимость ORM/SERM
              • Малый бизнес
              • Средний бизнес
              • Крупный бизнес
            • Стоимость таргетированной рекламы
              • Стоимость таргетированной рекламы
              • Базовый
              • Стандарт
              • Комплексный
            • Яндекс.Кит
              • Яндекс.Кит
              • Создание магазина
              • Наполнение каталога
              • Первичное SEO при создании с нуля
              • Первичное SEO при переносе сайта
              • Комплексное SEO-продвижение на Ките. Минимум 3 месяца
            • Платные инструменты MOAB.TOOLS
              • Платные инструменты MOAB.TOOLS
              • CloudLemma
              • Cluster
              • Top
          • Инструменты
          • Сертификаты
        • Контакты
        • +7 (499) 350 28 73
          • Телефоны
          • +7 (499) 350 28 73
          • 8 (800) 350 06 70 Бесплатно по России
        • we@moab.pro

        Автопубликация новостей с сайта на Битриксе в Телеграм-канал: готовый код

        Главная
        —
        Блог
        —
        Кейсы
        —Автопубликация новостей с сайта на Битриксе в Телеграм-канал: готовый код
        Автопубликация новостей с сайта на Битриксе в Телеграм-канал: готовый код
        26 августа 2024
        Кейсы
        День потерять, а потом за час долететь © Помните? Расскажем именно о таком решении. Когда потратили буквально день, а в итоге экономим до 20 часов в месяц. И не просто расскажем, а дадим готовый код: как наладить автоматическую публикацию анонса статьи или новости в Телеграм-канал с сайта на Битре.

        Есть ресурсы, которые как-то не принято считать. Например, время рутинной работы сотрудников. Конечно, если это не программист, час которого стоит пару сотен долларов. Хотя автоматизация маленьких рутинных операций может сложиться в итоге в значительную экономию ресурсов. Еще один плюс автоматизации рутины — вам не придется сочинять регламенты и обучать новых сотрудников выполнению этих операций.

        Расскажем о том, как упростили ведение канала в Телеграм для проекта «Делис Архив».

        Спойлер: автоматическую отправку в Телеграм новостей с сайта реализовали на 100% за один (1) день.

        Задача: репост статей с сайта в Тг-канал

        Запрос клиента звучал так: можно ли автоматически постить в Телеграм-канал компании любые новые статьи, которые будут публиковаться на сайте?

        Новый модуль должен был работать понятным образом:

        • При добавлении очередной новости на сайте можно задать Телеграм-канал, в который она будет отправляться.
        • Пост должен содержать заголовок, текст, изображение (если оно есть) и активную ссылку на статью.
        • У контент-менеджера должна быть возможность отключить автоматическую отправку для конкретной новости при ее создании.

        Автоматизация помогла бы сократить время на такую «републикацию», высвободив до 1 часа ежедневно, а это 20+ часов в месяц.

        Мы провели анализ требований, затем определились с тем, какие инструменты нам понадобятся для решения задачи. На тестирование и отладку ушло всего несколько часов.

        Стек технологий

        Для реализации задачи мы использовали стандартные технологии и инструменты:

        • PHP: основной язык разработки, на котором написан сайт.
        • Битрикс: платформа, на которой работает сайт.
        • API Telegram: для отправки сообщений и изображений в Телеграм-канал.

        Для выполнения HTTP-запросов к API Telegram был выбран HTTPClient. Это логичный выбор, поскольку HTTPClient поддерживает различные HTTP-методы (GET, POST, PUT, DELETE и т.д.) и хорошо совместим с PHP.

        Особенности разработки: подстраховать ошибки и подчистить текст

        На этапе разработки нужно было учесть несколько ключевых аспектов:

        Чтобы избежать отправки сообщений в случае ошибочного сохранения новости в админ-панели Битрикса, было решено использовать дополнительное поле RESULT для проверки. Задача поля — проверить, был ли элемент успешно сохранен в инфоблоке.

        if ($arFields['RESULT'] > 0 && $arFields['IBLOCK_ID'] == 27) { // Проверка успешного сохранения и ID инфоблока

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

        Кроме того, чтобы контент-менеджер мог вручную разрешить или запретить автоматическую отправку конкретной новости, мы добавили в инфоблок свойство SEND_TG.

        $properties = CIBlockElement::GetProperty($arFields['IBLOCK_ID'], $arFields['ID'], array(), array('CODE' => $propertyCode));

        while ($property = $properties->Fetch()) {

            if ($property['VALUE_ENUM'] == 'Да') {

                $sendToTelegram = true;

                break;

            }

        }

        Сам текст новости должен был корректно отображаться в Тг-канале, для чего потребовалось преобразовать его внешний вид. Например, новость может содержать специальные символы, представленные в HTML формате (& вместо & или <br> для переноса строк). Для корректного отображения этих символов в Телеграме необходимо преобразовать их в обычные текстовые символы — в коде для этого используется функция html_entity_decode, которая отвечает за такое преобразование.

        $newsDetail = str_replace('<br>', "\n", $arFields['PREVIEW_TEXT']);

        $newsDetail = html_entity_decode($newsDetail);

        Если новость содержит изображение, оно должно отправляться вместе с подписью.

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

        Как выглядит результат

        Как выглядит анонс новости, опубликованной на сайте 

        Как выглядит код

        Ниже приведен код, с помощью которого выполняется задача по автоматической публикации новостей в Телеграм-канал. Код добавляется в событие OnAfterIBlockElementAdd, которое срабатывает после добавления нового элемента в инфоблок новостей.

        Скачать полную версию скрипта можно здесь.



        Актуальный код скрипта 

        Полноразмерная версия.

        Важные пояснения к коду

        Если собираетесь воспользоваться нашим кодом, обратите внимание на эти моменты.

        AddEventHandler("iblock", "OnAfterIBlockElementAdd", "sendNewsToTelegram");

        Здесь регистрируется обработчик события OnAfterIBlockElementAdd, который будет вызывать функцию sendNewsToTelegram после добавления нового элемента в инфоблок. Если этого не сделать, новые статьи, добавленные на сайт, не будут автоматически публиковаться в Телеграм-канал, а вся автоматизация процесса, описанная в коде, не будет работать.

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

        $newsImageArray = $arFields['PREVIEW_PICTURE'];

        $newsImageUrl = '';

        $newsImagePath = '';


        if ($sendToTelegram) {

            if (!empty($newsImageArray) && is_array($newsImageArray)) {

                $arImage = [

                    "name" => $newsImageArray["name"],

                    "type" => $newsImageArray["type"],

                    "tmp_name" => $newsImageArray["tmp_name"],

                    "size" => $newsImageArray["size"],

                    "MODULE_ID" => "iblock"

                ];


                $newsImageId = CFile::SaveFile($arImage, "iblock");

                if ($newsImageId) {

                    $newsImage = CFile::GetFileArray($newsImageId);

                    if ($newsImage) {

                        $newsImageUrl = $newsImage['SRC'];

                        $newsImagePath = $_SERVER['DOCUMENT_ROOT'] . $newsImageUrl;

                    }

                }

            }


            // Отправка изображения с подписью в Телеграмм

            if ($newsImageUrl) {

                $sendPhotoUrl = "https://api.telegram.org/bot$telegramBotToken/sendPhoto&quot;;

                $photoData = [

                    'chat_id' => $chatId,

                    'photo' => $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['SERVER_NAME'].$newsImageUrl,

                    'caption' => "<b>$newsTitle</b>\n\n $newsDetail\n\n $link",

                    'parse_mode' => 'HTML'

                ];


                $httpClient = new HttpClient();

                $responsePhoto = $httpClient->post($sendPhotoUrl, $photoData);

                $httpCodePhoto = $httpClient->getStatus();

            } else {

        Если с сохранением изображения через CFile::SaveFile возникают проблемы, нужно анализировать логи. Внимательно следите за тем, как формируется URL изображения ($newsImageUrl) — он должен включать правильный протокол, домен и путь. Кроме того, API Телеграма может вернуть ошибку при попытке отправки изображения (например, из-за недоступности сервера или неправильного формата данных).

        У вас остались вопросы по технической реализации такого решения? Приходите в МОАB, мы знаем, как решать такие задачи и готовы проконсультировать.

        Читать статью на vc.ru

        Автор статьи

        Основатель агентства MOAB и сервиса MOAB Tools
        Илья Исерсон
        • эксперт по SEO & контекстной рекламе
        • автор многочисленных статей о контекстной рекламе: об инфляции трафика, о скликивании, об агентском бизнесе
        • в 2014 году начал с микро-команды из 3 человек, в 2023 агентство MOAB работает с OZON, Hoff, Эвотор, VK, Яндексом, ВсеИнструменты, MUZTORG, DG Home, Бургер Кинг и многими другими

        Все отзывы
        Денис Авдюшин
        Запросить контакты
        Собственник—16.05.2022
        Делис Архив
        Тематика: Хранение и обработка документов

        "Компания ООО “Делис Архив” выражает благодарность маркетинговому агентству MOAB за длительную совместную работу по продвижению проекта https://www.archiv.ru/. За год совместной работы с MOAB мы успели поработать над задачами в сфере...

        Отзыв от компании Делис Архив
        531,9 Кб

        Читать полностью

        Теги:

        • контекст —
        • веб-разработка —
        • SEO —
        • документы —
        • b2c

        Проекты

        Все проекты


        Делис Архив
        www.archiv.ru
        складские услуги
        статьи vc.ru кейсы битрикс телеграм разработка
        Обратиться в компанию
        Назад к списку
        • Статьи 78
        • Интервью 9
        • Кейсы 44
        • AI оптимизация 7

        Как делегировать Яндекс.Метрику?

        1. Перейдите на главную страницу Метрики по этому адресу - https://metrika.yandex.ru/list и нажмите на шестеренку Шестеренка в Яндекс.Метрике
        2. Перейдите на вкладку "Доступ" Вкладка Доступ
        3. Добавьте пользователя metrika@moab.pro Добавление пользователя
        Перейти в Метрику

        Изображение

        1 / 3
        Услуги
        SEO-продвижение
        Контент
        AI-услуги
        Маркетплейсы
        Дизайн и разработка
        Контекстная реклама
        Объявления
        MOAB.Tools
        Семантика
        CloudLemma
        Обработка фраз
        Dozor
        Bridge
        Cluster
        Top
        Отзывы
        Проекты
        Блог
        Партнерам
        Биржа
        +7 (499) 350 28 73
        +7 (499) 350 28 73
        8 (800) 350 06 70 Бесплатно по России
        E-mail
        we@moab.pro
        Адрес
        117393, г. Москва, ул. Архитектора Власова, д. 55, 4 этаж офис 400,
        комната 10
        Бизнес Центр "Воронцово"
        Режим работы
        Пн. – Пт.: с 10:00 - 18:00
        we@moab.pro
        117393, г. Москва, ул. Архитектора Власова, д. 55, 4 этаж офис 400,
        комната 10
        Бизнес Центр "Воронцово"
        © 2026 MOAB.pro | Маркетинговое агентство
        Домены moab.pro, moabpro.ru, moab.tools и moabagency.ru являются официальными доменами компании MOAB.
        Политика конфиденциальности
        Карта сайта
        Главная Услуги Проекты Отзывы Контакты