From 3769850ba33c8707488800c01a0ec31e76fcb774 Mon Sep 17 00:00:00 2001 From: triatic <42704418+triatic@users.noreply.github.com> Date: Sun, 23 Jun 2019 07:54:52 +0100 Subject: [PATCH] [TelegramBridge] Fix entries for "media too big" (#1184) When a large video is posted, "Media is too big" appears in web preview. This adds code to detect this and offer a link. --- bridges/TelegramBridge.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/bridges/TelegramBridge.php b/bridges/TelegramBridge.php index 5a9f128d..e9f3bb08 100644 --- a/bridges/TelegramBridge.php +++ b/bridges/TelegramBridge.php @@ -108,6 +108,10 @@ class TelegramBridge extends BridgeAbstract { $message .= $this->processPhoto($messageDiv); } + if ($messageDiv->find('a.not_supported', 0)) { + $message .= $this->processNotSupported($messageDiv); + } + if ($messageDiv->find('div.tgme_widget_message_text.js-message_text', 0)) { $message .= $messageDiv->find('div.tgme_widget_message_text.js-message_text', 0); @@ -250,6 +254,24 @@ EOD; return $photos; } + private function processNotSupported($messageDiv) { + + if (empty($this->itemTitle)) { + $this->itemTitle = '@' . $this->processUsername() . ' posted a video'; + } + + preg_match($this->backgroundImageRegex, $messageDiv->find('i.tgme_widget_message_video_thumb', 0)->style, $photo); + + $this->enclosures[] = $photo[1]; + + return << +{$messageDiv->find('div.message_media_not_supported_label', 0)->innertext}

+{$messageDiv->find('span.message_media_view_in_telegram', 0)->innertext}

+ +EOD; + } + private function processDate($messageDiv) { $messageMeta = $messageDiv->find('span.tgme_widget_message_meta', 0);