// WARNING: THIS CODE IS AUTOGENERATED.
// DO NOT EDIT!!!
use serde::{Deserialize, Serialize};
/// This object represents a chat.
/// <https://core.telegram.org/bots/api#chat>
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct Chat {
/// 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.
pub id: i64,
/// Type of the chat, can be either "private", "group", "supergroup" or "channel"
pub r#type: String,
/// Optional. Title, for supergroups, channels and group chats
#[serde(skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
/// Optional. Username, for private chats, supergroups and channels if available
#[serde(skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
/// Optional. First name of the other party in a private chat
#[serde(skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
/// Optional. Last name of the other party in a private chat
#[serde(skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
/// Optional. True, if the supergroup chat is a forum (has topics enabled)
#[serde(skip_serializing_if = "Option::is_none")]
pub is_forum: Option<bool>,
}