From 2e1eb4c35b488ac68a33e76502d0c8f56a72c4b6 Mon Sep 17 00:00:00 2001 From: Andrej Date: Fri, 2 Feb 2018 13:30:25 +0100 Subject: Add video url specifier for CreateEmbed (#269) --- src/builder/create_embed.rs | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/builder/create_embed.rs') diff --git a/src/builder/create_embed.rs b/src/builder/create_embed.rs index f420a8c..24a7513 100644 --- a/src/builder/create_embed.rs +++ b/src/builder/create_embed.rs @@ -164,26 +164,29 @@ impl CreateEmbed { CreateEmbed(self.0) } - /// Set the image associated with the embed. This only supports HTTP(S). - pub fn image(mut self, url: &str) -> Self { - let image = json!({ + fn url_object(mut self, name: &'static str, url: &str) -> Self { + let obj = json!({ "url": url.to_string() }); - self.0.insert("image", image); + self.0.insert(name, obj); CreateEmbed(self.0) } - /// Set the thumbnail of the embed. This only supports HTTP(S). - pub fn thumbnail(mut self, url: &str) -> Self { - let thumbnail = json!({ - "url": url.to_string(), - }); + /// Set the image associated with the embed. This only supports HTTP(S). + pub fn image(self, url: &str) -> Self { + self.url_object("image", url) + } - self.0.insert("thumbnail", thumbnail); + /// Set the video associated with the embed. This only supports HTTP(S). + pub fn video(self, url: &str) -> Self { + self.url_object("video", url) + } - CreateEmbed(self.0) + /// Set the thumbnail of the embed. This only supports HTTP(S). + pub fn thumbnail(self, url: &str) -> Self { + self.url_object("thumbnail", url) } /// Set the timestamp. -- cgit v1.2.3