telegram-bot 0.6.1

A library for creating Telegram bots
Documentation
extern crate futures;
extern crate telegram_bot;
extern crate tokio_core;

use std::env;

use futures::Stream;
use tokio_core::reactor::Core;
use telegram_bot::*;

fn process(api: Api, message: Message) {
    if let MessageKind::Text { ref data, .. } = message.kind {
        match data.as_str() {
            "/pin" => message.reply_to_message.map(|message| api.spawn(message.pin())).unwrap_or(()),
            "/unpin" => {
                api.spawn(message.chat.unpin_message())
            },
            _ => ()
        }
    }
}


fn main() {
    let token = env::var("TELEGRAM_BOT_TOKEN").unwrap();

    let mut core = Core::new().unwrap();

    let api = Api::configure(token).build(core.handle()).unwrap();

    let future = api.stream().for_each(|update| {
        if let UpdateKind::Message(message) = update.kind {
            process(api.clone(), message)
        }
        Ok(())
    });

    core.run(future).unwrap();
}