At most one of the optional fields can be present in any given object.
Check the documentation of this model on Telegram Bot API
animation (optional): Optional. Media is an animation, information about the animationaudio (optional): Optional. Media is an audio file, information about the file; currently, can't be received in a poll optiondocument (optional): Optional. Media is a general file, information about the file; currently, can't be received in a poll optionlive_photo (optional): Optional. Media is a live photo, information about the live photolocation (optional): Optional. Media is a shared location, information about the locationphoto (optional): Optional. Media is a photo, available sizes of the photosticker (optional): Optional. Media is a sticker, information about the sticker; currently, for poll options onlyvenue (optional): Optional. Media is a venue, information about the venuevideo (optional): Optional. Media is a video, information about the video
Summary
Types
@type t() :: %ExGram.Model.PollMedia{ animation: ExGram.Model.Animation.t() | nil, audio: ExGram.Model.Audio.t() | nil, document: ExGram.Model.Document.t() | nil, live_photo: ExGram.Model.LivePhoto.t() | nil, location: ExGram.Model.Location.t() | nil, photo: [ExGram.Model.PhotoSize.t()] | nil, sticker: ExGram.Model.Sticker.t() | nil, venue: ExGram.Model.Venue.t() | nil, video: ExGram.Model.Video.t() | nil }