Struct telegram_bot_fork::Api
source · pub struct Api { /* private fields */ }
Expand description
Main type for sending requests to the Telegram bot API.
Implementations§
source§impl Api
impl Api
sourcepub fn configure<T: AsRef<str>>(token: T) -> Config
pub fn configure<T: AsRef<str>>(token: T) -> Config
Start construction of the Api
instance.
Examples
Using default connector.
use telegram_bot::Api;
let api = Api::configure(telegram_token).build().unwrap();
Using custom connector.
use telegram_bot::Api;
use telegram_bot::connector::hyper;
let api = Api::configure(telegram_token)
.connector(hyper::default_connector().unwrap())
.build().unwrap();
sourcepub fn stream(&self) -> UpdatesStream
pub fn stream(&self) -> UpdatesStream
Create a stream which produces updates from the Telegram server.
Examples
use futures::Stream;
let future = api.stream().for_each(|update| {
println!("{:?}", update);
Ok(())
});
sourcepub fn spawn<Req: Request>(&self, request: Req)
pub fn spawn<Req: Request>(&self, request: Req)
Send a request to the Telegram server and do not wait for a response.
Examples
let chat = ChatId::new(61031);
api.spawn(chat.text("Message"))
sourcepub fn send_timeout<Req: Request>(
&self,
request: Req,
duration: Duration
) -> TelegramFuture<Option<<Req::Response as ResponseType>::Type>>
pub fn send_timeout<Req: Request>(
&self,
request: Req,
duration: Duration
) -> TelegramFuture<Option<<Req::Response as ResponseType>::Type>>
Send a request to the Telegram server and wait for a response, timing out after duration
.
Future will resolve to None
if timeout fired.
Examples
use std::time::Duration;
let future = api.send_timeout(GetMe, Duration::from_secs(5));
future.and_then(|me| Ok(assert!(me.is_some())));
sourcepub fn send<Req: Request>(
&self,
request: Req
) -> TelegramFuture<<Req::Response as ResponseType>::Type>
pub fn send<Req: Request>(
&self,
request: Req
) -> TelegramFuture<<Req::Response as ResponseType>::Type>
Send a request to the Telegram server and wait for a response.
Examples
let future = api.send(GetMe);
future.and_then(|me| Ok(println!("{:?}", me)));