tbot

Crates.iotbot
lib.rstbot
version0.6.7
sourcesrc
created_at2019-07-01 08:44:50.899747
updated_at2020-11-03 13:16:08.535751
descriptionMake cool Telegram bots with Rust easily.
homepage
repositoryhttps://gitlab.com/SnejUgal/tbot
max_upload_size
id145109
size1,780,247
Artem Starikov (SnejUgal)

documentation

README

tbot

Make cool Telegram bots with Rust easily. For example, here's a simple echo bot:

use tbot::prelude::*;

#[tokio::main]
async fn main() {
    let mut bot = tbot::from_env!("BOT_TOKEN").event_loop();

    bot.text(|context| async move {
        let echo = &context.text.value;
        let call_result = context.send_message(echo).call().await;

        if let Err(err) = call_result {
            dbg!(err);
        }
    });

    bot.polling().start().await.unwrap();
}

There are many examples to see tbot in action. If you want to see real-world use of tbot, check out this list.

If you're a newcomer, we recommend you go through the tutorial first. We also have several How-to guides to help you use tbot. You can always refer to our API docs on docs.rs (also, docs for master are available here).

If you have a question, ask it in our group on Telegram. If you find a bug, file an issue on either our GitLab or GitHub repository.

Features

  • Full Telegram Bot API 4.9 support, as well as media download/upload, polling and webhooks;
  • async/.await support, built upon tokio;
  • Type-safe and idiomatic API;
  • Easy to use, while scalable and configurable.

Installation

Add tbot and tokio to your Cargo.toml:

[dependencies]
tbot = "0.6"
tokio = { version = "0.2", features = ["macros"] }

tokio is required to start the runtime. You'll also need the macros feature of tokio if you're going to start the runtime using #[tokio::main].

Contribution

Glad you want to contribute to tbot! We develop the crate on GitLab, so create your merge request there if you can. We may accept pull requests on GitHub as well, but we prefer GitLab.

Commit count: 1631

cargo fmt