package models // ChatJoinRequest https://core.telegram.org/bots/api#chatjoinrequest type ChatJoinRequest struct { Chat Chat `json:"chat"` From User `json:"from"` UserChatID int64 `json:"user_chat_id"` Date int `json:"date"` Bio string `json:"bio,omitempty"` InviteLink *ChatInviteLink `json:"invite_link,omitempty"` } // ChatPhoto https://core.telegram.org/bots/api#chatphoto type ChatPhoto struct { SmallFileID string `json:"small_file_id"` SmallFileUniqueID string `json:"small_file_unique_id"` BigFileID string `json:"big_file_id"` BigFileUniqueID string `json:"big_file_unique_id"` } // ChatInviteLink https://core.telegram.org/bots/api#chatinvitelink type ChatInviteLink struct { InviteLink string `json:"invite_link"` Creator User `json:"creator"` CreatesJoinRequest bool `json:"creates_join_request"` IsPrimary bool `json:"is_primary"` IsRevoked bool `json:"is_revoked"` Name string `json:"name,omitempty"` ExpireDate int `json:"expire_date,omitempty"` MemberLimit int `json:"member_limit,omitempty"` PendingJoinRequestCount int `json:"pending_join_request_count,omitempty"` } // ChatAdministratorRights https://core.telegram.org/bots/api#chatadministratorrights type ChatAdministratorRights struct { IsAnonymous bool `json:"is_anonymous"` CanManageChat bool `json:"can_manage_chat"` CanDeleteMessages bool `json:"can_delete_messages"` CanManageVideoChats bool `json:"can_manage_video_chats"` CanRestrictMembers bool `json:"can_restrict_members"` CanPromoteMembers bool `json:"can_promote_members"` CanChangeInfo bool `json:"can_change_info"` CanInviteUsers bool `json:"can_invite_users"` CanPostMessages bool `json:"can_post_messages,omitempty"` CanEditMessages bool `json:"can_edit_messages,omitempty"` CanPinMessages bool `json:"can_pin_messages,omitempty"` CanPostStories bool `json:"can_post_stories,omitempty"` CanEditStories bool `json:"can_edit_stories,omitempty"` CanDeleteStories bool `json:"can_delete_stories,omitempty"` CanManageTopics bool `json:"can_manage_topics,omitempty"` } // ChatPermissions https://core.telegram.org/bots/api#chatpermissions type ChatPermissions struct { CanSendMessages bool `json:"can_send_messages,omitempty"` CanSendAudios bool `json:"can_send_audios"` CanSendDocuments bool `json:"can_send_documents"` CanSendPhotos bool `json:"can_send_photos"` CanSendVideos bool `json:"can_send_videos"` CanSendVideoNotes bool `json:"can_send_video_notes"` CanSendVoiceNotes bool `json:"can_send_voice_notes"` CanSendPolls bool `json:"can_send_polls,omitempty"` CanSendOtherMessages bool `json:"can_send_other_messages,omitempty"` CanAddWebPagePreviews bool `json:"can_add_web_page_previews,omitempty"` CanChangeInfo bool `json:"can_change_info,omitempty"` CanInviteUsers bool `json:"can_invite_users,omitempty"` CanPinMessages bool `json:"can_pin_messages,omitempty"` CanManageTopics bool `json:"can_manage_topics,omitempty"` } // ChatLocation https://core.telegram.org/bots/api#chatlocation type ChatLocation struct { Location Location `json:"location"` Address string `json:"address"` } type Birthdate struct { Day int `json:"day"` Month int `json:"month"` Year int `json:"year,omitempty"` } type ChatType string const ( ChatTypePrivate ChatType = "private" ChatTypeGroup ChatType = "group" ChatTypeSupergroup ChatType = "supergroup" ChatTypeChannel ChatType = "channel" ) // Chat https://core.telegram.org/bots/api#chat type Chat struct { ID int64 `json:"id"` Type ChatType `json:"type"` Title string `json:"title,omitempty"` Username string `json:"username,omitempty"` FirstName string `json:"first_name,omitempty"` LastName string `json:"last_name,omitempty"` IsForum bool `json:"is_forum,omitempty"` } // ChatFullInfo https://core.telegram.org/bots/api#chatfullinfo type ChatFullInfo struct { ID int64 `json:"id"` Type ChatType `json:"type"` Title string `json:"title,omitempty"` Username string `json:"username,omitempty"` FirstName string `json:"first_name,omitempty"` LastName string `json:"last_name,omitempty"` IsForum bool `json:"is_forum,omitempty"` Photo *ChatPhoto `json:"photo,omitempty"` ActiveUsernames []string `json:"active_usernames,omitempty"` Birthdate Birthdate `json:"birthdate,omitempty"` BusinessIntro *BusinessIntro `json:"business_intro,omitempty"` BusinessLocation *BusinessLocation `json:"business_location,omitempty"` BusinessOpeningHours *BusinessOpeningHours `json:"business_opening_hours,omitempty"` PersonalChat *Chat `json:"personal_chat,omitempty"` AvailableReactions []ReactionType `json:"available_reactions,omitempty"` AccentColorID int `json:"accent_color_id,omitempty"` MaxReactionCount int `json:"max_reaction_count"` BackgroundCustomEmojiID string `json:"background_custom_emoji_id,omitempty"` ProfileAccentColorID int `json:"profile_accent_color_id,omitempty"` ProfileBackgroundCustomEmojiID string `json:"profile_background_custom_emoji_id,omitempty"` EmojiStatusCustomEmojiID string `json:"emoji_status_custom_emoji_id,omitempty"` EmojiStatusExpirationDate int `json:"emoji_status_expiration_date,omitempty"` Bio string `json:"bio"` HasPrivateForwards bool `json:"has_private_forwards,omitempty"` HasRestrictedVoiceAndVideoMessages bool `json:"has_restricted_voice_and_video_messages,omitempty"` JoinToSendMessages bool `json:"join_to_send_messages"` JoinByRequest bool `json:"join_by_request"` Description string `json:"description,omitempty"` InviteLink string `json:"invite_link,omitempty"` PinnedMessage *Message `json:"pinned_message,omitempty"` Permissions *ChatPermissions `json:"permissions,omitempty"` CanSendPaidMedia bool `json:"can_send_paid_media,omitempty"` SlowModeDelay int `json:"slow_mode_delay,omitempty"` UnrestrictBoostCount int `json:"unrestrict_boost_count,omitempty"` MessageAutoDeleteTime int `json:"message_auto_delete_time,omitempty"` HasAggressiveAntiSpamEnabled bool `json:"has_aggressive_anti_spam_enabled,omitempty"` HasHiddenMembers bool `json:"has_hidden_members,omitempty"` HasProtectedContent bool `json:"has_protected_content,omitempty"` HasVisibleHistory bool `json:"has_visible_history,omitempty"` StickerSetName string `json:"sticker_set_name,omitempty"` CanSetStickerSet bool `json:"can_set_sticker_set,omitempty"` CustomEmojiStickerSetName string `json:"custom_emoji_sticker_set_name,omitempty"` LinkedChatID int64 `json:"linked_chat_id,omitempty"` Location *ChatLocation `json:"location,omitempty"` }