[][src]Struct telegram_bot::Api

pub struct Api { /* fields omitted */ }

Main type for sending requests to the Telegram bot API.

Methods

impl Api[src]

pub fn configure<T: AsRef<str>>(token: T) -> Config[src]

Start construction of the Api instance.

Examples

Using default connector.

use telegram_bot::Api;
use tokio_core::reactor::Core;

let core = Core::new().unwrap();
let api = Api::configure(telegram_token).build(core.handle()).unwrap();

Using custom connector.

use telegram_bot::Api;
use telegram_bot::connector::hyper;
use tokio_core::reactor::Core;

let core = Core::new().unwrap();
let api = Api::configure(telegram_token)
    .connector(hyper::default_connector().unwrap())
    .build(core.handle()).unwrap();

pub fn stream(&self) -> UpdatesStream[src]

Create a stream which produces updates from the Telegram server.

Examples

use futures::Stream;

let future = api.stream().for_each(|update| {
    println!("{:?}", update);
    Ok(())
});

pub fn spawn<Req: Request>(&self, request: Req)[src]

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"))

pub fn send_timeout<Req: Request>(
    &self,
    request: Req,
    duration: Duration
) -> TelegramFuture<Option<<Req::Response as ResponseType>::Type>>
[src]

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())));

pub fn send<Req: Request>(
    &self,
    request: Req
) -> TelegramFuture<<Req::Response as ResponseType>::Type>
[src]

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)));

Trait Implementations

impl Clone for Api[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl Unpin for Api

impl !Sync for Api

impl !Send for Api

impl !RefUnwindSafe for Api

impl !UnwindSafe for Api

Blanket Implementations

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T