1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
//! # Write a telegram bot in Rust //! //! This library allows you to write a Telegram Bot in Rust. It's an almost complete wrapper for the Telegram Bot API and uses hyper to send a request to the Telegram server. Each Telegram function call returns a future and carries the actual bot and the answer. //! You can find all available functions in src/functions.rs. The crate telebot-derive implements all //! required getter, setter and send functions automatically. //! //! # Example usage //! //! ``` //! use telebot::Bot; //! use futures::stream::Stream; //! use std::env; //! //! // import all available functions //! use telebot::functions::*; //! //! fn main() { //! // Create the bot //! let mut bot = Bot::new(&env::var("TELEGRAM_BOT_KEY").unwrap()).update_interval(200); //! //! // Register a reply command which answers a message //! let handle = bot.new_cmd("/reply") //! .and_then(|(bot, msg)| { //! let mut text = msg.text.unwrap().clone(); //! if text.is_empty() { //! text = "<empty>".into(); //! } //! //! bot.message(msg.chat.id, text).send() //! }) //! .for_each(|_| Ok(())); //! //! bot.run_with(handle); //! } //! ``` #![allow(bare_trait_objects)] #![allow(unused_attributes)] #[macro_use] extern crate telebot_derive; #[macro_use] extern crate log; extern crate hyper_multipart_rfc7578 as hyper_multipart; #[macro_use] extern crate serde; extern crate tokio; pub use bot::Bot; pub use error::Error; pub use file::File; pub mod bot; pub mod error; pub mod objects; pub mod functions; pub mod file;