fewensa / rtdlib

TDLib for rust
MIT License
46 stars 9 forks source link

rtdlib

Build Status

rtdlib is td for rust.

rtdlib crate have td type (classes).

Usage

[dependencies]
rtdlib = "1.8.*"

The default, rtdlib only have td types, not have call tdjson dylib, if you want , you need add features to your dependency.

[dependencies]
rtdlib = { version = "1.8.*", features = "sys" }

version

Please read: version

Example

types

let json = r#"{"@type":"updateAuthorizationState","authorization_state":{"@type":"authorizationStateWaitTdlibParameters"}}"#;
let state: UpdateAuthorizationState = serde_json::from_str(&json[..]).expect("Json fail");
assert_eq!("updateAuthorizationState", state.td_name());
let rjson = state.to_json();
assert!(rjson.is_ok(), true);
assert_eq!(json, rjson.unwrap());

tdjson

If you enable sys features, you can use Tdlib to call tdjson dylib.

use rtdlib::Tdlib;
let tdlib = Tdlib::new();
let request = r#"{"@type": "getMe"}"#;
tdlib.send(request);

td

More document you need check telegram api