From b2ebb36bb50af2fa9ec3c6219b1512477f9cb522 Mon Sep 17 00:00:00 2001 From: AndrielFR Date: Fri, 24 Jan 2025 21:06:19 -0300 Subject: [PATCH] fix(client): handle external media types in edit inline bot message Refactored the `edit_inline_bot_message` method to properly handle external media types such as `PhotoExternal` and `DocumentExternal`. This ensures that the media is correctly passed to the `EditInlineBotMessage` function. --- lib/grammers-client/src/client/bots.rs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/grammers-client/src/client/bots.rs b/lib/grammers-client/src/client/bots.rs index aedf345d..660f091b 100644 --- a/lib/grammers-client/src/client/bots.rs +++ b/lib/grammers-client/src/client/bots.rs @@ -166,7 +166,13 @@ impl Client { ) -> Result { let message: InputMessage = input_message.into(); let entities = parse_mention_entities(self, message.entities); - let result = if message.media.is_some() { + if message.media.as_ref().is_some_and(|media| { + !matches!( + media, + tl::enums::InputMedia::PhotoExternal(_) + | tl::enums::InputMedia::DocumentExternal(_), + ) + }) { let dc_id = message_id.dc_id(); self.invoke_in_dc( &tl::functions::messages::EditInlineBotMessage { @@ -180,19 +186,18 @@ impl Client { }, dc_id, ) - .await? + .await } else { self.invoke(&tl::functions::messages::EditInlineBotMessage { id: message_id, message: Some(message.text), - media: None, + media: message.media, entities, no_webpage: !message.link_preview, reply_markup: message.reply_markup, invert_media: message.invert_media, }) - .await? - }; - Ok(result) + .await + } } }