From 3441053fb3169a7e83a11da350c153e32481a93a Mon Sep 17 00:00:00 2001 From: yllhwa Date: Thu, 28 Dec 2023 17:42:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20telegram=20=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/telegram/channel.js | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/lib/telegram/channel.js b/src/lib/telegram/channel.js index e2f9a54..6cb34de 100644 --- a/src/lib/telegram/channel.js +++ b/src/lib/telegram/channel.js @@ -22,25 +22,40 @@ let deal = async (ctx) => { description += element.getAttribute('content'); }, }) - .on('.tgme_widget_message_bubble > .tgme_widget_message_text', { + .on('.tgme_widget_message_bubble', { element(element) { tgme_widget_message_texts.push(''); }, + }) + .on('.tgme_widget_message_bubble > .tgme_widget_message_text', { text(text) { tgme_widget_message_texts[tgme_widget_message_texts.length - 1] += text.text; }, }) - .on('.tgme_widget_message_bubble > .tgme_widget_message_text > *', { + .on('.tgme_widget_message_bubble > .tgme_widget_message_photo_wrap', { element(element) { - // add
tag - tgme_widget_message_texts[tgme_widget_message_texts.length - 1] += '
'; + let style = element.getAttribute('style'); + let url = style.match(/background-image:url\('(.+)'\)/)[1]; + tgme_widget_message_texts[tgme_widget_message_texts.length - 1] += ''; + }, + }) + .on('.tgme_widget_message_bubble > .tgme_widget_message_text > b', { + element(element) { + // add tag + tgme_widget_message_texts[tgme_widget_message_texts.length - 1] += ''; }, text(text) { if (text.lastInTextNode) { - tgme_widget_message_texts[tgme_widget_message_texts.length - 1] += '
'; + tgme_widget_message_texts[tgme_widget_message_texts.length - 1] += '
'; } }, }) + .on('.tgme_widget_message_bubble > .tgme_widget_message_text > br', { + element(element) { + // add
tag + tgme_widget_message_texts[tgme_widget_message_texts.length - 1] += '
'; + }, + }) .on('.tgme_widget_message_date > time', { element(element) { tgme_widget_message_dates.push(element.getAttribute('datetime')); @@ -61,7 +76,7 @@ let deal = async (ctx) => { if (tgme_widget_message_texts[i] === '') { continue; } - let title = tgme_widget_message_texts[i].replace(/
/g, ' '); + let title = tgme_widget_message_texts[i].replace(/
||<\/b>|/g, ' '); if (title.length > 100) { title = title.slice(0, 100) + '...'; }