Advertisement
unkface

Untitled

Dec 26th, 2023 (edited)
1,167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 1.20 KB | None | 0 0
  1. use teloxide::{prelude::*, update_listeners::webhooks};
  2.  
  3. use teloxide_core::adaptors::trace::{Settings, Trace};
  4.  
  5. pub type MyBot = Trace<Bot>;
  6.  
  7. #[tokio::main]
  8. async fn main() {
  9.     pretty_env_logger::init();
  10.  
  11.     log::info!("Starting bot...");
  12.  
  13.     let bot = Bot::new("ENTER_BOT").trace(Settings::TRACE_REQUESTS_VERBOSE);
  14.  
  15.     let token: String = "ENTER_TOKEN".to_string();
  16.     let addr = ([127, 0, 0, 1], 8081).into();
  17.     let url = "ENTER_URL".parse().unwrap();
  18.  
  19.     let options = webhooks::Options::new(addr, url).secret_token(token);
  20.     let listener = webhooks::axum(bot.clone(), options)
  21.         .await
  22.         .expect("Couldn't setup webhook");
  23.  
  24.     Dispatcher::builder(
  25.         bot,
  26.         dptree::entry().branch(Update::filter_message().endpoint(handle_message)),
  27.     )
  28.     .default_handler(|upd| async move {
  29.         log::warn!("Unhandled update: {:?}", upd);
  30.     })
  31.     .enable_ctrlc_handler()
  32.     .build()
  33.     .dispatch_with_listener(
  34.         listener,
  35.         LoggingErrorHandler::with_custom_text("An error has occurred in the dispatcher"),
  36.     )
  37.     .await;
  38. }
  39.  
  40. pub async fn handle_message(bot: MyBot, m: Message) -> ResponseResult<()> {
  41.     println!("{m:#?}");
  42.     Ok(())
  43. }
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement