pub enum InlineQueryResult {
Show 20 variants
Article(InlineQueryResultArticle),
Photo(InlineQueryResultPhoto),
Gif(InlineQueryResultGif),
Mpeg4Gif(InlineQueryResultMpeg4Gif),
Video(InlineQueryResultVideo),
Audio(InlineQueryResultAudio),
Voice(InlineQueryResultVoice),
Document(InlineQueryResultDocument),
Location(InlineQueryResultLocation),
Venue(InlineQueryResultVenue),
Contact(InlineQueryResultContact),
Game(InlineQueryResultGame),
CachedPhoto(InlineQueryResultCachedPhoto),
CachedGif(InlineQueryResultCachedGif),
CachedMpeg4Gif(InlineQueryResultCachedMpeg4Gif),
CachedSticker(InlineQueryResultCachedSticker),
CachedDocument(InlineQueryResultCachedDocument),
CachedVideo(InlineQueryResultCachedVideo),
CachedVoice(InlineQueryResultCachedVoice),
CachedAudio(InlineQueryResultCachedAudio),
}Expand description
One result to show in an inline query answer.
Up to 50 results can be returned per answerInlineQuery call.
Each variant corresponds to a different content type (article, photo,
video, etc.). Cached variants re-use a previously uploaded Telegram
file_id rather than a URL.
§Why two variants share a discriminant
Telegram gives a cached result the same type as its non-cached
counterpart — a cached photo is "photo", not "cached_photo" — and tells
them apart by whether the payload carries photo_file_id or photo_url.
So the tag alone cannot select a variant, which is why Deserialize is
implemented by hand below rather than derived.
Variants§
Article(InlineQueryResultArticle)
A link to an article or web page.
Photo(InlineQueryResultPhoto)
A link to a photo.
Gif(InlineQueryResultGif)
A link to an animated GIF.
Mpeg4Gif(InlineQueryResultMpeg4Gif)
A link to a video animation (MPEG4 without sound).
Video(InlineQueryResultVideo)
A link to a video.
Audio(InlineQueryResultAudio)
A link to an audio file.
Voice(InlineQueryResultVoice)
A link to a voice recording.
Document(InlineQueryResultDocument)
A link to a general file.
Location(InlineQueryResultLocation)
A geographic location.
Venue(InlineQueryResultVenue)
A venue.
Contact(InlineQueryResultContact)
A contact.
Game(InlineQueryResultGame)
A game.
CachedPhoto(InlineQueryResultCachedPhoto)
A photo from a Telegram file_id.
CachedGif(InlineQueryResultCachedGif)
A GIF from a Telegram file_id.
CachedMpeg4Gif(InlineQueryResultCachedMpeg4Gif)
An MPEG4 GIF from a Telegram file_id.
CachedSticker(InlineQueryResultCachedSticker)
A sticker from a Telegram file_id.
CachedDocument(InlineQueryResultCachedDocument)
A document from a Telegram file_id.
CachedVideo(InlineQueryResultCachedVideo)
A video from a Telegram file_id.
CachedVoice(InlineQueryResultCachedVoice)
A voice message from a Telegram file_id.
CachedAudio(InlineQueryResultCachedAudio)
An audio file from a Telegram file_id.
Trait Implementations§
Source§impl Clone for InlineQueryResult
impl Clone for InlineQueryResult
Source§fn clone(&self) -> InlineQueryResult
fn clone(&self) -> InlineQueryResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InlineQueryResult
impl Debug for InlineQueryResult
Source§impl<'de> Deserialize<'de> for InlineQueryResult
impl<'de> Deserialize<'de> for InlineQueryResult
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Selects a variant from the type tag, disambiguating cached results by
the presence of their *_file_id field.
A derived #[serde(tag = "type")] implementation cannot do this: seven
discriminants map to two variants each, and serde would silently take
whichever was declared first. That is the same failure mode as an
untagged enum matching the wrong variant — it decodes successfully and
hands back the wrong thing.