Skip to content

tbot-rs/tbot

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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].

Minimum supported Rust version

tbot inherits tokio's MSRV policy: the last three minor versions are supported. Last time this paragraph was updated, the latest version was 1.53, therefore tbot's MSRV is 1.50. You can also look up it in our .gitlab-ci.yml, as it shows what version we're actually testing on.

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.

About

Make cool Telegram bots with Rust easily. Primary development happens on GitLab:

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages