teloxide

A full-featured framework that empowers you to easily build [Telegram bots](https://telegram.org/blog/bot-revolution) using the [`async`/`.await`](https://rust-lang.github.io/async-book/01_getting_started/01_chapter.html) syntax in [Rust](https://www.rust-lang.org/). It handles all the difficult stuff so you can focus only on your business logic.
## Getting started 1. Create a new bot using [@Botfather](https://t.me/botfather) to get a token in the format `123456789:somemanyletters`. 2. Be sure that you are up to date: ```bash $ rustup update stable ``` 3. To create a new bot, execute `cargo new` and put the following lines into your `Cargo.toml`: ```toml [dependencies] teloxide = "0.1.0" ``` ## Writing your first bot Open `main.rs` file, because we're gonna write a ping-pong-bot! ```rust use teloxide::prelude::*; #[tokio::main] async fn main() { std::env::set_var("RUST_LOG", "ping_pong_bot=trace"); std::env::set_var("RUST_LOG", "teloxide=error"); pretty_env_logger::init(); log::info!("Starting the ping-pong bot!"); Dispatcher::::new(Bot::new("MyAwesomeToken")) .message_handler(&|ctx: DispatcherHandlerCtx| async move { ctx.answer("pong").send().await?; Ok(()) }) .dispatch() .await; } ```