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 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

View File

@@ -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<Output = Result<Page<T>, Box<dyn std::error::Error + Send + Sync>>>,
{
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 {

View File

@@ -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;