From 2b77087aac2ba48cf76cb72118d5071162b78a77 Mon Sep 17 00:00:00 2001 From: Temirkhan Myrzamadi Date: Sun, 19 Jan 2020 19:45:48 +0600 Subject: [PATCH] Return examples/ping_pong_bot.rs back --- Cargo.toml | 2 +- examples/ping_pong_bot.rs | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 examples/ping_pong_bot.rs diff --git a/Cargo.toml b/Cargo.toml index d921bb1b..ec037e6c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ serde = { version = "1.0.101", features = ["derive"] } tokio = { version = "0.2.6", features = ["full"] } tokio-util = { version = "0.2.0", features = ["full"] } -reqwest = { version = "0.10", features = ["json", "stream"] } +reqwest = { version = "0.10", features = ["json", "stream", "native-tls-vendored"] } log = "0.4.8" bytes = "0.5.3" diff --git a/examples/ping_pong_bot.rs b/examples/ping_pong_bot.rs new file mode 100644 index 00000000..cfc4e4f7 --- /dev/null +++ b/examples/ping_pong_bot.rs @@ -0,0 +1,37 @@ +use futures::stream::StreamExt; +use teloxide::{ + dispatching::{ + chat::{ChatUpdate, ChatUpdateKind, Dispatcher}, + update_listeners::polling_default, + SessionState, + }, + requests::Request, + Bot, +}; + +#[tokio::main] +async fn main() { + let bot = &Bot::new("1061598315:AAErEDodTsrqD3UxA_EvFyEfXbKA6DT25G0"); + let mut updater = Box::pin(polling_default(bot)); + let handler = |s, upd: ChatUpdate| async move { + match upd.kind { + ChatUpdateKind::Message(m) => { + let msg = bot.send_message(m.chat.id, "pong"); + msg.send().await.unwrap(); + } + _ => {} + } + SessionState::Continue(s) + }; + let mut dp = Dispatcher::<'_, (), _>::new(handler); + println!("Starting the message handler."); + loop { + let u = updater.next().await.unwrap(); + match u { + Err(e) => eprintln!("Error: {}", e), + Ok(u) => { + let _ = dp.dispatch(u).await; + } + } + } +}