Crate tbot

Source
Expand description

Make cool Telegram bots with Rust easily. Here is 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.

Re-exports§

pub use event_loop::EventLoop;
pub use hyper_proxy as proxy;

Modules§

contexts
Contexts for update handlers.
errors
Types representing errors.
event_loop
The event loop for handling bot updates.
markup
Utilities for working with markup.
methods
Structs for calling API methods.
predicates
Useful predicates and utilities for them.
prelude
Traits needed when working with tbot.
state
The stateful event loop and utilities for it.
types
Types for interacting with the API.
util
A few useful utilities.

Macros§

from_env
Constructs a new Bot, extracting the token from the environment at compile time.

Structs§

Bot
Provides methods to call the Bots API.