telegram_bots_api/api/structs/
input_media_audio.rs

1use crate::api::enums::file_input::FileInput;
2use crate::api::structs::message_entity::MessageEntity;
3use serde::{Deserialize, Serialize};
4
5/// <https://core.telegram.org/bots/api#inputmediaaudio>
6/// Represents an audio file to be treated as music to be sent.
7#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)]
8pub struct InputMediaAudio {
9    #[serde(rename(serialize = "type", deserialize = "type"))]
10    pub kind: String,
11    pub media: String,
12    #[serde(skip_serializing_if = "Option::is_none")]
13    pub thumbnail: Option<FileInput>,
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub caption: Option<String>,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub parse_mode: Option<String>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub caption_entities: Option<Vec<MessageEntity>>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub duration: Option<i64>,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub performer: Option<String>,
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub title: Option<String>,
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub show_caption_above_media: Option<bool>,
28}