middlewares/
middlewares.rs1use teloxide::prelude::*;
2
3type HandlerResult = Result<(), teloxide::RequestError>;
4
5#[tokio::main]
6async fn main() {
7 pretty_env_logger::init();
8 log::info!("Starting middlewares bot...");
9
10 let bot = Bot::from_env();
11
12 let handler = Update::filter_message()
13 .inspect(|msg: Message| println!("Before (message #{}).", msg.id))
15 .map_async(my_endpoint)
17 .inspect(|msg: Message| {
19 println!("After (message #{}).", msg.id);
20 })
21 .endpoint(|result: HandlerResult| async move {
23 result
26 });
27
28 Dispatcher::builder(bot, handler).enable_ctrlc_handler().build().dispatch().await;
29}
30
31async fn my_endpoint(bot: Bot, msg: Message) -> HandlerResult {
32 bot.send_message(msg.chat.id, "Inside the endpoint.").await?;
33 Ok(())
34}