diff options
author | Vincent Ambo <mail@tazj.in> | 2022-04-17T22·10+0200 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2022-04-17T22·12+0000 |
commit | 856dfa62a15251a4688588b4d11c9ac639535294 (patch) | |
tree | 2d0e838118babe72b4590ceefac5020166ca6523 | |
parent | 6c8841c1763075f5b37a2868b3fb6fb3679bb84f (diff) |
feat(tazjin/tgsa): Handle messages with audio attached r/3974
Audio can not be embedded on these stupid dead comedy forums, but people can click through to listen. Change-Id: I6e28636e69e424bb8cbc6b92963d1b28b3c04bf6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5478 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
-rw-r--r-- | users/tazjin/tgsa/src/main.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/users/tazjin/tgsa/src/main.rs b/users/tazjin/tgsa/src/main.rs index 341e1b163986..deae6a81505f 100644 --- a/users/tazjin/tgsa/src/main.rs +++ b/users/tazjin/tgsa/src/main.rs @@ -59,6 +59,7 @@ struct TgMessage { message: Option<String>, photos: Vec<String>, videos: Vec<String>, + has_audio: bool, } fn extract_photo_url(style: &str) -> Option<&str> { @@ -110,11 +111,18 @@ fn parse_tgmessage(embed: &str) -> Result<TgMessage> { } } + let audio_sel = Selector::parse("audio.tgme_widget_message_voice.js-message_voice").unwrap(); + let mut has_audio = false; + if doc.select(&audio_sel).next().is_some() { + has_audio = true; + } + Ok(TgMessage { author, message, photos, videos, + has_audio, }) } @@ -152,6 +160,13 @@ fn to_bbcode(link: &TgLink, msg: &TgMessage) -> Result<String> { out.push_str(&format!("[timg]{}[/timg]\n", shorten_link(photo)?)); } + if msg.has_audio { + out.push_str(&format!( + "[i]This message has audio attached. Go [url=\"{}\"]to Telegram[/url] to listen.[/i]", + link.to_url(), + )); + } + if let Some(message) = &msg.message { out.push_str(message); } |