1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
4#[serde(tag = "type")] pub enum Embed {
6 Website(WebsiteEmbed),
8 Image(ImageEmbed),
10 Video(VideoEmbed),
12 Text(WebsiteEmbed),
14 None,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
19pub struct WebsiteEmbed {
20 pub url: Option<String>,
21 pub title: Option<String>,
22 pub description: Option<String>,
23 pub icon_url: Option<String>,
24 pub colour: Option<String>,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
28pub struct ImageEmbed {
29 pub url: String,
30 pub width: usize,
31 pub height: usize,
32 pub size: String, }
34
35#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
36pub struct VideoEmbed {
37 pub url: String,
38 pub width: usize,
39 pub height: usize,
40}