Fix allowed_langs getting

This commit is contained in:
2022-09-18 09:27:13 +03:00
parent 36305b665d
commit 06d8c2cf60
3 changed files with 11 additions and 22 deletions

View File

@@ -129,7 +129,7 @@ where
}; };
let chat_id = message.chat.id; 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 { let user_id = match user_id {
Some(v) => v, Some(v) => v,
@@ -211,15 +211,11 @@ where
}; };
let chat_id = cq.message.as_ref().map(|message| message.chat.id); let chat_id = cq.message.as_ref().map(|message| message.chat.id);
let user_id = cq let user_id = cq.from.id;
.message
.as_ref()
.map(|message| message.from().map(|from| from.id))
.unwrap_or(None);
let message_id = cq.message.as_ref().map(|message| message.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) { let (chat_id, message_id) = match (chat_id, message_id) {
(Some(chat_id), Some(user_id), Some(message_id)) => (chat_id, user_id, message_id), (Some(chat_id), Some(message_id)) => (chat_id, message_id),
_ => { _ => {
return match chat_id { return match chat_id {
Some(v) => match bot.send_message(v, "Повторите поиск сначала").send().await Some(v) => match bot.send_message(v, "Повторите поиск сначала").send().await

View File

@@ -4,7 +4,7 @@ use regex::Regex;
use strum_macros::EnumIter; use strum_macros::EnumIter;
use teloxide::{ use teloxide::{
prelude::*, prelude::*,
types::{InlineKeyboardButton, InlineKeyboardMarkup}, types::{InlineKeyboardButton, InlineKeyboardMarkup}, dispatching::dialogue::GetChatId,
}; };
use crate::bots::{ use crate::bots::{
@@ -115,18 +115,14 @@ where
T: Format + Clone, T: Format + Clone,
Fut: std::future::Future<Output = Result<Page<T>, Box<dyn std::error::Error + Send + Sync>>>, Fut: std::future::Future<Output = Result<Page<T>, Box<dyn std::error::Error + Send + Sync>>>,
{ {
let chat_id = cq.message.as_ref().map(|message| message.chat.id); let chat_id = cq.chat_id();
let user_id = cq let user_id = cq.from.id;
.message
.as_ref()
.map(|message| message.from().map(|from| from.id))
.unwrap_or(None);
let message_id = cq.message.as_ref().map(|message| message.id); let message_id = cq.message.as_ref().map(|message| message.id);
let query = get_query(cq); let query = get_query(cq);
let (chat_id, user_id, query, message_id) = match (chat_id, user_id, query, message_id) { let (chat_id, query, message_id) = match (chat_id, query, message_id) {
(Some(chat_id), Some(user_id), Some(query), Some(message_id)) => { (Some(chat_id), Some(query), Some(message_id)) => {
(chat_id, user_id, query, message_id) (chat_id, query, message_id)
} }
_ => { _ => {
return match chat_id { return match chat_id {

View File

@@ -126,10 +126,7 @@ async fn settings_callback_handler(
None => return Ok(()), // TODO: alert None => return Ok(()), // TODO: alert
}; };
let user = match message.from() { let user = cq.from;
Some(v) => v,
None => return Ok(()), // TODO: alert
};
let allowed_langs = get_user_or_default_lang_codes(user.id).await; let allowed_langs = get_user_or_default_lang_codes(user.id).await;