teloxide/README.md
Temirkhan Myrzamadi 8f1c3d4f4e
Update README.md
2020-02-12 16:17:20 +06:00

1.9 KiB

WARNING: this library is still in active development under v0.1.0, use it at your own risk!

teloxide

A full-featured framework that empowers you to easily build Telegram bots using the async/.await syntax in Rust. It handles all the difficult stuff so you can focus only on your business logic.

Getting started

  1. Be sure that you are up to date:
$ rustup update stable
  1. To create a new bot, execute cargo new and put the following lines into your Cargo.toml:
[dependencies]
teloxide = "0.1.0"

Writing your first bot

First, create a new bot using @botfather, and after that you'll get a token in format 123456789:somemanyletters.

Next, open main.rs file, because we're gonna write a ping-pong-bot!

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::<RequestError>::new(Bot::new("MyAwesomeToken"))
        .message_handler(&|ctx: DispatcherHandlerCtx<Message>| async move {
            ctx.answer("pong").send().await?;
            Ok(())
        })
        .dispatch()
        .await;
}