+1
crates/jetstream/src/repo.rs
+1
crates/jetstream/src/repo.rs
+6
-1
crates/jetstream/src/webhook/discord/mod.rs
+6
-1
crates/jetstream/src/webhook/discord/mod.rs
···
10
10
desc.push_str(&format!("\non *{}*", esc(&s.track.album)));
11
11
12
12
DiscordEmbed {
13
-
title: s.user.display_name.clone(),
13
+
title: String::new(),
14
14
url,
15
15
description: Some(desc),
16
16
timestamp: Some(s.played_at.clone()),
···
18
18
footer: Some(DiscordFooter {
19
19
text: format!("Rocksky • {}", s.user.handle.clone()),
20
20
}),
21
+
author: DiscordAuthor {
22
+
name: s.user.display_name.clone(),
23
+
url: format!("https://rocksky.app/profile/{}", s.user.handle),
24
+
icon_url: s.user.avatar_url.clone(),
25
+
},
21
26
}
22
27
}
23
28
+9
crates/jetstream/src/webhook/discord/model.rs
+9
crates/jetstream/src/webhook/discord/model.rs
···
22
22
pub did: String,
23
23
pub display_name: String,
24
24
pub handle: String,
25
+
pub avatar_url: String,
25
26
}
26
27
27
28
#[derive(Debug, Deserialize, Serialize, Clone)]
···
62
63
pub thumbnail: Option<DiscordThumb>,
63
64
#[serde(skip_serializing_if = "Option::is_none")]
64
65
pub footer: Option<DiscordFooter>,
66
+
pub author: DiscordAuthor,
67
+
}
68
+
69
+
#[derive(Debug, Serialize)]
70
+
pub struct DiscordAuthor {
71
+
pub name: String,
72
+
pub url: String,
73
+
pub icon_url: String,
65
74
}
66
75
67
76
#[derive(Debug, Serialize)]