telegram_bots_api/api/params/
send_voice.rs

1use crate::api::enums::chat_uid::ChatUId;
2use crate::api::enums::file_input::FileInput;
3use crate::api::enums::reply_markup::ReplyMarkup;
4use crate::api::structs::message_entity::MessageEntity;
5use crate::api::structs::reply_parameters::ReplyParameters;
6use serde::Serialize;
7
8/// <https://core.telegram.org/bots/api#sendvoice>
9/// Use this method to send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .OGG file encoded with OPUS (other formats may be sent as Audio or Document). On success, the sent Message is returned. Bots can currently send voice messages of up to 50 MB in size, this limit may be changed in the future.
10#[derive(Debug, Serialize, Default)]
11pub struct SendVoice {
12    pub chat_id: ChatUId,
13    pub voice: FileInput,
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub message_thread_id: Option<i64>,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub caption: Option<String>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub parse_mode: Option<String>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub caption_entities: Option<Vec<MessageEntity>>,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub duration: Option<i64>,
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub disable_notification: Option<bool>,
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub protect_content: Option<bool>,
28    #[serde(skip_serializing_if = "Option::is_none")]
29    pub reply_parameters: Option<ReplyParameters>,
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub reply_markup: Option<ReplyMarkup>,
32    #[serde(skip_serializing_if = "Option::is_none")]
33    pub business_connection_id: Option<String>,
34    #[serde(skip_serializing_if = "Option::is_none")]
35    pub message_effect_id: Option<String>,
36}