#telegram-bot #bot #telegram #框架 #bot-api #api #

awesome-bot

一个构建 Telegram 机器人直至 telegram-bot 库的绝佳框架

2 个不稳定版本

使用旧的 Rust 2015

0.2.0 2018年7月18日
0.1.0 2015年9月2日

#43 in #bot-api

MIT OR Apache-2.0 OR 啤酒许可

48KB
869

Awesome Bot

Travis Crates.io

文档

一个易于构建您自己的 Telegram 机器人的框架。更多信息 这里。官方 API 这里

此框架基于 telegram-bot 库与 API 通信。

用法

此框架可在 crates.io 获取。只需将其添加到您的 Cargo.toml 依赖项中

[dependencies]
awesome-bot = "0.1.0"

示例

以下是一个简单示例(从 examples/simple.rs 下载)。

extern crate awesome_bot;

use awesome_bot::*;

fn echohandler(bot: &AwesomeBot, msg: &Message, _: String, args: Vec<String>) {
    // We can access safely because the pattern match have that argument mandatory
    let toecho = &args[1];
    let phrase = format!("Echoed: {}", toecho);
    // Send the text in a beauty way :)
    let sent = bot.answer(msg).text(&phrase).end();
    println!("{:?}", sent);
}

fn main() {
    // Create the Awesome Bot (You need TELEGRAM_BOT_TOKEN environment with the token)
    let mut bot = AwesomeBot::from_env("TELEGRAM_BOT_TOKEN");
    // Add a command, this will add the routing to that function.
    bot.command("echo (.+)", echohandler);

    // Start the bot with getUpdates
    let res = bot.simple_start();
    if let Err(e) = res {
        println!("An error occurred: {}", e);
    }
}

examples 文件夹中还有更多代码

  • examples/simple.rs:一个回声示例,非常简单。
  • examples/complete.rs:一个具有所有(我认为,可能不是所有,但几乎是所有)awesome-bot 功能的示例,这是一个很大的示例 ;-)

注意:要执行具有所有功能的 examples/complete.rs,您需要添加一些测试文件,这些文件将是机器人将发送的,这些文件应包括:files/test.{jpg, mp3, mp4, pdf, webp} 用于图片、音频/语音、视频、文档和贴纸

合作

欢迎所有帮助!打开问题、代码或文档的 PR、提出建议、告诉我我的 Rust 不好(为什么),你想要什么 :)

您可以通过 telegram 联系我。

许可

许可如下

任选其一。

贡献

除非你明确表示否则,你根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,将按上述方式三重许可,不附加任何额外条款或条件。

依赖项

~10MB
~224K SLoC