0.2.2 |
|
---|---|
0.2.1 |
|
0.1.5 |
|
#6 in #ifttt
14KB
252 代码行
ifttt_webhook_rust
一个简单的库绑定到ifttt的ifttt的webhook API。有一个异步接口,可以在非阻塞功能中激活。还有一个时间延迟触发功能,可以在delay功能中延迟触发。
关于ifttt webhook的使用:例如,您可以调用一个网址(由ifttt提供),然后在您的手机上接收通知(可能包括您提供的数据*)。
*有时您可以在请求中设置一些JSON数据(最多三个字段),这取决于连接的服务webhook。
安装
-
在crates.io中查找
cargo add ifttt_webhook_rust
用法
阻塞API
代码
extern crate ifttt_webhook_rust
extern crate dotenv
use ifttt_webhook_rust::*
dotenv::dotenv().unwrap();
let event_name = dotenv::var("EVENT").unwrap();
let api_key = dotenv::var("KEY").unwrap();
let client = BlockingIftttWebHookClient::new(&api_key);
let res = client.trigger(&event_name, None);
assert!(res.is_ok())
非阻塞API
Cargo.toml
ifttt_webhook_rust={version=*,default-features= false,features=["non-blocking"]}
代码
extern crate ifttt_webhook_rust
extern crate dotenv
use ifttt_webhook_rust::*
dotenv::dotenv().unwrap();
let event_name = dotenv::var("EVENT").unwrap();
let api_key = dotenv::var("KEY").unwrap();
let data = WebHookData::new(Some("test_blocking1"), Some("test2"), None);
let client = NonBlockingIftttWebHookClient::new(&api_key);
let res = client.trigger(&event_name, data).await;
assert!(res.is_ok())
具有时间延迟的非阻塞API
Cargo.toml
ifttt_webhook_rust={version=*,default-features= false,features=["delay"]}
代码
extern crate ifttt_webhook_rust
extern crate dotenv
use ifttt_webhook_rust::*
dotenv::dotenv().unwrap();
let event_name = dotenv::var("EVENT").unwrap();
let api_key = dotenv::var("KEY").unwrap();
let client = NonBlockingIftttWebHookClient::new(&api_key);
let res_handler: DelayResultHandler =
client.trigger_with_delay(&event_name, None, std::time::Duration::from_secs(5));
///do something else
let res = res_handler.await;
assert!(res.is_ok())
依赖项
~0–15MB
~148K SLoC