[][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 bot::Bot;
pub use event_loop::EventLoop;

Modules

bot

The Bot struct, and other types used to construct it.

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.

proxy

A module for working with proxy.

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.