В своей предыдущей статье я рассказывал о том, как отправлять системные уведомления в личные сообщения в Telegram (на примере авторизации).
Чуть ранее я взялся за более практичный плагин — отправку новых статей с сайта в Telegram-канал, но мне нужно было немного времени, чтобы обкатать плагин на рабочем сайте. Если аудитория сайта не ограничивается домохозяйками, то можно расширить аудиторию сайта, заведя канал в Telegram, где пользователи смогут оперативно получать обновления сайта.
Цель плагина
Отправлять информацию о только что опубликованных статьях в Telegram-канал.Код плагина
Свежую версию плагина всегда можно посмотреть здесь: https://github.com/mishantrop/quasitelegramposterКак использовать
- Создать telegram-бота.
- Создать telegram-канал.
- Добавить бота на канал.
- Создать плагин и назвать, как хочется.
- Вставить туда код.
- Привязать плагин к событиям OnDocPublished, OnResourceAutoPublished и OnDocFormSave.
$token = '123456789:hYa87bZ_juzh1nasdKjh87bHd1';
Псевдоним чата:
$chatId = '@modx';
Указать идентификаторы шаблонов:
$articlesTemplates = [3];
В канал будут отправляться только ресурсы с указанными шаблонами.
Варианты оформления постов
За формат поста отвечает переменная $format. Если значение 0, то выводится ссылка, если 1 — изображение.Есть несколько вариантов оформления постов: ссылка (Telegram сам подтянет заголовок, описание и изображение) и изображение с подписью.
Ссылка
$format = 0;

Изображение с подписью
$format = 1;

Изображение по умолчанию берётся из TV с именем image, можно изменить на этой строке:
$image = $siteUrl.$resource->getTVValue('image');
Комментарии (0)