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

This object represents a chat.

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

- `id`: Unique identifier for this chat. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this identifier.
- `type`: Type of the chat, can be either "private”, "group”, "supergroup” or "channel”
- `title (optional)`: Optional. Title, for supergroups, channels and group chats
- `username (optional)`: Optional. Username, for private chats, supergroups and channels if available
- `first_name (optional)`: Optional. First name of the other party in a private chat
- `last_name (optional)`: Optional. Last name of the other party in a private chat
- `is_forum (optional)`: Optional. True, if the supergroup chat is a forum (has topics enabled)
- `is_direct_messages (optional)`: Optional. True, if the chat is the direct messages chat of a channel

# `t`

```elixir
@type t() :: %ExGram.Model.Chat{
  first_name: String.t() | nil,
  id: integer(),
  is_direct_messages: boolean() | nil,
  is_forum: boolean() | nil,
  last_name: String.t() | nil,
  title: String.t() | nil,
  type: String.t(),
  username: String.t() | nil
}
```

# `decode_as`

---

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