Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
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-услуги
  • Яндекс.Кит
Отзывы
  • Отзывы клиентов MOAB
  • Отзывы участников курса
  • Биржа: отзывы партнеров
Проекты
  • Комплексные кейсы
  • SEO
    • Примеры SEO-аудитов
    • Примеры сбора СЯ
  • Контент
  • PPC
  • Таргет
  • Веб-разработка
    • Интернет-магазины
    • Лендинги
    • Многостраничники
Агентство
  • Проекты
    • Комплексные кейсы
    • SEO
    • Контент
    • PPC
    • Таргет
    • Веб-разработка
  • Отзывы
    • Отзывы клиентов MOAB
    • Отзывы участников курса
    • Биржа: отзывы партнеров
  • Клиенты
  • Партнерам
  • Биржа
  • Команда
  • Вакансии
  • Стоимость
    • Почасовка
    • Стоимость SEO-продвижения
    • Стоимость веб-разработки
    • Стоимость контекстной рекламы
    • Стоимость AI-оптимизации
    • Стоимость таргетированной рекламы
    • Яндекс.Кит
    • Платные инструменты 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-услуги
    • Яндекс.Кит
    Отзывы
    Проекты
    Агентство
    • Проекты
    • Отзывы
    • Клиенты
    • Партнерам
    • Биржа
    • Команда
    • Вакансии
    • Стоимость
    • Инструменты
    • Сертификаты
    Контакты
      MOAB.pro | Маркетинговое агентство
      Услуги
      • SEO-продвижение
      • Контекстная реклама
      • Дизайн и разработка
      • Контент
      • Таргет
      • Маркетплейсы
      • Объявления
      • Реклама у блогеров
      • AI-услуги
      • Яндекс.Кит
      Отзывы
      Проекты
      Агентство
      • Проекты
      • Отзывы
      • Клиенты
      • Партнерам
      • Биржа
      • Команда
      • Вакансии
      • Стоимость
      • Инструменты
      • Сертификаты
      Контакты
        +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
        Адрес
        г. Москва, Щелковское шоссе, 5с1
        Режим работы
        Пн. – Пт.: с 10:00 - 18:00
        MOAB.pro | Маркетинговое агентство
        • Услуги
          • Услуги
          • SEO-продвижение
          • Контекстная реклама
          • Дизайн и разработка
          • Контент
          • Таргет
          • Маркетплейсы
          • Объявления
          • Реклама у блогеров
          • AI-услуги
          • Яндекс.Кит
        • Отзывы
          • Отзывы
          • Отзывы клиентов MOAB
          • Отзывы участников курса
          • Биржа: отзывы партнеров
        • Проекты
          • Проекты
          • Комплексные кейсы
          • SEO
            • SEO
            • Примеры SEO-аудитов
            • Примеры сбора СЯ
          • Контент
          • PPC
          • Таргет
          • Веб-разработка
            • Веб-разработка
            • Интернет-магазины
            • Лендинги
            • Многостраничники
        • Агентство
          • Агентство
          • Проекты
            • Проекты
            • Комплексные кейсы
            • SEO
              • SEO
              • Примеры SEO-аудитов
              • Примеры сбора СЯ
            • Контент
            • PPC
            • Таргет
            • Веб-разработка
              • Веб-разработка
              • Интернет-магазины
              • Лендинги
              • Многостраничники
          • Отзывы
            • Отзывы
            • Отзывы клиентов MOAB
            • Отзывы участников курса
            • Биржа: отзывы партнеров
          • Клиенты
          • Партнерам
          • Биржа
          • Команда
          • Вакансии
          • Стоимость
            • Стоимость
            • Почасовка
              • Почасовка
              • Почасовый рейт
            • Стоимость SEO-продвижения
              • Стоимость SEO-продвижения
              • Стоимость услуг SEO
              • Стоимость SEO-аудита сайтов
              • Стоимость SEO-копирайтинга
            • Стоимость веб-разработки
              • Стоимость веб-разработки
              • Сопровождение и ведение сайта
              • Стоимость разработки интернет-магазинов
              • Стоимость разработки лендингов
              • Стоимость разработки многостраничных сайтов
            • Стоимость контекстной рекламы
              • Стоимость контекстной рекламы
              • 1-й месяц
              • 2-й месяц и далее
            • Стоимость AI-оптимизации
              • Стоимость AI-оптимизации
              • Почасовый рейт
            • Стоимость таргетированной рекламы
              • Стоимость таргетированной рекламы
              • Базовый
              • Стандарт
              • Комплексный
            • Яндекс.Кит
              • Яндекс.Кит
              • Создание магазина
              • Наполнение каталога
              • Первичное 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 кейсы битрикс телеграм разработка
        Обратиться в компанию
        Назад к списку
        • Статьи 59
        • Интервью 7
        • Кейсы 32
        • AI оптимизация 4
        b2b b2c ChatGPT CloudLemma ozon ppc seo vc.ru vk авито автозапчасти агентство архив аудит битрикс блогеры бот бренд-медиа директ еда зоотовары идеи интернет-магазин инфляция картины кейсы контекст контент лидген логистика маркетинг маркетплейсы медицина медтехника модерация накрутка оптимизация разработка реклама рынок сельское хозяйство семантика скликивание ссылки статьи стоимость клика таргет телеграм техническая оптимизация трафик финансовые услуги финансы яндекс

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

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

        Изображение

        1 / 3
        Услуги
        SEO-продвижение
        Контекстная реклама
        Дизайн и разработка
        Контент
        Таргет
        Маркетплейсы
        Объявления
        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
        Адрес
        г. Москва, Щелковское шоссе, 5с1
        Режим работы
        Пн. – Пт.: с 10:00 - 18:00
        we@moab.pro
        г. Москва, Щелковское шоссе, 5с1
        © 2025 MOAB.pro | Маркетинговое агентство
        Домены moab.pro, moabpro.ru, moab.tools и moabagency.ru являются официальными доменами компании MOAB.
        Политика конфиденциальности
        Карта сайта
        Главная Услуги Проекты Отзывы Контакты