diff --git a/Cargo.toml b/Cargo.toml index c51c012..15af845 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "dingtalk" -version = "1.0.0" +version = "1.0.1" authors = ["Hatter Jiang "] edition = "2018" -description = "DingTalk Robot Util, Send text/markdown/link messages using DingTalk robot" -keywords = ["DingTalk", "Robot", "Message"] +description = "DingTalk Robot Util, Send text/markdown/link messages using DingTalk robot, 钉钉机器人" +keywords = ["DingTalk", "Robot", "Message", "钉钉", "机器人"] readme = "README.md" repository = "https://git.hatter.ink/hatter/dingtalk" license = "MIT" diff --git a/README.md b/README.md index a68bb39..fedfe96 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,65 @@ pub fn main() -> Result<(), Box> { } ``` +Sample, send markdown message: +```rust +dt.send_markdown("markdown title 001", r#"# markdown content 001 +* line 0 +* line 1 +* line 2"#)?; +``` + +Sample, send link message: +```rust +dt.send_link("link title 001", "link content 001", "https://hatter.ink/favicon.png", "https://hatter.ink/")?; +``` + +Sample, send feed card message: +```rust +dt.send_message(&DingTalkMessage::new_feed_card() + .add_feed_card_link(DingTalkMessageFeedCardLink{ + title: "test feed card title 001".into(), + message_url: "https://hatter.ink/".into(), + pic_url: "https://hatter.ink/favicon.png".into(), + }) + .add_feed_card_link(DingTalkMessageFeedCardLink{ + title: "test feed card title 002".into(), + message_url: "https://hatter.ink/".into(), + pic_url: "https://hatter.ink/favicon.png".into(), + }) +)?; +``` + +Sample, send action card message(single btn): +```rust +dt.send_message(&DingTalkMessage::new_action_card("action card 001", "action card text 001") + .set_action_card_signle_btn(DingTalkMessageActionCardBtn{ + title: "test signle btn title".into(), + action_url: "https://hatter.ink/".into(), + }) +)?; +``` + +Sample, send action card message(multi btns): +```rust +dt.send_message(&DingTalkMessage::new_action_card("action card 002", "action card text 002") + .add_action_card_btn(DingTalkMessageActionCardBtn{ + title: "test signle btn title 01".into(), + action_url: "https://hatter.ink/".into(), + }) + .add_action_card_btn(DingTalkMessageActionCardBtn{ + title: "test signle btn title 02".into(), + action_url: "https://hatter.ink/".into(), + }) +)?; +``` + #### Changelog +* v1.0.1 + * change two fn names + * Add readme sample codes * v1.0.0 * `TEXT` -> `Text` ..., change enum caps * Add `ActionCard` message, send action card message type diff --git a/src/lib.rs b/src/lib.rs index e6da387..ece24df 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -232,13 +232,13 @@ impl <'a> DingTalkMessage<'a> { } /// Set action card single btn - pub fn action_card_signle_btn(mut self, btn: DingTalkMessageActionCardBtn) -> Self { + pub fn set_action_card_signle_btn(mut self, btn: DingTalkMessageActionCardBtn) -> Self { self.action_card_single_btn = Some(btn); self } /// Add action card btn - pub fn action_card_add_btn(mut self, btn: DingTalkMessageActionCardBtn) -> Self { + pub fn add_action_card_btn(mut self, btn: DingTalkMessageActionCardBtn) -> Self { self.action_card_btns.push(btn); self } @@ -490,3 +490,53 @@ fn calc_hmac_sha256(key: &[u8], message: &[u8]) -> MacResult { hmac.input(message); hmac.result() } + +#[test] +fn run_all_tests() { + _test_send().unwrap(); +} + +fn _test_send() -> XResult<()> { + let dt = DingTalk::from_file("~/.dingtalk-token.json")?; + dt.send_text("test message 001 ---------------------")?; + + dt.send_markdown("markdown title 001", r#"# markdown content 001 +* line 0 +* line 1 +* line 2"#)?; + + dt.send_link("link title 001", "link content 001", "https://hatter.ink/favicon.png", "https://hatter.ink/")?; + + dt.send_message(&DingTalkMessage::new_feed_card() + .add_feed_card_link(DingTalkMessageFeedCardLink{ + title: "test feed card title 001".into(), + message_url: "https://hatter.ink/".into(), + pic_url: "https://hatter.ink/favicon.png".into(), + }) + .add_feed_card_link(DingTalkMessageFeedCardLink{ + title: "test feed card title 002".into(), + message_url: "https://hatter.ink/".into(), + pic_url: "https://hatter.ink/favicon.png".into(), + }) + )?; + + dt.send_message(&DingTalkMessage::new_action_card("action card 001", "action card text 001") + .set_action_card_signle_btn(DingTalkMessageActionCardBtn{ + title: "test signle btn title".into(), + action_url: "https://hatter.ink/".into(), + }) + )?; + + dt.send_message(&DingTalkMessage::new_action_card("action card 002", "action card text 002") + .add_action_card_btn(DingTalkMessageActionCardBtn{ + title: "test signle btn title 01".into(), + action_url: "https://hatter.ink/".into(), + }) + .add_action_card_btn(DingTalkMessageActionCardBtn{ + title: "test signle btn title 02".into(), + action_url: "https://hatter.ink/".into(), + }) + )?; + + Ok(()) +}