# `ExGram.Model.InlineQueryResultVoice`
[🔗](https://github.com/rockneurotiko/ex_gram/blob/0.64.0/lib/ex_gram.ex#L6448)

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.

Check the [documentation of this model on Telegram Bot API](https://core.telegram.org/bots/api#inlinequeryresultvoice)

- `type`: Type of the result, must be voice
- `id`: Unique identifier for this result, 1-64 bytes
- `voice_url`: A valid URL for the voice recording
- `title`: Recording title
- `caption (optional)`: Optional. Caption, 0-1024 characters after entities parsing
- `parse_mode (optional)`: Optional. Mode for parsing entities in the voice message caption. See formatting options for more details.
- `caption_entities (optional)`: Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode
- `voice_duration (optional)`: Optional. Recording duration in seconds
- `reply_markup (optional)`: Optional. Inline keyboard attached to the message
- `input_message_content (optional)`: Optional. Content of the message to be sent instead of the voice recording

# `t`

```elixir
@type t() :: %ExGram.Model.InlineQueryResultVoice{
  caption: String.t() | nil,
  caption_entities: [ExGram.Model.MessageEntity.t()] | nil,
  id: String.t(),
  input_message_content: ExGram.Model.InputMessageContent.t() | nil,
  parse_mode: String.t() | nil,
  reply_markup: ExGram.Model.InlineKeyboardMarkup.t() | nil,
  title: String.t(),
  type: String.t(),
  voice_duration: integer() | nil,
  voice_url: String.t()
}
```

# `decode_as`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
