pass_manager/src/handlers/state/get_document.rs

19 lines
541 B
Rust

use crate::{
errors::HandlerUsed,
handlers::{utils::delete_optional, MainDialogue, PackagedHandler},
};
use sea_orm::prelude::*;
use teloxide::{adaptors::Throttle, prelude::*};
pub async fn get_document(
bot: Throttle<Bot>,
msg: Message,
db: DatabaseConnection,
dialogue: MainDialogue,
next: PackagedHandler<()>,
) -> crate::Result<()> {
let handler = next.lock().await.take().ok_or(HandlerUsed)?;
delete_optional(&bot, &handler.previous).await;
(handler.handler)(bot, msg, db, dialogue, ()).await
}