Now forming MessageIds only from &Message to reduce the amount of moving this large type
This commit is contained in:
parent
e25460a3d8
commit
1225adefc2
@ -43,7 +43,7 @@ async fn get_password(
|
|||||||
move |bot, msg, db, dialogue, master_pass| {
|
move |bot, msg, db, dialogue, master_pass| {
|
||||||
get_master_pass(bot, msg, db, dialogue, account, master_pass)
|
get_master_pass(bot, msg, db, dialogue, account, master_pass)
|
||||||
},
|
},
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -64,7 +64,7 @@ async fn get_login(
|
|||||||
move |bot, msg, db, dialogue, password| {
|
move |bot, msg, db, dialogue, password| {
|
||||||
get_password(bot, msg, db, dialogue, name, login, password)
|
get_password(bot, msg, db, dialogue, name, login, password)
|
||||||
},
|
},
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -82,7 +82,7 @@ async fn get_account_name(
|
|||||||
dialogue
|
dialogue
|
||||||
.update(State::GetLogin(Handler::new(
|
.update(State::GetLogin(Handler::new(
|
||||||
move |bot, msg, db, dialogue, login| get_login(bot, msg, db, dialogue, name, login),
|
move |bot, msg, db, dialogue, login| get_login(bot, msg, db, dialogue, name, login),
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -96,7 +96,7 @@ pub async fn add_account(
|
|||||||
) -> crate::Result<()> {
|
) -> crate::Result<()> {
|
||||||
let previous = bot.send_message(msg.chat.id, "Send account name").await?;
|
let previous = bot.send_message(msg.chat.id, "Send account name").await?;
|
||||||
dialogue
|
dialogue
|
||||||
.update(State::GetNewName(Handler::new(get_account_name, previous)))
|
.update(State::GetNewName(Handler::new(get_account_name, &previous)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ async fn get_account_name(
|
|||||||
dialogue
|
dialogue
|
||||||
.update(State::GetMasterPass(Handler::new(
|
.update(State::GetMasterPass(Handler::new(
|
||||||
move |bot, msg, db, dialogue, _| get_master_pass(bot, msg, db, dialogue, name),
|
move |bot, msg, db, dialogue, _| get_master_pass(bot, msg, db, dialogue, name),
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -60,7 +60,7 @@ pub async fn delete(
|
|||||||
dialogue
|
dialogue
|
||||||
.update(State::GetExistingName(Handler::new(
|
.update(State::GetExistingName(Handler::new(
|
||||||
get_account_name,
|
get_account_name,
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -40,7 +40,7 @@ pub async fn delete_all(
|
|||||||
dialogue
|
dialogue
|
||||||
.update(State::GetMasterPass(Handler::new(
|
.update(State::GetMasterPass(Handler::new(
|
||||||
get_master_pass,
|
get_master_pass,
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -61,7 +61,7 @@ pub async fn export(bot: Throttle<Bot>, msg: Message, dialogue: MainDialogue) ->
|
|||||||
dialogue
|
dialogue
|
||||||
.update(State::GetMasterPass(Handler::new(
|
.update(State::GetMasterPass(Handler::new(
|
||||||
get_master_pass,
|
get_master_pass,
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -47,7 +47,7 @@ async fn get_account_name(
|
|||||||
move |bot, msg, db, dialogue, master_pass| {
|
move |bot, msg, db, dialogue, master_pass| {
|
||||||
get_master_pass(bot, msg, db, dialogue, name, master_pass)
|
get_master_pass(bot, msg, db, dialogue, name, master_pass)
|
||||||
},
|
},
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -75,7 +75,7 @@ pub async fn get_account(
|
|||||||
dialogue
|
dialogue
|
||||||
.update(State::GetExistingName(Handler::new(
|
.update(State::GetExistingName(Handler::new(
|
||||||
get_account_name,
|
get_account_name,
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -79,7 +79,7 @@ async fn get_document(
|
|||||||
move |bot, msg, db, dialogue, master_pass| {
|
move |bot, msg, db, dialogue, master_pass| {
|
||||||
get_master_pass(bot, msg, db, dialogue, master_pass, user)
|
get_master_pass(bot, msg, db, dialogue, master_pass, user)
|
||||||
},
|
},
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -94,7 +94,7 @@ pub async fn import(bot: Throttle<Bot>, msg: Message, dialogue: MainDialogue) ->
|
|||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
dialogue
|
dialogue
|
||||||
.update(State::GetUser(Handler::new(get_document, previous)))
|
.update(State::GetUser(Handler::new(get_document, &previous)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@ pub async fn set_master_pass(
|
|||||||
dialogue
|
dialogue
|
||||||
.update(State::GetNewMasterPass(Handler::new(
|
.update(State::GetNewMasterPass(Handler::new(
|
||||||
get_master_pass,
|
get_master_pass,
|
||||||
previous,
|
&previous,
|
||||||
)))
|
)))
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -4,7 +4,7 @@ pub(crate) use crate::{
|
|||||||
markups::*,
|
markups::*,
|
||||||
models::*,
|
models::*,
|
||||||
state::State,
|
state::State,
|
||||||
state::{Handler, MainDialogue, PackagedHandler},
|
state::{Handler, MainDialogue, MessageIds, PackagedHandler},
|
||||||
utils::*,
|
utils::*,
|
||||||
};
|
};
|
||||||
pub(crate) use cryptography::prelude::*;
|
pub(crate) use cryptography::prelude::*;
|
||||||
|
@ -32,7 +32,7 @@ where
|
|||||||
Some(text) => text.trim(),
|
Some(text) => text.trim(),
|
||||||
None => {
|
None => {
|
||||||
let msg = bot.send_message(msg.chat.id, no_text_message).await?;
|
let msg = bot.send_message(msg.chat.id, no_text_message).await?;
|
||||||
handler.previous = msg.into();
|
handler.previous = MessageIds::from(&msg);
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -46,7 +46,7 @@ where
|
|||||||
}
|
}
|
||||||
|
|
||||||
if let Some(failure_message) = check(&bot, &msg, &db, text).await? {
|
if let Some(failure_message) = check(&bot, &msg, &db, text).await? {
|
||||||
handler.previous = failure_message.into();
|
handler.previous = MessageIds::from(&failure_message);
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ pub async fn get_existing_name(
|
|||||||
)
|
)
|
||||||
.reply_markup(account_markup(user_id, &db).await?)
|
.reply_markup(account_markup(user_id, &db).await?)
|
||||||
.await?;
|
.await?;
|
||||||
handler.previous = msg.into();
|
handler.previous = MessageIds::from(&msg);
|
||||||
return Ok(());
|
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? {
|
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(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ pub async fn get_user(
|
|||||||
let msg = bot
|
let msg = bot
|
||||||
.send_message(msg.chat.id, "You didn't send a file. Try again")
|
.send_message(msg.chat.id, "You didn't send a file. Try again")
|
||||||
.await?;
|
.await?;
|
||||||
handler.previous = msg.into();
|
handler.previous = MessageIds::from(&msg);
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -151,7 +151,7 @@ pub async fn get_user(
|
|||||||
"Invalid file name. You need to send a json file. Try again",
|
"Invalid file name. You need to send a json file. Try again",
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
handler.previous = msg.into();
|
handler.previous = MessageIds::from(&msg);
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -170,14 +170,14 @@ pub async fn get_user(
|
|||||||
Ok(Ok(user)) => user,
|
Ok(Ok(user)) => user,
|
||||||
Ok(Err(error_text)) => {
|
Ok(Err(error_text)) => {
|
||||||
let msg = bot.send_message(msg.chat.id, error_text).await?;
|
let msg = bot.send_message(msg.chat.id, error_text).await?;
|
||||||
handler.previous = msg.into();
|
handler.previous = MessageIds::from(&msg);
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
let msg = bot
|
let msg = bot
|
||||||
.send_message(msg.chat.id, "Error parsing the json file. Try again")
|
.send_message(msg.chat.id, "Error parsing the json file. Try again")
|
||||||
.await?;
|
.await?;
|
||||||
handler.previous = msg.into();
|
handler.previous = MessageIds::from(&msg);
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use futures::future::BoxFuture;
|
use futures::future::BoxFuture;
|
||||||
use std::{borrow::Borrow, future::Future, sync::Arc};
|
use std::{future::Future, sync::Arc};
|
||||||
use teloxide::types::MessageId;
|
use teloxide::types::MessageId;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
||||||
@ -14,10 +14,9 @@ impl MessageIds {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T: Borrow<Message>> From<T> for MessageIds {
|
impl From<&Message> for MessageIds {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn from(value: T) -> Self {
|
fn from(value: &Message) -> Self {
|
||||||
let value: &Message = value.borrow();
|
|
||||||
Self(value.chat.id, value.id)
|
Self(value.chat.id, value.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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_new_name::get_new_name;
|
||||||
pub use get_password::get_password;
|
pub use get_password::get_password;
|
||||||
pub use get_user::get_user;
|
pub use get_user::get_user;
|
||||||
pub use handler::{Handler, PackagedHandler};
|
pub use handler::{Handler, MessageIds, PackagedHandler};
|
||||||
|
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use teloxide::dispatching::dialogue::InMemStorage;
|
use teloxide::dispatching::dialogue::InMemStorage;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user