WT Telegram bot
- Категории: Плагины Joomla, Расширения для Joomla 4 и Joomla 5
- Версия: 1.0.0
- Дата:
Плагин для отправки сообщений с сайта Joomla в бота Telegram. Плагин предоставляет простую возможность отправлять информацию из Joomla в чаты и каналы с помощью сообщений боту. Разработчики могут использовать его для своих расширений.
Описание
Как использовать?
Для начала необходимо:
- создать бота в Telegram,
- добавить его в свой чат или канал
- назначить его администратором с правом постинга сообщений
Инструкций по этому в интернете полно. Для настроек плагина нужно взять Telegram API токен у BotFather, а так же узнать id чата или канала Telegram, куда Joomla с помощью бота будет отсылать сообщения. Это могут быть как личные сообщения, так и каналы.
Плагины-провайдеры для отправки сообщений из Joomla в Telegram
На данный момент созданы следующие плагины:
- WT Telegram bot - Content - отправляет в Telegram изображение и вступительный текст (или часть полного текста) материалов Joomla.
- WT Telegram bot - SW JProjects - отправляет в Telegram чат или канал информацию о проектах и их версиях, документации из компонента SW JProjects.
- WT Telegram bot - JoomShopping - отправляет в Telegram чат или канал информацию о новых заказах в интернет-магазине JoomShopping.
Ссылки на них ниже по странице.
Данный плагин сам по себе бесполезен, если вы не Joomla-разработчик. Разработчики могут создавать плагины-провайдеры, которые будут отправлять сообщения с нужными данными.
Пример кода для Joomla разработчиков
Используйте этот код в своих расширениях там, где необходимо отправить сообщение из Joomla в Telegram.
<?php
$event = \Joomla\CMS\Event\AbstractEvent::create('onWttelegrambotSendMessage',
[
'subject' => $this,
'message' => $message,
'images' => $images,
'link' => $link,
'params' => $message_params
]
);
$this->getApplication()->getDispatcher()->dispatch($event->getName(), $event);
return $event->getArgument('result', []);
Пояснение
$message
- текст сообщения, очищенный от HTML-тегов. Допускаются лишь теги простого форматирования текста, согласно документации Telegram API: Formatting options$images
- массив путей к изображениям вида/images/image.jpg
. Путь должен быть относительным и начинаться со знака слеша/
.$link
- HTML-код ссылки, если необходимо.<a href="https://my-site.com/my-link>My link title</a>
$message_params
- массив с параметрами для конкретного сообщения.
$message_params['context']
- контекст передачи сообщения в Joomla-формате видаcom_content.article
.$message_params['item_id']
-id
сущности, если есть. Напримерid
статьи или товара.$message_params['chat_id']
- id чата или канала, отличающийся от указанного по умолчанию в настройках плагина. Разные области сайта могут отправлять сообщения в разные чаты или каналы.
В случае если сообщение успешно отправлено в Telegram информация о сообщении сохраняется в базе данных в таблице #__plg_system_wttelegrambot
. Сохраняются id сообщения в Telegram, id чата или канала, дата отправки в UNIX формате. Также, если переданы, то сохраняются контекст и id сущности. Таким образом можно в дальнейшем по контексту и id отслеживать историю переданных сообщений в базе данных.
Системные требования
PHP 8.0+. Joomla 4.3+
Joomla
- Тип расширения:
- Плагин
- Каталог:
- System
- Версия Joomla:
- 4.3