diff --git a/crates/xmedia-bot/src/send/input_media.rs b/crates/xmedia-bot/src/send/input_media.rs index a036794..00d83c1 100644 --- a/crates/xmedia-bot/src/send/input_media.rs +++ b/crates/xmedia-bot/src/send/input_media.rs @@ -51,7 +51,6 @@ pub(super) fn media_from( item: &MediaItemPayload, file: InputFile, caption: Option<&str>, - thumbnail: Option<&str>, ) -> Result { let media = match item { MediaItemPayload::Photo { has_spoiler, .. } => { @@ -85,7 +84,10 @@ pub(super) fn media_from( InputMedia::Animation(media) } }; - match (thumbnail, media) { + // The thumbnail comes off the item itself — every caller passed exactly + // that, and only a video uses it (Telegram takes it as a separate + // upload/URL). + match (item.thumbnail_url(), media) { (Some(thumb), InputMedia::Video(video)) => { Ok(InputMedia::Video(video.thumbnail(input_file_for(thumb)?))) } @@ -104,7 +106,7 @@ pub(super) fn build_media_group( .enumerate() .map(|(i, item)| { let item_caption = if i == 0 { caption } else { None }; - media_from(item, item.input_file()?, item_caption, item.thumbnail_url()) + media_from(item, item.input_file()?, item_caption) }) .collect() } diff --git a/crates/xmedia-bot/src/send/upload.rs b/crates/xmedia-bot/src/send/upload.rs index 041e7a5..fe74bbd 100644 --- a/crates/xmedia-bot/src/send/upload.rs +++ b/crates/xmedia-bot/src/send/upload.rs @@ -189,7 +189,7 @@ fn media_from_file( path: std::path::PathBuf, caption: Option<&str>, ) -> Result { - media_from(item, InputFile::file(path), caption, item.thumbnail_url()) + media_from(item, InputFile::file(path), caption) } /// Builds the media group item from a (smaller) URL. @@ -198,7 +198,7 @@ fn media_from_url( url: &str, caption: Option<&str>, ) -> Result { - media_from(item, input_file_for(url)?, caption, item.thumbnail_url()) + media_from(item, input_file_for(url)?, caption) } /// One item prepared for the upload fallback: the ready-to-send media plus