Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use teloxide::{prelude::*, update_listeners::webhooks};
- use teloxide_core::adaptors::trace::{Settings, Trace};
- pub type MyBot = Trace<Bot>;
- #[tokio::main]
- async fn main() {
- pretty_env_logger::init();
- log::info!("Starting bot...");
- let bot = Bot::new("ENTER_BOT").trace(Settings::TRACE_REQUESTS_VERBOSE);
- let token: String = "ENTER_TOKEN".to_string();
- let addr = ([127, 0, 0, 1], 8081).into();
- let url = "ENTER_URL".parse().unwrap();
- let options = webhooks::Options::new(addr, url).secret_token(token);
- let listener = webhooks::axum(bot.clone(), options)
- .await
- .expect("Couldn't setup webhook");
- Dispatcher::builder(
- bot,
- dptree::entry().branch(Update::filter_message().endpoint(handle_message)),
- )
- .default_handler(|upd| async move {
- log::warn!("Unhandled update: {:?}", upd);
- })
- .enable_ctrlc_handler()
- .build()
- .dispatch_with_listener(
- listener,
- LoggingErrorHandler::with_custom_text("An error has occurred in the dispatcher"),
- )
- .await;
- }
- pub async fn handle_message(bot: MyBot, m: Message) -> ResponseResult<()> {
- println!("{m:#?}");
- Ok(())
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement