[][src]Crate tbot

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.