3个版本

使用旧的Rust 2015

0.1.32 2017年4月24日
0.1.31 2017年4月23日
0.1.2 2017年3月20日

#telegram-api 中排名 36

每月下载量 42

Apache-2.0

34KB
721 代码行

teleborg

一个基于特质系统的松散的Telegram机器人API。本项目灵感来源于 python-telegram-bot.

如何使用该项目

将以下内容添加到您的 Cargo.toml

[dependencies]
teleborg = "0.1.32"

现在在crates.io上,查看 https://crates.io/crates/teleborg。注意,此项目仅在Rust 1.16或更高版本上工作。

示例

在这里,我们将向您展示注册一个命令所需的最小内容,该命令在执行时发送硬编码的回复。

extern crate teleborg;
use teleborg::{Dispatcher, Bot, Updater};
use teleborg::objects::Update;

fn main() {
    // Make sure you have your token
    let bot_token = "bot_token".to_string();
    // Creating a dispatcher which registers all the command and message handlers
    let mut dispatcher = Dispatcher::new();
    // Registering our command which we create below in the form as a function
    dispatcher.add_command_handler("test", test, false);
    // Start the updater, the Updater will start the threads, one of which will poll for updates
    // and send those to the Dispatcher's thread which will act upon it with the registered handlers
    Updater::start(Some(bot_token), None, None, None, dispatcher);
}

// Our first command handler
fn test(bot: &Bot, update: Update, args: Option<Vec<&str>>) {
    bot.reply_to_message(&update, "It works!").unwrap();
}

目前我只支持send_message、reply_to_message和forward_message。更多功能即将到来。我建议不要在代码中放置您的令牌,如果将None作为teleborg::updater::Updater::Start()的第一个参数传递,它将自动搜索名为"TELEGRAM_BOT_TOKEN"的环境变量。只需确保将环境变量设置为您的机器人令牌即可。

依赖项

~8–16MB
~242K SLoC