From c43fc2fa3453721350d6efab2e3dde9201a717d9 Mon Sep 17 00:00:00 2001 From: Sokhibjon Orzikulov Date: Wed, 22 Nov 2023 17:43:06 +0500 Subject: [PATCH] delete message after some time --- src/functions/joined.rs | 17 +++++++++++++---- src/hooks/is_private.rs | 17 ++++++++++++++++- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/functions/joined.rs b/src/functions/joined.rs index 3c8044f..1b58d4e 100644 --- a/src/functions/joined.rs +++ b/src/functions/joined.rs @@ -12,14 +12,23 @@ pub async fn trigger(bot: &Bot, msg: &Message) -> ResponseResult<()> { .send_message(msg.chat.id, TEXT) .parse_mode(ParseMode::Html); - if msg.thread_id.is_some() { + let message: Message = if msg.thread_id.is_some() { message .message_thread_id(msg.thread_id.unwrap()) .send() - .await?; + .await? } else { - message.send().await?; - } + message.send().await? + }; + + let thread_bot = bot.clone(); + tokio::spawn(async move { + tokio::time::sleep(tokio::time::Duration::from_secs(60 * 5)).await; + match thread_bot.delete_message(message.chat.id, message.id).await { + Ok(_) => {} + Err(_) => {} + }; + }); Ok(()) } diff --git a/src/hooks/is_private.rs b/src/hooks/is_private.rs index f2f5b81..fcb520f 100644 --- a/src/hooks/is_private.rs +++ b/src/hooks/is_private.rs @@ -14,10 +14,25 @@ pub fn keyboard() -> InlineKeyboardMarkup { } pub async fn is_private(bot: &Bot, msg: &Message) -> ResponseResult<()> { - bot.send_message(msg.chat.id, TEXT) + match bot.delete_message(msg.chat.id, msg.id).await { + Ok(_) => {} + Err(_) => {} + }; + + let message = bot + .send_message(msg.chat.id, TEXT) .parse_mode(ParseMode::Html) .reply_markup(keyboard()) .await?; + let thread_bot = bot.clone(); + tokio::spawn(async move { + tokio::time::sleep(tokio::time::Duration::from_secs(5)).await; + match thread_bot.delete_message(message.chat.id, message.id).await { + Ok(_) => {} + Err(_) => {} + }; + }); + Ok(()) }