2个版本

0.1.1 2022年9月18日
0.1.0 2022年9月17日

#244 in #api-wrapper

MIT 许可证

10KB
74

ntfy-api

此库包含对ntfy API的异步Rust绑定。它使用reqwest作为HTTP客户端。

实现的功能

  • 以JSON形式发布
  • 直接发布到主题
  • 文件附件
  • Websockets

用法

Cargo.toml:

[dependencies]
tokio = { version = "1", features = ["full"] }
ntfy-api = "^0.1.1"
use ntfy_api::{NtfyApi, NtfyMsg};

#[tokio::main]
async fn main() {
   let api = NtfyApi::default();
   let ntfy_msg = NtfyMsg {
       topic: String::from("alerts"),
       message: Some(String::from("Message body")),
       title: Some(String::from("New Message")),
       tags: None,
       priority: None,
       attach: None,
       filename: None,
       click: None,
       action: None,
   };
   match api.post(&ntfy_msg).await {
       Ok(_) => println!("Message sent"),
       Err(_) => println!("Error sending message"),
   }
}

配置

let api = NtfyApi::new(NtfySettings {
   host: String::from("https://ntfysh/"),
   authorization: Some(NtfyAuthorization {
       username: String::from("username"),
       password: String::from("password"),
   }),
});

依赖

~3–16MB
~232K SLoC