4个版本
0.1.3 | 2019年4月24日 |
---|---|
0.1.2 | 2019年4月24日 |
0.1.1 | 2019年4月24日 |
0.1.0 | 2019年4月19日 |
#40 in #bot-api
160KB
4K SLoC
Telegrambot
一个针对Rust的Telegram机器人API。
用法
telegrambot = "0.1"
示例
一个简单示例。 (example/simple)
use futures::future::Future;
use telegrambot::api::SendMessage;
use telegrambot::TelegramBot;
fn main() {
let token = env::var("TELEGRAM_BOT_TOKEN").unwrap();
let cfg = Config::builder(token)
.proxy("http://127.0.0.1:1081")
.build()
.unwrap();
TelegramBot::new(cfg).unwrap()
.on_text(|(api, vtm)| {
let first_name = vtm.message.from.unwrap().first_name;
println!("<{}>: {}", first_name, vtm.text);
telegrambot::spawn(
api.send_message(&SendMessage::new(vtm.message.chat.id(),
format!("Hi, {}! You just wrote '{}'", first_name, vtm.text)))
.map(|_| {})
.map_err(|_| {})
);
})
.start()
.unwrap();
}
命令示例 (example/command.rs)
use futures::future::Future;
use telegrambot::api::SendMessage;
use telegrambot::TelegramBot;
fn main() {
let token = env::var("TELEGRAM_BOT_TOKEN").unwrap();
let cfg = Config::builder(token)
.proxy("http://127.0.0.1:1081")
.build()
.unwrap();
TelegramBot::new(cfg).unwrap()
.on_command("/list", |(api, vcm)| {
telegrambot::spawn(
api.send_message(&SendMessage::new(vcm.message.chat.id(),
format!("Call list command")))
.map(|_| {})
.map_err(|_| {})
);
})
.on_command("/page", |(api, vcm)| {
telegrambot::spawn(
api.send_message(&SendMessage::new(vcm.message.chat.id(),
format!("Call page command, and arguments for this command: {:?}", vcm.args)))
.map(|_| {})
.map_err(|_| {})
);
})
.start()
.unwrap();
}
支持参数分析。一些示例
-
/页面1 10
args: ["1", "10"]
-
/开始"只做这件事" 'from现在开始'
args: ["Just do it", "from now on"]
-
/运行'Just 做它'
args: ["Just do it"]
更多
更多示例请见 examples
其他
感谢telegram-rs/telegram-bot项目,Telegram是对telegram-rs/telegram-bot
的修改。
依赖项
~18–27MB
~482K SLoC