twilight_model/channel/message/component/
file_display.rs

1use serde::{Deserialize, Serialize};
2
3use super::unfurled_media::UnfurledMediaItem;
4
5/// A component displaying an uploaded file as an attachment.
6///
7/// Files are only available in messages.
8#[derive(Clone, Debug, Eq, Hash, PartialEq, Deserialize, Serialize)]
9pub struct FileDisplay {
10    /// Optional identifier for the file.
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub id: Option<i32>,
13    /// This unfurled media item is unique in that it only supports attachment
14    /// references using the `attachment://<filename>` syntax.
15    pub file: UnfurledMediaItem,
16    /// Whether the media should be a spoiler (or blurred out). Defaults to `false`.
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub spoiler: Option<bool>,
19}