From 096bf4f45ae65b3a76453d3914bbd5862fe46ea5 Mon Sep 17 00:00:00 2001
From: Stephen <webmaster@scd31.com>
Date: Sat, 8 Oct 2022 11:18:47 -0300
Subject: [PATCH] support images

---
 src/handlers/starboard.rs | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/handlers/starboard.rs b/src/handlers/starboard.rs
index e19d077..d1316c8 100644
--- a/src/handlers/starboard.rs
+++ b/src/handlers/starboard.rs
@@ -94,6 +94,13 @@ impl StarboardHandler {
 					.await
 					.unwrap_or_else(|| msg.author.tag());
 
+				let image = msg
+					.attachments
+					.iter()
+					.filter(|a| a.width.is_some())
+					.map(|a| &a.url)
+					.next();
+
 				let repost = ChannelId(
 					gs.starboard_channel
 						.to_u64()
@@ -101,9 +108,20 @@ impl StarboardHandler {
 				)
 				.send_message(ctx, |m| {
 					m.embed(|e| {
-						e.description(format!("[Jump to source]({})\n{}", msg.link(), msg.content))
+						let mut e = e
+							.description(format!(
+								"[Jump to source]({})\n{}",
+								msg.link(),
+								msg.content
+							))
 							.author(|a| a.name(&name).icon_url(msg.author.face()))
-							.timestamp(&msg.timestamp)
+							.timestamp(&msg.timestamp);
+
+						if let Some(url) = image {
+							e = e.image(url);
+						}
+
+						e
 					})
 				})
 				.await?;
-- 
GitLab