twilight_model/channel/message/component/
file_upload.rs

1use serde::{Deserialize, Serialize};
2
3/// A component allowing uploading files in a modal.
4///
5/// File uploads are only available in modals and must be placed inside a label.
6#[derive(Clone, Debug, Eq, Hash, PartialEq, Deserialize, Serialize)]
7pub struct FileUpload {
8    /// Optional identifier for the component.
9    #[serde(skip_serializing_if = "Option::is_none")]
10    pub id: Option<i32>,
11    /// Developer defined identifier.
12    pub custom_id: String,
13    /// Maximum number of items that can be uploaded.
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub max_values: Option<u8>,
16    /// Minimum number of items that can be uploaded.
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub min_values: Option<u8>,
19    /// Whether files have to be uploaded.
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub required: Option<bool>,
22}