diff --git a/Cargo.toml b/Cargo.toml index cf1fc2e..2c64502 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dingtalk" -version = "0.2.1" +version = "0.3.0" authors = ["Hatter Jiang "] edition = "2018" description = "DingTalk Robot Util, Send text/markdown/link messages using DingTalk robot" diff --git a/README.md b/README.md index f3a0112..9c1eb30 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,8 @@ pub fn main() -> Result<(), Box> { #### Changelog +* v0.3.0 + * Add `FEEDCARD` message, send feed card message type * v0.2.1 * Add `Dingtalk::from_json`, read token from JSON string * v0.2.0 diff --git a/src/lib.rs b/src/lib.rs index 0602e22..547b9ac 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -104,6 +104,11 @@ impl <'a> DingTalkMessage<'a> { pub fn new_link(link_title: &'a str, link_text: &'a str, link_pic_url: &'a str, link_message_url: &'a str) -> Self { Self::new(DingTalkMessageType::LINK).link(link_title, link_text, link_pic_url, link_message_url) } + + // New feed card DingTalk message + pub fn new_feed_card() -> Self { + Self::new(DingTalkMessageType::FEEDCARD) + } /// New DingTalk message pub fn new(message_type: DingTalkMessageType) -> Self { @@ -135,6 +140,21 @@ impl <'a> DingTalkMessage<'a> { self } + /// Add feed card link + pub fn add_feed_card_link(mut self, link: DingTalkMessageFeedCardLink) -> Self { + self.feed_card_links.push(link); + self + } + + /// Add feed card link detail + pub fn add_feed_card_link_detail(self, title: &'a str, message_url: &'a str, pic_url: &'a str) -> Self { + self.add_feed_card_link(DingTalkMessageFeedCardLink { + title: title.to_owned(), + message_url: message_url.to_owned(), + pic_url: pic_url.to_owned(), + }) + } + /// At all pub fn at_all(mut self) -> Self { self.at_all = true;