Now forming MessageIds only from &Message to reduce the amount of moving this large type

This commit is contained in:
2023-07-16 17:28:40 +03:00
parent e25460a3d8
commit 1225adefc2
13 changed files with 26 additions and 27 deletions

View File

@ -32,7 +32,7 @@ where
Some(text) => text.trim(),
None => {
let msg = bot.send_message(msg.chat.id, no_text_message).await?;
handler.previous = msg.into();
handler.previous = MessageIds::from(&msg);
return Ok(());
}
};
@ -46,7 +46,7 @@ where
}
if let Some(failure_message) = check(&bot, &msg, &db, text).await? {
handler.previous = failure_message.into();
handler.previous = MessageIds::from(&failure_message);
return Ok(());
}

View File

@ -47,7 +47,7 @@ pub async fn get_existing_name(
)
.reply_markup(account_markup(user_id, &db).await?)
.await?;
handler.previous = msg.into();
handler.previous = MessageIds::from(&msg);
return Ok(());
}
};
@ -61,7 +61,7 @@ pub async fn get_existing_name(
}
if let Some(failure_message) = check_name(&bot, &msg, &db, text, user_id).await? {
handler.previous = failure_message.into();
handler.previous = MessageIds::from(&failure_message);
return Ok(());
}

View File

@ -137,7 +137,7 @@ pub async fn get_user(
let msg = bot
.send_message(msg.chat.id, "You didn't send a file. Try again")
.await?;
handler.previous = msg.into();
handler.previous = MessageIds::from(&msg);
return Ok(());
}
};
@ -151,7 +151,7 @@ pub async fn get_user(
"Invalid file name. You need to send a json file. Try again",
)
.await?;
handler.previous = msg.into();
handler.previous = MessageIds::from(&msg);
return Ok(());
}
}
@ -170,14 +170,14 @@ pub async fn get_user(
Ok(Ok(user)) => user,
Ok(Err(error_text)) => {
let msg = bot.send_message(msg.chat.id, error_text).await?;
handler.previous = msg.into();
handler.previous = MessageIds::from(&msg);
return Ok(());
}
Err(_) => {
let msg = bot
.send_message(msg.chat.id, "Error parsing the json file. Try again")
.await?;
handler.previous = msg.into();
handler.previous = MessageIds::from(&msg);
return Ok(());
}
};

View File

@ -1,6 +1,6 @@
use crate::prelude::*;
use futures::future::BoxFuture;
use std::{borrow::Borrow, future::Future, sync::Arc};
use std::{future::Future, sync::Arc};
use teloxide::types::MessageId;
use tokio::sync::Mutex;
@ -14,10 +14,9 @@ impl MessageIds {
}
}
impl<T: Borrow<Message>> From<T> for MessageIds {
impl From<&Message> for MessageIds {
#[inline]
fn from(value: T) -> Self {
let value: &Message = value.borrow();
fn from(value: &Message) -> Self {
Self(value.chat.id, value.id)
}
}

View File

@ -17,7 +17,7 @@ pub use get_new_master_pass::get_new_master_pass;
pub use get_new_name::get_new_name;
pub use get_password::get_password;
pub use get_user::get_user;
pub use handler::{Handler, PackagedHandler};
pub use handler::{Handler, MessageIds, PackagedHandler};
use crate::prelude::*;
use teloxide::dispatching::dialogue::InMemStorage;