diff --git a/src/bots/approved_bot/modules/book.rs b/src/bots/approved_bot/modules/book.rs index 6c71ecb..8d0cae3 100644 --- a/src/bots/approved_bot/modules/book.rs +++ b/src/bots/approved_bot/modules/book.rs @@ -129,7 +129,7 @@ where }; let chat_id = message.chat.id; - let user_id = message.from().map(|from| from.id); + let user_id = message.reply_to_message().map(|message| message.from().map(|from| from.id)).unwrap_or(None); let user_id = match user_id { Some(v) => v, @@ -211,15 +211,11 @@ where }; let chat_id = cq.message.as_ref().map(|message| message.chat.id); - let user_id = cq - .message - .as_ref() - .map(|message| message.from().map(|from| from.id)) - .unwrap_or(None); + let user_id = cq.from.id; let message_id = cq.message.as_ref().map(|message| message.id); - let (chat_id, user_id, message_id) = match (chat_id, user_id, message_id) { - (Some(chat_id), Some(user_id), Some(message_id)) => (chat_id, user_id, message_id), + let (chat_id, message_id) = match (chat_id, message_id) { + (Some(chat_id), Some(message_id)) => (chat_id, message_id), _ => { return match chat_id { Some(v) => match bot.send_message(v, "Повторите поиск сначала").send().await diff --git a/src/bots/approved_bot/modules/search.rs b/src/bots/approved_bot/modules/search.rs index cb138a1..aae69fb 100644 --- a/src/bots/approved_bot/modules/search.rs +++ b/src/bots/approved_bot/modules/search.rs @@ -4,7 +4,7 @@ use regex::Regex; use strum_macros::EnumIter; use teloxide::{ prelude::*, - types::{InlineKeyboardButton, InlineKeyboardMarkup}, + types::{InlineKeyboardButton, InlineKeyboardMarkup}, dispatching::dialogue::GetChatId, }; use crate::bots::{ @@ -115,18 +115,14 @@ where T: Format + Clone, Fut: std::future::Future, Box>>, { - let chat_id = cq.message.as_ref().map(|message| message.chat.id); - let user_id = cq - .message - .as_ref() - .map(|message| message.from().map(|from| from.id)) - .unwrap_or(None); + let chat_id = cq.chat_id(); + let user_id = cq.from.id; let message_id = cq.message.as_ref().map(|message| message.id); let query = get_query(cq); - let (chat_id, user_id, query, message_id) = match (chat_id, user_id, query, message_id) { - (Some(chat_id), Some(user_id), Some(query), Some(message_id)) => { - (chat_id, user_id, query, message_id) + let (chat_id, query, message_id) = match (chat_id, query, message_id) { + (Some(chat_id), Some(query), Some(message_id)) => { + (chat_id, query, message_id) } _ => { return match chat_id { diff --git a/src/bots/approved_bot/modules/settings.rs b/src/bots/approved_bot/modules/settings.rs index 39a3c79..01412cf 100644 --- a/src/bots/approved_bot/modules/settings.rs +++ b/src/bots/approved_bot/modules/settings.rs @@ -126,10 +126,7 @@ async fn settings_callback_handler( None => return Ok(()), // TODO: alert }; - let user = match message.from() { - Some(v) => v, - None => return Ok(()), // TODO: alert - }; + let user = cq.from; let allowed_langs = get_user_or_default_lang_codes(user.id).await;