Skip to content

Commit d632313

Browse files
committed
При отправке в Телеграм битриксовый шаблон превращается в markdown
1 parent dbb8c78 commit d632313

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

Services/Email/EventBridge/Sender/BitrixTelegramEventSender.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Bitrix\Main\ArgumentException;
66
use Bitrix\Main\ObjectPropertyException;
77
use Bitrix\Main\SystemException;
8+
use League\HTMLToMarkdown\HtmlConverter;
89
use Prokl\BitrixOrdinaryToolsBundle\Services\Email\EventBridge\EventBridgeMail;
910
use Prokl\BitrixOrdinaryToolsBundle\Services\Email\EventBridge\Utils\EventTableUpdater;
1011
use RuntimeException;
@@ -81,7 +82,12 @@ public function send(string $codeEvent, array $arFields) : void
8182
foreach ($eventsInfo as $eventInfo) {
8283
$compileData = $this->eventBridge->compileMessage($eventInfo, $arFields, ['s1']);
8384

84-
$notification = (new ChatMessage($compileData['subject'] . ' ' . $compileData['body']))
85+
$content = $compileData['subject'] . ' ' . $compileData['body'];
86+
87+
$converter = new HtmlConverter(['remove_nodes' => 'span div']);
88+
$markdown = $converter->convert($content);
89+
90+
$notification = (new ChatMessage($markdown))
8591
->transport('telegram');
8692

8793
$telegramOptions = (new TelegramOptions())

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
"symfony/config": "~4|~5",
2727
"intervention/image": "^2.5",
2828
"twig/twig": "~1.0 | ~2.0",
29-
"monolog/monolog": "~1 || ~2"
29+
"monolog/monolog": "~1 || ~2",
30+
"league/html-to-markdown": "^5.0"
3031
},
3132
"require-dev": {
3233
"proklung/bitrix-phpunit-testing-tools": "^1.0"

readme.MD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,5 +127,5 @@ monolog:
127127

128128
Нюанс:
129129

130-
- Telegram плохо переваривает html (даже в режиме `parse_mode = html`). Посему рекомендуется оформлять шаблоны
131-
в `markdown` разметке.
130+
- Telegram плохо переваривает html (даже в режиме `parse_mode = html`). Посему под капотом html шаблона превращается в markdown
131+
разметку.

0 commit comments

Comments
 (0)