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

This object contains full information about a chat.

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

- `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”
- `accent_color_id`: Identifier of the accent color for the chat name and backgrounds of the chat photo, reply header, and link preview. See accent colors for more details.
- `max_reaction_count`: The maximum number of reactions that can be set on a message in the chat
- `accepted_gift_types`: Information about types of gifts that are accepted by the chat or by the corresponding user for private chats
- `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
- `photo (optional)`: Optional. Chat photo
- `active_usernames (optional)`: Optional. If non-empty, the list of all active chat usernames; for private chats, supergroups and channels
- `birthdate (optional)`: Optional. For private chats, the date of birth of the user
- `business_intro (optional)`: Optional. For private chats with business accounts, the intro of the business
- `business_location (optional)`: Optional. For private chats with business accounts, the location of the business
- `business_opening_hours (optional)`: Optional. For private chats with business accounts, the opening hours of the business
- `personal_chat (optional)`: Optional. For private chats, the personal channel of the user
- `parent_chat (optional)`: Optional. Information about the corresponding channel chat; for direct messages chats only
- `available_reactions (optional)`: Optional. List of available reactions allowed in the chat. If omitted, then all emoji reactions are allowed.
- `background_custom_emoji_id (optional)`: Optional. Custom emoji identifier of the emoji chosen by the chat for the reply header and link preview background
- `profile_accent_color_id (optional)`: Optional. Identifier of the accent color for the chat's profile background. See profile accent colors for more details.
- `profile_background_custom_emoji_id (optional)`: Optional. Custom emoji identifier of the emoji chosen by the chat for its profile background
- `emoji_status_custom_emoji_id (optional)`: Optional. Custom emoji identifier of the emoji status of the chat or the other party in a private chat
- `emoji_status_expiration_date (optional)`: Optional. Expiration date of the emoji status of the chat or the other party in a private chat, in Unix time, if any
- `bio (optional)`: Optional. Bio of the other party in a private chat
- `has_private_forwards (optional)`: Optional. True, if privacy settings of the other party in the private chat allows to use tg://user?id=<user_id> links only in chats with the user
- `has_restricted_voice_and_video_messages (optional)`: Optional. True, if the privacy settings of the other party restrict sending voice and video note messages in the private chat
- `join_to_send_messages (optional)`: Optional. True, if users need to join the supergroup before they can send messages
- `join_by_request (optional)`: Optional. True, if all users directly joining the supergroup without using an invite link need to be approved by supergroup administrators
- `description (optional)`: Optional. Description, for groups, supergroups and channel chats
- `invite_link (optional)`: Optional. Primary invite link, for groups, supergroups and channel chats
- `pinned_message (optional)`: Optional. The most recent pinned message (by sending date)
- `permissions (optional)`: Optional. Default chat member permissions, for groups and supergroups
- `can_send_paid_media (optional)`: Optional. True, if paid media messages can be sent or forwarded to the channel chat. The field is available only for channel chats.
- `slow_mode_delay (optional)`: Optional. For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds
- `unrestrict_boost_count (optional)`: Optional. For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions
- `message_auto_delete_time (optional)`: Optional. The time after which all messages sent to the chat will be automatically deleted; in seconds
- `has_aggressive_anti_spam_enabled (optional)`: Optional. True, if aggressive anti-spam checks are enabled in the supergroup. The field is only available to chat administrators.
- `has_hidden_members (optional)`: Optional. True, if non-administrators can only get the list of bots and administrators in the chat
- `has_protected_content (optional)`: Optional. True, if messages from the chat can't be forwarded to other chats
- `has_visible_history (optional)`: Optional. True, if new chat members will have access to old messages; available only to chat administrators
- `sticker_set_name (optional)`: Optional. For supergroups, name of the group sticker set
- `can_set_sticker_set (optional)`: Optional. True, if the bot can change the group sticker set
- `custom_emoji_sticker_set_name (optional)`: Optional. For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group.
- `linked_chat_id (optional)`: Optional. Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. This identifier may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier.
- `location (optional)`: Optional. For supergroups, the location to which the supergroup is connected
- `rating (optional)`: Optional. For private chats, the rating of the user if any
- `first_profile_audio (optional)`: Optional. For private chats, the first audio added to the profile of the user
- `unique_gift_colors (optional)`: Optional. The color scheme based on a unique gift that must be used for the chat's name, message replies and link previews
- `paid_message_star_count (optional)`: Optional. The number of Telegram Stars a general user have to pay to send a message to the chat

# `t`

```elixir
@type t() :: %ExGram.Model.ChatFullInfo{
  accent_color_id: integer(),
  accepted_gift_types: ExGram.Model.AcceptedGiftTypes.t(),
  active_usernames: [String.t()] | nil,
  available_reactions: [ExGram.Model.ReactionType.t()] | nil,
  background_custom_emoji_id: String.t() | nil,
  bio: String.t() | nil,
  birthdate: ExGram.Model.Birthdate.t() | nil,
  business_intro: ExGram.Model.BusinessIntro.t() | nil,
  business_location: ExGram.Model.BusinessLocation.t() | nil,
  business_opening_hours: ExGram.Model.BusinessOpeningHours.t() | nil,
  can_send_paid_media: boolean() | nil,
  can_set_sticker_set: boolean() | nil,
  custom_emoji_sticker_set_name: String.t() | nil,
  description: String.t() | nil,
  emoji_status_custom_emoji_id: String.t() | nil,
  emoji_status_expiration_date: integer() | nil,
  first_name: String.t() | nil,
  first_profile_audio: ExGram.Model.Audio.t() | nil,
  has_aggressive_anti_spam_enabled: boolean() | nil,
  has_hidden_members: boolean() | nil,
  has_private_forwards: boolean() | nil,
  has_protected_content: boolean() | nil,
  has_restricted_voice_and_video_messages: boolean() | nil,
  has_visible_history: boolean() | nil,
  id: integer(),
  invite_link: String.t() | nil,
  is_direct_messages: boolean() | nil,
  is_forum: boolean() | nil,
  join_by_request: boolean() | nil,
  join_to_send_messages: boolean() | nil,
  last_name: String.t() | nil,
  linked_chat_id: integer() | nil,
  location: ExGram.Model.ChatLocation.t() | nil,
  max_reaction_count: integer(),
  message_auto_delete_time: integer() | nil,
  paid_message_star_count: integer() | nil,
  parent_chat: ExGram.Model.Chat.t() | nil,
  permissions: ExGram.Model.ChatPermissions.t() | nil,
  personal_chat: ExGram.Model.Chat.t() | nil,
  photo: ExGram.Model.ChatPhoto.t() | nil,
  pinned_message: ExGram.Model.Message.t() | nil,
  profile_accent_color_id: integer() | nil,
  profile_background_custom_emoji_id: String.t() | nil,
  rating: ExGram.Model.UserRating.t() | nil,
  slow_mode_delay: integer() | nil,
  sticker_set_name: String.t() | nil,
  title: String.t() | nil,
  type: String.t(),
  unique_gift_colors: ExGram.Model.UniqueGiftColors.t() | nil,
  unrestrict_boost_count: integer() | nil,
  username: String.t() | nil
}
```

# `decode_as`

---

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