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

This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present.

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

- `id`: Unique identifier for this query
- `from`: Sender
- `chat_instance`: Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in games.
- `message (optional)`: Optional. Message sent by the bot with the callback button that originated the query
- `inline_message_id (optional)`: Optional. Identifier of the message sent via the bot in inline mode, that originated the query.
- `data (optional)`: Optional. Data associated with the callback button. Be aware that the message originated the query can contain no callback buttons with this data.
- `game_short_name (optional)`: Optional. Short name of a Game to be returned, serves as the unique identifier for the game

# `t`

```elixir
@type t() :: %ExGram.Model.CallbackQuery{
  chat_instance: String.t(),
  data: String.t() | nil,
  from: ExGram.Model.User.t(),
  game_short_name: String.t() | nil,
  id: String.t(),
  inline_message_id: String.t() | nil,
  message: ExGram.Model.MaybeInaccessibleMessage.t() | nil
}
```

# `decode_as`

---

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