telegram_bots_api/api/structs/
inline_query_result_voice.rs

1use crate::api::enums::input_message_content::InputMessageContent;
2use crate::api::structs::inline_keyboard_markup::InlineKeyboardMarkup;
3use crate::api::structs::message_entity::MessageEntity;
4use serde::{Deserialize, Serialize};
5
6/// <https://core.telegram.org/bots/api#inlinequeryresultvoice>
7/// Represents a link to a voice recording in an .OGG container encoded with OPUS. By default, this voice recording will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the the voice message.
8#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)]
9pub struct InlineQueryResultVoice {
10    #[serde(rename(serialize = "type", deserialize = "type"))]
11    pub kind: String,
12    pub id: String,
13    pub voice_url: String,
14    pub title: String,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub caption: Option<String>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub parse_mode: Option<String>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub caption_entities: Option<Vec<MessageEntity>>,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub voice_duration: Option<i64>,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub reply_markup: Option<InlineKeyboardMarkup>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub input_message_content: Option<InputMessageContent>,
27}