Update to latest TDLib

This commit is contained in:
c0re100 2022-03-13 12:04:12 +08:00
parent 1d7608dd7c
commit f70d5bf7e6
No known key found for this signature in database
GPG key ID: 7C3B3004FE745AAF
4 changed files with 34245 additions and 33261 deletions

File diff suppressed because it is too large Load diff

View file

@ -174,6 +174,9 @@ const (
ClassMessageCalendarDay = "MessageCalendarDay"
ClassMessageCalendar = "MessageCalendar"
ClassSponsoredMessage = "SponsoredMessage"
ClassFileDownload = "FileDownload"
ClassDownloadedFileCounts = "DownloadedFileCounts"
ClassFoundFileDownloads = "FoundFileDownloads"
ClassChatNotificationSettings = "ChatNotificationSettings"
ClassScopeNotificationSettings = "ScopeNotificationSettings"
ClassDraftMessage = "DraftMessage"
@ -242,6 +245,9 @@ const (
ClassCallServer = "CallServer"
ClassCallId = "CallId"
ClassGroupCallId = "GroupCallId"
ClassGroupCallStream = "GroupCallStream"
ClassGroupCallStreams = "GroupCallStreams"
ClassRtmpUrl = "RtmpUrl"
ClassGroupCallRecentSpeaker = "GroupCallRecentSpeaker"
ClassGroupCall = "GroupCall"
ClassGroupCallVideoSourceGroup = "GroupCallVideoSourceGroup"
@ -481,6 +487,9 @@ const (
TypeMessageCalendarDay = "messageCalendarDay"
TypeMessageCalendar = "messageCalendar"
TypeSponsoredMessage = "sponsoredMessage"
TypeFileDownload = "fileDownload"
TypeDownloadedFileCounts = "downloadedFileCounts"
TypeFoundFileDownloads = "foundFileDownloads"
TypeNotificationSettingsScopePrivateChats = "notificationSettingsScopePrivateChats"
TypeNotificationSettingsScopeGroupChats = "notificationSettingsScopeGroupChats"
TypeNotificationSettingsScopeChannelChats = "notificationSettingsScopeChannelChats"
@ -842,6 +851,9 @@ const (
TypeGroupCallVideoQualityThumbnail = "groupCallVideoQualityThumbnail"
TypeGroupCallVideoQualityMedium = "groupCallVideoQualityMedium"
TypeGroupCallVideoQualityFull = "groupCallVideoQualityFull"
TypeGroupCallStream = "groupCallStream"
TypeGroupCallStreams = "groupCallStreams"
TypeRtmpUrl = "rtmpUrl"
TypeGroupCallRecentSpeaker = "groupCallRecentSpeaker"
TypeGroupCall = "groupCall"
TypeGroupCallVideoSourceGroup = "groupCallVideoSourceGroup"
@ -1065,6 +1077,8 @@ const (
TypeChatReportReasonCopyright = "chatReportReasonCopyright"
TypeChatReportReasonUnrelatedLocation = "chatReportReasonUnrelatedLocation"
TypeChatReportReasonFake = "chatReportReasonFake"
TypeChatReportReasonIllegalDrugs = "chatReportReasonIllegalDrugs"
TypeChatReportReasonPersonalDetails = "chatReportReasonPersonalDetails"
TypeChatReportReasonCustom = "chatReportReasonCustom"
TypeInternalLinkTypeActiveSessions = "internalLinkTypeActiveSessions"
TypeInternalLinkTypeAuthenticationCode = "internalLinkTypeAuthenticationCode"
@ -1089,6 +1103,7 @@ const (
TypeInternalLinkTypeThemeSettings = "internalLinkTypeThemeSettings"
TypeInternalLinkTypeUnknownDeepLink = "internalLinkTypeUnknownDeepLink"
TypeInternalLinkTypeUnsupportedProxy = "internalLinkTypeUnsupportedProxy"
TypeInternalLinkTypeUserPhoneNumber = "internalLinkTypeUserPhoneNumber"
TypeInternalLinkTypeVideoChat = "internalLinkTypeVideoChat"
TypeMessageLink = "messageLink"
TypeMessageLinkInfo = "messageLinkInfo"
@ -1241,6 +1256,10 @@ const (
TypeUpdateFile = "updateFile"
TypeUpdateFileGenerationStart = "updateFileGenerationStart"
TypeUpdateFileGenerationStop = "updateFileGenerationStop"
TypeUpdateFileDownloads = "updateFileDownloads"
TypeUpdateFileAddedToDownloads = "updateFileAddedToDownloads"
TypeUpdateFileDownload = "updateFileDownload"
TypeUpdateFileRemovedFromDownloads = "updateFileRemovedFromDownloads"
TypeUpdateCall = "updateCall"
TypeUpdateGroupCall = "updateGroupCall"
TypeUpdateGroupCallParticipant = "updateGroupCallParticipant"
@ -2142,7 +2161,7 @@ type TermsOfService struct {
meta
// Text of the terms of service
Text *FormattedText `json:"text"`
// The minimum age of a user to be able to accept the terms; 0 if any
// The minimum age of a user to be able to accept the terms; 0 if age isn't restricted
MinUserAge int32 `json:"min_user_age"`
// True, if a blocking popup with terms of service must be shown to the user
ShowPopup bool `json:"show_popup"`
@ -2574,7 +2593,7 @@ func (*LocalFile) GetType() string {
// Represents a remote file
type RemoteFile struct {
meta
// Remote file identifier; may be empty. Can be used by the current user across application restarts or even from other devices. Uniquely identifies a file, but a file can have a lot of different valid identifiers. If the ID starts with "http://" or "https://", it represents the HTTP URL of the file. TDLib is currently unable to download files if only their URL is known. If downloadFile is called on such a file or if it is sent to a secret chat, TDLib starts a file generation process by sending updateFileGenerationStart to the application with the HTTP URL in the original_path and "#url#" as the conversion string. Application must generate the file by downloading it to the specified location
// Remote file identifier; may be empty. Can be used by the current user across application restarts or even from other devices. Uniquely identifies a file, but a file can have a lot of different valid identifiers. If the ID starts with "http://" or "https://", it represents the HTTP URL of the file. TDLib is currently unable to download files if only their URL is known. If downloadFile/addFileToDownloads is called on such a file or if it is sent to a secret chat, TDLib starts a file generation process by sending updateFileGenerationStart to the application with the HTTP URL in the original_path and "#url#" as the conversion string. Application must generate the file by downloading it to the specified location
Id string `json:"id"`
// Unique file identifier; may be empty if unknown. The unique file identifier which is the same for the same file even for different users and is persistent over time
UniqueId string `json:"unique_id"`
@ -3722,7 +3741,7 @@ type AnimatedEmoji struct {
Sticker *Sticker `json:"sticker"`
// Emoji modifier fitzpatrick type; 0-6; 0 if none
FitzpatrickType int32 `json:"fitzpatrick_type"`
// File containing the sound to be played when the animated emoji is clicked if any; may be null. The sound is encoded with the Opus codec, and stored inside an OGG container
// File containing the sound to be played when the animated emoji is clicked; may be null. The sound is encoded with the Opus codec, and stored inside an OGG container
Sound *File `json:"sound"`
}
@ -4423,7 +4442,7 @@ type User struct {
IsScam bool `json:"is_scam"`
// True, if many users reported this user as a fake account
IsFake bool `json:"is_fake"`
// If false, the user is inaccessible, and the only information known about the user is inside this class. It can't be passed to any method except GetUser
// If false, the user is inaccessible, and the only information known about the user is inside this class. Identifier of the user can't be passed to any method except GetUser
HaveAccess bool `json:"have_access"`
// Type of the user
Type UserType `json:"type"`
@ -4548,7 +4567,7 @@ func (*UserFullInfo) GetType() string {
// Represents a list of users
type Users struct {
meta
// Approximate total count of users found
// Approximate total number of users found
TotalCount int32 `json:"total_count"`
// A list of user identifiers
UserIds []int64 `json:"user_ids"`
@ -4910,7 +4929,7 @@ func (chatMember *ChatMember) UnmarshalJSON(data []byte) error {
// Contains a list of chat members
type ChatMembers struct {
meta
// Approximate total count of chat members found
// Approximate total number of chat members found
TotalCount int32 `json:"total_count"`
// A list of chat members
Members []*ChatMember `json:"members"`
@ -5369,7 +5388,7 @@ func (*ChatInviteLink) GetType() string {
// Contains a list of chat invite links
type ChatInviteLinks struct {
meta
// Approximate total count of chat invite links found
// Approximate total number of chat invite links found
TotalCount int32 `json:"total_count"`
// List of invite links
InviteLinks []*ChatInviteLink `json:"invite_links"`
@ -5471,7 +5490,7 @@ func (*ChatInviteLinkMember) GetType() string {
// Contains a list of chat members joined a chat via an invite link
type ChatInviteLinkMembers struct {
meta
// Approximate total count of chat members found
// Approximate total number of chat members found
TotalCount int32 `json:"total_count"`
// List of chat members, joined a chat via an invite link
Members []*ChatInviteLinkMember `json:"members"`
@ -5599,7 +5618,7 @@ func (*ChatJoinRequest) GetType() string {
// Contains a list of requests to join a chat
type ChatJoinRequests struct {
meta
// Approximate total count of requests found
// Approximate total number of requests found
TotalCount int32 `json:"total_count"`
// List of the requests
Requests []*ChatJoinRequest `json:"requests"`
@ -6094,7 +6113,7 @@ func (*MessageSenderChat) MessageSenderType() string {
// Represents a list of message senders
type MessageSenders struct {
meta
// Approximate total count of messages senders found
// Approximate total number of messages senders found
TotalCount int32 `json:"total_count"`
// List of message senders
Senders []MessageSender `json:"senders"`
@ -6608,7 +6627,7 @@ type Message struct {
CanGetAddedReactions bool `json:"can_get_added_reactions"`
// True, if the message statistics are available through getMessageStatistics
CanGetStatistics bool `json:"can_get_statistics"`
// True, if the message thread info is available through getMessageThread
// True, if information about the message thread is available through getMessageThread
CanGetMessageThread bool `json:"can_get_message_thread"`
// True, if chat members already viewed the message can be received through getMessageViewers
CanGetViewers bool `json:"can_get_viewers"`
@ -6768,7 +6787,7 @@ func (message *Message) UnmarshalJSON(data []byte) error {
// Contains a list of messages
type Messages struct {
meta
// Approximate total count of messages found
// Approximate total number of messages found
TotalCount int32 `json:"total_count"`
// List of messages; messages may be null
Messages []*Message `json:"messages"`
@ -6793,7 +6812,7 @@ func (*Messages) GetType() string {
// Contains a list of messages found by a search
type FoundMessages struct {
meta
// Approximate total count of messages found; -1 if unknown
// Approximate total number of messages found; -1 if unknown
TotalCount int32 `json:"total_count"`
// List of messages
Messages []*Message `json:"messages"`
@ -6847,7 +6866,7 @@ func (*MessagePosition) GetType() string {
// Contains a list of message positions
type MessagePositions struct {
meta
// Total count of messages found
// Total number of messages found
TotalCount int32 `json:"total_count"`
// List of message positions
Positions []*MessagePosition `json:"positions"`
@ -6977,6 +6996,91 @@ func (sponsoredMessage *SponsoredMessage) UnmarshalJSON(data []byte) error {
return nil
}
// Describes a file added to file download list
type FileDownload struct {
meta
// File identifier
FileId int32 `json:"file_id"`
// The message with the file
Message *Message `json:"message"`
// Point in time (Unix timestamp) when the file was added to the download list
AddDate int32 `json:"add_date"`
// Point in time (Unix timestamp) when the file downloading was completed; 0 if the file downloading isn't completed
CompleteDate int32 `json:"complete_date"`
// True, if downloading of the file is paused
IsPaused bool `json:"is_paused"`
}
func (entity *FileDownload) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub FileDownload
return json.Marshal((*stub)(entity))
}
func (*FileDownload) GetClass() string {
return ClassFileDownload
}
func (*FileDownload) GetType() string {
return TypeFileDownload
}
// Contains number of being downloaded and recently downloaded files found
type DownloadedFileCounts struct {
meta
// Number of active file downloads found, including paused
ActiveCount int32 `json:"active_count"`
// Number of paused file downloads found
PausedCount int32 `json:"paused_count"`
// Number of completed file downloads found
CompletedCount int32 `json:"completed_count"`
}
func (entity *DownloadedFileCounts) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub DownloadedFileCounts
return json.Marshal((*stub)(entity))
}
func (*DownloadedFileCounts) GetClass() string {
return ClassDownloadedFileCounts
}
func (*DownloadedFileCounts) GetType() string {
return TypeDownloadedFileCounts
}
// Contains a list of downloaded files, found by a search
type FoundFileDownloads struct {
meta
// Total number of suitable files, ignoring offset
TotalCounts *DownloadedFileCounts `json:"total_counts"`
// The list of files
Files []*FileDownload `json:"files"`
// The offset for the next request. If empty, there are no more results
NextOffset string `json:"next_offset"`
}
func (entity *FoundFileDownloads) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub FoundFileDownloads
return json.Marshal((*stub)(entity))
}
func (*FoundFileDownloads) GetClass() string {
return ClassFoundFileDownloads
}
func (*FoundFileDownloads) GetType() string {
return TypeFoundFileDownloads
}
// Notification settings applied to all private and secret chats when the corresponding chat setting has a default value
type NotificationSettingsScopePrivateChats struct{
meta
@ -7845,7 +7949,7 @@ func (chat *Chat) UnmarshalJSON(data []byte) error {
// Represents a list of chats
type Chats struct {
meta
// Approximate total count of chats found
// Approximate total number of chats found
TotalCount int32 `json:"total_count"`
// List of chat identifiers
ChatIds []int64 `json:"chat_ids"`
@ -18704,6 +18808,81 @@ func (*GroupCallVideoQualityFull) GroupCallVideoQualityType() string {
return TypeGroupCallVideoQualityFull
}
// Describes an available stream in a group call
type GroupCallStream struct {
meta
// Identifier of an audio/video channel
ChannelId int32 `json:"channel_id"`
// Scale of segment durations in the stream. The duration is 1000/(2**scale) milliseconds
Scale int32 `json:"scale"`
// Point in time when the stream currently ends; Unix timestamp in milliseconds
TimeOffset int64 `json:"time_offset"`
}
func (entity *GroupCallStream) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub GroupCallStream
return json.Marshal((*stub)(entity))
}
func (*GroupCallStream) GetClass() string {
return ClassGroupCallStream
}
func (*GroupCallStream) GetType() string {
return TypeGroupCallStream
}
// Represents a list of group call streams
type GroupCallStreams struct {
meta
// A list of group call streams
Streams []*GroupCallStream `json:"streams"`
}
func (entity *GroupCallStreams) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub GroupCallStreams
return json.Marshal((*stub)(entity))
}
func (*GroupCallStreams) GetClass() string {
return ClassGroupCallStreams
}
func (*GroupCallStreams) GetType() string {
return TypeGroupCallStreams
}
// Represents an RTMP url
type RtmpUrl struct {
meta
// The URL
Url string `json:"url"`
// Stream key
StreamKey string `json:"stream_key"`
}
func (entity *RtmpUrl) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub RtmpUrl
return json.Marshal((*stub)(entity))
}
func (*RtmpUrl) GetClass() string {
return ClassRtmpUrl
}
func (*RtmpUrl) GetType() string {
return TypeRtmpUrl
}
// Describes a recently speaking participant in a group call
type GroupCallRecentSpeaker struct {
meta
@ -18761,6 +18940,8 @@ type GroupCall struct {
EnabledStartNotification bool `json:"enabled_start_notification"`
// True, if the call is active
IsActive bool `json:"is_active"`
// True, if the chat is an RTMP stream instead of an ordinary video chat
IsRtmpStream bool `json:"is_rtmp_stream"`
// True, if the call is joined
IsJoined bool `json:"is_joined"`
// True, if user was kicked from the call because of network loss and the call needs to be rejoined
@ -18769,6 +18950,8 @@ type GroupCall struct {
CanBeManaged bool `json:"can_be_managed"`
// Number of participants in the group call
ParticipantCount int32 `json:"participant_count"`
// True, if group call participants, which are muted, aren't returned in participant list
HasHiddenListeners bool `json:"has_hidden_listeners"`
// True, if all group call participants are loaded
LoadedAllParticipants bool `json:"loaded_all_participants"`
// At most 3 recently speaking users in the group call
@ -19326,7 +19509,7 @@ func (addedReaction *AddedReaction) UnmarshalJSON(data []byte) error {
// Represents a list of reactions added to a message
type AddedReactions struct {
meta
// The total count of found reactions
// The total number of found reactions
TotalCount int32 `json:"total_count"`
// The list of added reactions
Reactions []*AddedReaction `json:"reactions"`
@ -22292,7 +22475,7 @@ func (*LanguagePackStringValueOrdinary) LanguagePackStringValueType() string {
return TypeLanguagePackStringValueOrdinary
}
// A language pack string which has different forms based on the number of some object it mentions. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more info
// A language pack string which has different forms based on the number of some object it mentions. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more information
type LanguagePackStringValuePluralized struct {
meta
// Value for zero objects
@ -22432,7 +22615,7 @@ type LanguagePackInfo struct {
Name string `json:"name"`
// Name of the language in that language
NativeName string `json:"native_name"`
// A language code to be used to apply plural forms. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more info
// A language code to be used to apply plural forms. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more information
PluralCode string `json:"plural_code"`
// True, if the language pack is official
IsOfficial bool `json:"is_official"`
@ -26025,6 +26208,56 @@ func (*ChatReportReasonFake) ChatReportReasonType() string {
return TypeChatReportReasonFake
}
// The chat has illegal drugs related content
type ChatReportReasonIllegalDrugs struct{
meta
}
func (entity *ChatReportReasonIllegalDrugs) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub ChatReportReasonIllegalDrugs
return json.Marshal((*stub)(entity))
}
func (*ChatReportReasonIllegalDrugs) GetClass() string {
return ClassChatReportReason
}
func (*ChatReportReasonIllegalDrugs) GetType() string {
return TypeChatReportReasonIllegalDrugs
}
func (*ChatReportReasonIllegalDrugs) ChatReportReasonType() string {
return TypeChatReportReasonIllegalDrugs
}
// The chat contains messages with personal details
type ChatReportReasonPersonalDetails struct{
meta
}
func (entity *ChatReportReasonPersonalDetails) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub ChatReportReasonPersonalDetails
return json.Marshal((*stub)(entity))
}
func (*ChatReportReasonPersonalDetails) GetClass() string {
return ClassChatReportReason
}
func (*ChatReportReasonPersonalDetails) GetType() string {
return TypeChatReportReasonPersonalDetails
}
func (*ChatReportReasonPersonalDetails) ChatReportReasonType() string {
return TypeChatReportReasonPersonalDetails
}
// A custom reason provided by the user
type ChatReportReasonCustom struct{
meta
@ -26700,6 +26933,33 @@ func (*InternalLinkTypeUnsupportedProxy) InternalLinkTypeType() string {
return TypeInternalLinkTypeUnsupportedProxy
}
// The link is a link to a user by its phone number. Call searchUserByPhoneNumber with the given phone number to process the link
type InternalLinkTypeUserPhoneNumber struct {
meta
// Phone number of the user
PhoneNumber string `json:"phone_number"`
}
func (entity *InternalLinkTypeUserPhoneNumber) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub InternalLinkTypeUserPhoneNumber
return json.Marshal((*stub)(entity))
}
func (*InternalLinkTypeUserPhoneNumber) GetClass() string {
return ClassInternalLinkType
}
func (*InternalLinkTypeUserPhoneNumber) GetType() string {
return TypeInternalLinkTypeUserPhoneNumber
}
func (*InternalLinkTypeUserPhoneNumber) InternalLinkTypeType() string {
return TypeInternalLinkTypeUserPhoneNumber
}
// The link is a link to a video chat. Call searchPublicChat with the given chat username, and then joinGroupCall with the given invite hash to process the link
type InternalLinkTypeVideoChat struct {
meta
@ -28074,7 +28334,7 @@ func (*TMeUrlTypeSupergroup) TMeUrlTypeType() string {
// A chat invite link
type TMeUrlTypeChatInvite struct {
meta
// Chat invite link info
// Information about the chat invite link
Info *ChatInviteLinkInfo `json:"info"`
}
@ -30741,7 +31001,7 @@ func (*UpdateChatFilters) UpdateType() string {
return TypeUpdateChatFilters
}
// The number of online group members has changed. This update with non-zero count is sent only for currently opened chats. There is no guarantee that it will be sent just after the count has changed
// The number of online group members has changed. This update with non-zero number of online group members is sent only for currently opened chats. There is no guarantee that it will be sent just after the number of online users has changed
type UpdateChatOnlineMemberCount struct {
meta
// Identifier of the chat
@ -31444,6 +31704,128 @@ func (*UpdateFileGenerationStop) UpdateType() string {
return TypeUpdateFileGenerationStop
}
// The state of the file download list has changed
type UpdateFileDownloads struct {
meta
// Total size of files in the file download list, in bytes
TotalSize int64 `json:"total_size"`
// Total number of files in the file download list
TotalCount int32 `json:"total_count"`
// Total downloaded size of files in the file download list, in bytes
DownloadedSize int64 `json:"downloaded_size"`
}
func (entity *UpdateFileDownloads) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub UpdateFileDownloads
return json.Marshal((*stub)(entity))
}
func (*UpdateFileDownloads) GetClass() string {
return ClassUpdate
}
func (*UpdateFileDownloads) GetType() string {
return TypeUpdateFileDownloads
}
func (*UpdateFileDownloads) UpdateType() string {
return TypeUpdateFileDownloads
}
// A file was added to the file download list. This update is sent only after file download list is loaded for the first time
type UpdateFileAddedToDownloads struct {
meta
// The added file download
FileDownload *FileDownload `json:"file_download"`
// New number of being downloaded and recently downloaded files found
Counts *DownloadedFileCounts `json:"counts"`
}
func (entity *UpdateFileAddedToDownloads) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub UpdateFileAddedToDownloads
return json.Marshal((*stub)(entity))
}
func (*UpdateFileAddedToDownloads) GetClass() string {
return ClassUpdate
}
func (*UpdateFileAddedToDownloads) GetType() string {
return TypeUpdateFileAddedToDownloads
}
func (*UpdateFileAddedToDownloads) UpdateType() string {
return TypeUpdateFileAddedToDownloads
}
// A file download was changed. This update is sent only after file download list is loaded for the first time
type UpdateFileDownload struct {
meta
// File identifier
FileId int32 `json:"file_id"`
// Point in time (Unix timestamp) when the file downloading was completed; 0 if the file downloading isn't completed
CompleteDate int32 `json:"complete_date"`
// True, if downloading of the file is paused
IsPaused bool `json:"is_paused"`
// New number of being downloaded and recently downloaded files found
Counts *DownloadedFileCounts `json:"counts"`
}
func (entity *UpdateFileDownload) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub UpdateFileDownload
return json.Marshal((*stub)(entity))
}
func (*UpdateFileDownload) GetClass() string {
return ClassUpdate
}
func (*UpdateFileDownload) GetType() string {
return TypeUpdateFileDownload
}
func (*UpdateFileDownload) UpdateType() string {
return TypeUpdateFileDownload
}
// A file was removed from the file download list. This update is sent only after file download list is loaded for the first time
type UpdateFileRemovedFromDownloads struct {
meta
// File identifier
FileId int32 `json:"file_id"`
// New number of being downloaded and recently downloaded files found
Counts *DownloadedFileCounts `json:"counts"`
}
func (entity *UpdateFileRemovedFromDownloads) MarshalJSON() ([]byte, error) {
entity.meta.Type = entity.GetType()
type stub UpdateFileRemovedFromDownloads
return json.Marshal((*stub)(entity))
}
func (*UpdateFileRemovedFromDownloads) GetClass() string {
return ClassUpdate
}
func (*UpdateFileRemovedFromDownloads) GetType() string {
return TypeUpdateFileRemovedFromDownloads
}
func (*UpdateFileRemovedFromDownloads) UpdateType() string {
return TypeUpdateFileRemovedFromDownloads
}
// New call was created or information about a call was updated
type UpdateCall struct {
meta
@ -33088,3 +33470,4 @@ func (*TestVectorStringObject) GetClass() string {
func (*TestVectorStringObject) GetType() string {
return TypeTestVectorStringObject
}

View file

@ -3632,6 +3632,12 @@ func UnmarshalChatReportReason(data json.RawMessage) (ChatReportReason, error) {
case TypeChatReportReasonFake:
return UnmarshalChatReportReasonFake(data)
case TypeChatReportReasonIllegalDrugs:
return UnmarshalChatReportReasonIllegalDrugs(data)
case TypeChatReportReasonPersonalDetails:
return UnmarshalChatReportReasonPersonalDetails(data)
case TypeChatReportReasonCustom:
return UnmarshalChatReportReasonCustom(data)
@ -3732,6 +3738,9 @@ func UnmarshalInternalLinkType(data json.RawMessage) (InternalLinkType, error) {
case TypeInternalLinkTypeUnsupportedProxy:
return UnmarshalInternalLinkTypeUnsupportedProxy(data)
case TypeInternalLinkTypeUserPhoneNumber:
return UnmarshalInternalLinkTypeUserPhoneNumber(data)
case TypeInternalLinkTypeVideoChat:
return UnmarshalInternalLinkTypeVideoChat(data)
@ -4496,6 +4505,18 @@ func UnmarshalUpdate(data json.RawMessage) (Update, error) {
case TypeUpdateFileGenerationStop:
return UnmarshalUpdateFileGenerationStop(data)
case TypeUpdateFileDownloads:
return UnmarshalUpdateFileDownloads(data)
case TypeUpdateFileAddedToDownloads:
return UnmarshalUpdateFileAddedToDownloads(data)
case TypeUpdateFileDownload:
return UnmarshalUpdateFileDownload(data)
case TypeUpdateFileRemovedFromDownloads:
return UnmarshalUpdateFileRemovedFromDownloads(data)
case TypeUpdateCall:
return UnmarshalUpdateCall(data)
@ -5919,6 +5940,30 @@ func UnmarshalSponsoredMessage(data json.RawMessage) (*SponsoredMessage, error)
return &resp, err
}
func UnmarshalFileDownload(data json.RawMessage) (*FileDownload, error) {
var resp FileDownload
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalDownloadedFileCounts(data json.RawMessage) (*DownloadedFileCounts, error) {
var resp DownloadedFileCounts
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalFoundFileDownloads(data json.RawMessage) (*FoundFileDownloads, error) {
var resp FoundFileDownloads
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalNotificationSettingsScopePrivateChats(data json.RawMessage) (*NotificationSettingsScopePrivateChats, error) {
var resp NotificationSettingsScopePrivateChats
@ -8807,6 +8852,30 @@ func UnmarshalGroupCallVideoQualityFull(data json.RawMessage) (*GroupCallVideoQu
return &resp, err
}
func UnmarshalGroupCallStream(data json.RawMessage) (*GroupCallStream, error) {
var resp GroupCallStream
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalGroupCallStreams(data json.RawMessage) (*GroupCallStreams, error) {
var resp GroupCallStreams
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalRtmpUrl(data json.RawMessage) (*RtmpUrl, error) {
var resp RtmpUrl
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalGroupCallRecentSpeaker(data json.RawMessage) (*GroupCallRecentSpeaker, error) {
var resp GroupCallRecentSpeaker
@ -10591,6 +10660,22 @@ func UnmarshalChatReportReasonFake(data json.RawMessage) (*ChatReportReasonFake,
return &resp, err
}
func UnmarshalChatReportReasonIllegalDrugs(data json.RawMessage) (*ChatReportReasonIllegalDrugs, error) {
var resp ChatReportReasonIllegalDrugs
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalChatReportReasonPersonalDetails(data json.RawMessage) (*ChatReportReasonPersonalDetails, error) {
var resp ChatReportReasonPersonalDetails
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalChatReportReasonCustom(data json.RawMessage) (*ChatReportReasonCustom, error) {
var resp ChatReportReasonCustom
@ -10783,6 +10868,14 @@ func UnmarshalInternalLinkTypeUnsupportedProxy(data json.RawMessage) (*InternalL
return &resp, err
}
func UnmarshalInternalLinkTypeUserPhoneNumber(data json.RawMessage) (*InternalLinkTypeUserPhoneNumber, error) {
var resp InternalLinkTypeUserPhoneNumber
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalInternalLinkTypeVideoChat(data json.RawMessage) (*InternalLinkTypeVideoChat, error) {
var resp InternalLinkTypeVideoChat
@ -11999,6 +12092,38 @@ func UnmarshalUpdateFileGenerationStop(data json.RawMessage) (*UpdateFileGenerat
return &resp, err
}
func UnmarshalUpdateFileDownloads(data json.RawMessage) (*UpdateFileDownloads, error) {
var resp UpdateFileDownloads
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalUpdateFileAddedToDownloads(data json.RawMessage) (*UpdateFileAddedToDownloads, error) {
var resp UpdateFileAddedToDownloads
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalUpdateFileDownload(data json.RawMessage) (*UpdateFileDownload, error) {
var resp UpdateFileDownload
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalUpdateFileRemovedFromDownloads(data json.RawMessage) (*UpdateFileRemovedFromDownloads, error) {
var resp UpdateFileRemovedFromDownloads
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalUpdateCall(data json.RawMessage) (*UpdateCall, error) {
var resp UpdateCall
@ -12879,6 +13004,15 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeSponsoredMessage:
return UnmarshalSponsoredMessage(data)
case TypeFileDownload:
return UnmarshalFileDownload(data)
case TypeDownloadedFileCounts:
return UnmarshalDownloadedFileCounts(data)
case TypeFoundFileDownloads:
return UnmarshalFoundFileDownloads(data)
case TypeNotificationSettingsScopePrivateChats:
return UnmarshalNotificationSettingsScopePrivateChats(data)
@ -13962,6 +14096,15 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeGroupCallVideoQualityFull:
return UnmarshalGroupCallVideoQualityFull(data)
case TypeGroupCallStream:
return UnmarshalGroupCallStream(data)
case TypeGroupCallStreams:
return UnmarshalGroupCallStreams(data)
case TypeRtmpUrl:
return UnmarshalRtmpUrl(data)
case TypeGroupCallRecentSpeaker:
return UnmarshalGroupCallRecentSpeaker(data)
@ -14631,6 +14774,12 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeChatReportReasonFake:
return UnmarshalChatReportReasonFake(data)
case TypeChatReportReasonIllegalDrugs:
return UnmarshalChatReportReasonIllegalDrugs(data)
case TypeChatReportReasonPersonalDetails:
return UnmarshalChatReportReasonPersonalDetails(data)
case TypeChatReportReasonCustom:
return UnmarshalChatReportReasonCustom(data)
@ -14703,6 +14852,9 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeInternalLinkTypeUnsupportedProxy:
return UnmarshalInternalLinkTypeUnsupportedProxy(data)
case TypeInternalLinkTypeUserPhoneNumber:
return UnmarshalInternalLinkTypeUserPhoneNumber(data)
case TypeInternalLinkTypeVideoChat:
return UnmarshalInternalLinkTypeVideoChat(data)
@ -15159,6 +15311,18 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeUpdateFileGenerationStop:
return UnmarshalUpdateFileGenerationStop(data)
case TypeUpdateFileDownloads:
return UnmarshalUpdateFileDownloads(data)
case TypeUpdateFileAddedToDownloads:
return UnmarshalUpdateFileAddedToDownloads(data)
case TypeUpdateFileDownload:
return UnmarshalUpdateFileDownload(data)
case TypeUpdateFileRemovedFromDownloads:
return UnmarshalUpdateFileRemovedFromDownloads(data)
case TypeUpdateCall:
return UnmarshalUpdateCall(data)

View file

@ -77,7 +77,7 @@ textEntities entities:vector<textEntity> = TextEntities;
formattedText text:string entities:vector<textEntity> = FormattedText;
//@description Contains Telegram terms of service @text Text of the terms of service @min_user_age The minimum age of a user to be able to accept the terms; 0 if any @show_popup True, if a blocking popup with terms of service must be shown to the user
//@description Contains Telegram terms of service @text Text of the terms of service @min_user_age The minimum age of a user to be able to accept the terms; 0 if age isn't restricted @show_popup True, if a blocking popup with terms of service must be shown to the user
termsOfService text:formattedText min_user_age:int32 show_popup:Bool = TermsOfService;
@ -147,7 +147,7 @@ localFile path:string can_be_downloaded:Bool can_be_deleted:Bool is_downloading_
//@description Represents a remote file
//@id Remote file identifier; may be empty. Can be used by the current user across application restarts or even from other devices. Uniquely identifies a file, but a file can have a lot of different valid identifiers.
//-If the ID starts with "http://" or "https://", it represents the HTTP URL of the file. TDLib is currently unable to download files if only their URL is known.
//-If downloadFile is called on such a file or if it is sent to a secret chat, TDLib starts a file generation process by sending updateFileGenerationStart to the application with the HTTP URL in the original_path and "#url#" as the conversion string. Application must generate the file by downloading it to the specified location
//-If downloadFile/addFileToDownloads is called on such a file or if it is sent to a secret chat, TDLib starts a file generation process by sending updateFileGenerationStart to the application with the HTTP URL in the original_path and "#url#" as the conversion string. Application must generate the file by downloading it to the specified location
//@unique_id Unique file identifier; may be empty if unknown. The unique file identifier which is the same for the same file even for different users and is persistent over time
//@is_uploading_active True, if the file is currently being uploaded (or a remote copy is being generated by some other means)
//@is_uploading_completed True, if a remote copy is fully available
@ -319,7 +319,7 @@ voiceNote duration:int32 waveform:bytes mime_type:string voice:file = VoiceNote;
//@description Describes an animated representation of an emoji
//@sticker Animated sticker for the emoji
//@fitzpatrick_type Emoji modifier fitzpatrick type; 0-6; 0 if none
//@sound File containing the sound to be played when the animated emoji is clicked if any; may be null. The sound is encoded with the Opus codec, and stored inside an OGG container
//@sound File containing the sound to be played when the animated emoji is clicked; may be null. The sound is encoded with the Opus codec, and stored inside an OGG container
animatedEmoji sticker:sticker fitzpatrick_type:int32 sound:file = AnimatedEmoji;
//@description Describes a user contact @phone_number Phone number of the user @first_name First name of the user; 1-255 characters in length @last_name Last name of the user @vcard Additional data about the user in a form of vCard; 0-2048 bytes in length @user_id Identifier of the user, if known; otherwise 0
@ -436,7 +436,7 @@ inputChatPhotoAnimation animation:InputFile main_frame_timestamp:double = InputC
//@restriction_reason If non-empty, it contains a human-readable description of the reason why access to this user must be restricted
//@is_scam True, if many users reported this user as a scam
//@is_fake True, if many users reported this user as a fake account
//@have_access If false, the user is inaccessible, and the only information known about the user is inside this class. It can't be passed to any method except GetUser
//@have_access If false, the user is inaccessible, and the only information known about the user is inside this class. Identifier of the user can't be passed to any method except GetUser
//@type Type of the user
//@language_code IETF language tag of the user's language; only available to bots
user id:int53 access_hash:int64 first_name:string last_name:string username:string phone_number:string status:UserStatus profile_photo:profilePhoto is_contact:Bool is_mutual_contact:Bool is_verified:Bool is_support:Bool restriction_reason:string is_scam:Bool is_fake:Bool have_access:Bool type:UserType language_code:string = User;
@ -456,7 +456,7 @@ user id:int53 access_hash:int64 first_name:string last_name:string username:stri
//@commands For bots, list of the bot commands
userFullInfo photo:chatPhoto is_blocked:Bool can_be_called:Bool supports_video_calls:Bool has_private_calls:Bool has_private_forwards:Bool need_phone_number_privacy_exception:Bool bio:string share_text:string description:string group_in_common_count:int32 commands:vector<botCommand> = UserFullInfo;
//@description Represents a list of users @total_count Approximate total count of users found @user_ids A list of user identifiers
//@description Represents a list of users @total_count Approximate total number of users found @user_ids A list of user identifiers
users total_count:int32 user_ids:vector<int53> = Users;
@ -529,7 +529,7 @@ chatMemberStatusBanned banned_until_date:int32 = ChatMemberStatus;
//@status Status of the member in the chat
chatMember member_id:MessageSender inviter_user_id:int53 joined_chat_date:int32 status:ChatMemberStatus = ChatMember;
//@description Contains a list of chat members @total_count Approximate total count of chat members found @members A list of chat members
//@description Contains a list of chat members @total_count Approximate total number of chat members found @members A list of chat members
chatMembers total_count:int32 members:vector<chatMember> = ChatMembers;
@ -599,7 +599,7 @@ supergroupMembersFilterBots = SupergroupMembersFilter;
//@is_revoked True, if the link was revoked
chatInviteLink invite_link:string name:string creator_user_id:int53 date:int32 edit_date:int32 expiration_date:int32 member_limit:int32 member_count:int32 pending_join_request_count:int32 creates_join_request:Bool is_primary:Bool is_revoked:Bool = ChatInviteLink;
//@description Contains a list of chat invite links @total_count Approximate total count of chat invite links found @invite_links List of invite links
//@description Contains a list of chat invite links @total_count Approximate total number of chat invite links found @invite_links List of invite links
chatInviteLinks total_count:int32 invite_links:vector<chatInviteLink> = ChatInviteLinks;
//@description Describes a chat administrator with a number of active and revoked chat invite links
@ -614,7 +614,7 @@ chatInviteLinkCounts invite_link_counts:vector<chatInviteLinkCount> = ChatInvite
//@description Describes a chat member joined a chat via an invite link @user_id User identifier @joined_chat_date Point in time (Unix timestamp) when the user joined the chat @approver_user_id User identifier of the chat administrator, approved user join request
chatInviteLinkMember user_id:int53 joined_chat_date:int32 approver_user_id:int53 = ChatInviteLinkMember;
//@description Contains a list of chat members joined a chat via an invite link @total_count Approximate total count of chat members found @members List of chat members, joined a chat via an invite link
//@description Contains a list of chat members joined a chat via an invite link @total_count Approximate total number of chat members found @members List of chat members, joined a chat via an invite link
chatInviteLinkMembers total_count:int32 members:vector<chatInviteLinkMember> = ChatInviteLinkMembers;
//@description Contains information about a chat invite link
@ -633,7 +633,7 @@ chatInviteLinkInfo chat_id:int53 accessible_for:int32 type:ChatType title:string
//@description Describes a user that sent a join request and waits for administrator approval @user_id User identifier @date Point in time (Unix timestamp) when the user sent the join request @bio A short bio of the user
chatJoinRequest user_id:int53 date:int32 bio:string = ChatJoinRequest;
//@description Contains a list of requests to join a chat @total_count Approximate total count of requests found @requests List of the requests
//@description Contains a list of requests to join a chat @total_count Approximate total number of requests found @requests List of the requests
chatJoinRequests total_count:int32 requests:vector<chatJoinRequest> = ChatJoinRequests;
//@description Contains information about pending join requests for a chat @total_count Total number of pending join requests @user_ids Identifiers of at most 3 users sent the newest pending join requests
@ -735,7 +735,7 @@ messageSenderUser user_id:int53 = MessageSender;
messageSenderChat chat_id:int53 = MessageSender;
//@description Represents a list of message senders @total_count Approximate total count of messages senders found @senders List of message senders
//@description Represents a list of message senders @total_count Approximate total number of messages senders found @senders List of message senders
messageSenders total_count:int32 senders:vector<MessageSender> = MessageSenders;
@ -826,7 +826,7 @@ messageSendingStateFailed error_code:int32 error_message:string can_retry:Bool n
//@can_be_deleted_for_all_users True, if the message can be deleted for all users
//@can_get_added_reactions True, if the list of added reactions is available through getMessageAddedReactions
//@can_get_statistics True, if the message statistics are available through getMessageStatistics
//@can_get_message_thread True, if the message thread info is available through getMessageThread
//@can_get_message_thread True, if information about the message thread is available through getMessageThread
//@can_get_viewers True, if chat members already viewed the message can be received through getMessageViewers
//@can_get_media_timestamp_links True, if media timestamp links can be generated for media timestamp entities in the message text, caption or web page description through getMessageLink
//@has_timestamped_media True, if media timestamp entities refers to a media in this message as opposed to a media in the replied message
@ -850,16 +850,16 @@ messageSendingStateFailed error_code:int32 error_message:string can_retry:Bool n
//@reply_markup Reply markup for the message; may be null
message id:int53 sender_id:MessageSender chat_id:int53 sending_state:MessageSendingState scheduling_state:MessageSchedulingState is_outgoing:Bool is_pinned:Bool can_be_edited:Bool can_be_forwarded:Bool can_be_saved:Bool can_be_deleted_only_for_self:Bool can_be_deleted_for_all_users:Bool can_get_added_reactions:Bool can_get_statistics:Bool can_get_message_thread:Bool can_get_viewers:Bool can_get_media_timestamp_links:Bool has_timestamped_media:Bool is_channel_post:Bool contains_unread_mention:Bool date:int32 edit_date:int32 forward_info:messageForwardInfo interaction_info:messageInteractionInfo unread_reactions:vector<unreadReaction> reply_in_chat_id:int53 reply_to_message_id:int53 message_thread_id:int53 ttl:int32 ttl_expires_in:double via_bot_user_id:int53 author_signature:string media_album_id:int64 restriction_reason:string content:MessageContent reply_markup:ReplyMarkup = Message;
//@description Contains a list of messages @total_count Approximate total count of messages found @messages List of messages; messages may be null
//@description Contains a list of messages @total_count Approximate total number of messages found @messages List of messages; messages may be null
messages total_count:int32 messages:vector<message> = Messages;
//@description Contains a list of messages found by a search @total_count Approximate total count of messages found; -1 if unknown @messages List of messages @next_offset The offset for the next request. If empty, there are no more results
//@description Contains a list of messages found by a search @total_count Approximate total number of messages found; -1 if unknown @messages List of messages @next_offset The offset for the next request. If empty, there are no more results
foundMessages total_count:int32 messages:vector<message> next_offset:string = FoundMessages;
//@description Contains information about a message in a specific position @position 0-based message position in the full list of suitable messages @message_id Message identifier @date Point in time (Unix timestamp) when the message was sent
messagePosition position:int32 message_id:int53 date:int32 = MessagePosition;
//@description Contains a list of message positions @total_count Total count of messages found @positions List of message positions
//@description Contains a list of message positions @total_count Total number of messages found @positions List of message positions
messagePositions total_count:int32 positions:vector<messagePosition> = MessagePositions;
//@description Contains information about found messages sent on a specific day @total_count Total number of found messages sent on the day @message First message sent on the day
@ -878,6 +878,27 @@ messageCalendar total_count:int32 days:vector<messageCalendarDay> = MessageCalen
sponsoredMessage message_id:int53 sponsor_chat_id:int53 sponsor_chat_info:chatInviteLinkInfo link:InternalLinkType content:MessageContent = SponsoredMessage;
//@description Describes a file added to file download list
//@file_id File identifier
//@message The message with the file
//@add_date Point in time (Unix timestamp) when the file was added to the download list
//@complete_date Point in time (Unix timestamp) when the file downloading was completed; 0 if the file downloading isn't completed
//@is_paused True, if downloading of the file is paused
fileDownload file_id:int32 message:message add_date:int32 complete_date:int32 is_paused:Bool = FileDownload;
//@description Contains number of being downloaded and recently downloaded files found
//@active_count Number of active file downloads found, including paused
//@paused_count Number of paused file downloads found
//@completed_count Number of completed file downloads found
downloadedFileCounts active_count:int32 paused_count:int32 completed_count:int32 = DownloadedFileCounts;
//@description Contains a list of downloaded files, found by a search
//@total_counts Total number of suitable files, ignoring offset
//@files The list of files
//@next_offset The offset for the next request. If empty, there are no more results
foundFileDownloads total_counts:downloadedFileCounts files:vector<fileDownload> next_offset:string = FoundFileDownloads;
//@class NotificationSettingsScope @description Describes the types of chats to which notification settings are relevant
//@description Notification settings applied to all private and secret chats when the corresponding chat setting has a default value
@ -1032,7 +1053,7 @@ videoChat group_call_id:int32 has_participants:Bool default_participant_id:Messa
//@client_data Application-specific data associated with the chat. (For example, the chat scroll position or local chat notification settings can be stored here.) Persistent if the message database is used
chat id:int53 type:ChatType title:string photo:chatPhotoInfo permissions:chatPermissions last_message:message positions:vector<chatPosition> message_sender_id:MessageSender has_protected_content:Bool is_marked_as_unread:Bool is_blocked:Bool has_scheduled_messages:Bool can_be_deleted_only_for_self:Bool can_be_deleted_for_all_users:Bool can_be_reported:Bool default_disable_notification:Bool unread_count:int32 last_read_inbox_message_id:int53 last_read_outbox_message_id:int53 unread_mention_count:int32 unread_reaction_count:int32 notification_settings:chatNotificationSettings available_reactions:vector<string> message_ttl:int32 theme_name:string action_bar:ChatActionBar video_chat:videoChat pending_join_requests:chatJoinRequestsInfo reply_markup_message_id:int53 draft_message:draftMessage client_data:string = Chat;
//@description Represents a list of chats @total_count Approximate total count of chats found @chat_ids List of chat identifiers
//@description Represents a list of chats @total_count Approximate total number of chats found @chat_ids List of chat identifiers
chats total_count:int32 chat_ids:vector<int53> = Chats;
@ -2308,6 +2329,19 @@ groupCallVideoQualityMedium = GroupCallVideoQuality;
groupCallVideoQualityFull = GroupCallVideoQuality;
//@description Describes an available stream in a group call
//@channel_id Identifier of an audio/video channel
//@scale Scale of segment durations in the stream. The duration is 1000/(2**scale) milliseconds
//@time_offset Point in time when the stream currently ends; Unix timestamp in milliseconds
groupCallStream channel_id:int32 scale:int32 time_offset:int53 = GroupCallStream;
//@description Represents a list of group call streams @streams A list of group call streams
groupCallStreams streams:vector<groupCallStream> = GroupCallStreams;
//@description Represents an RTMP url @url The URL @stream_key Stream key
rtmpUrl url:string stream_key:string = RtmpUrl;
//@description Describes a recently speaking participant in a group call @participant_id Group call participant identifier @is_speaking True, is the user has spoken recently
groupCallRecentSpeaker participant_id:MessageSender is_speaking:Bool = GroupCallRecentSpeaker;
@ -2317,10 +2351,12 @@ groupCallRecentSpeaker participant_id:MessageSender is_speaking:Bool = GroupCall
//@scheduled_start_date Point in time (Unix timestamp) when the group call is supposed to be started by an administrator; 0 if it is already active or was ended
//@enabled_start_notification True, if the group call is scheduled and the current user will receive a notification when the group call will start
//@is_active True, if the call is active
//@is_rtmp_stream True, if the chat is an RTMP stream instead of an ordinary video chat
//@is_joined True, if the call is joined
//@need_rejoin True, if user was kicked from the call because of network loss and the call needs to be rejoined
//@can_be_managed True, if the current user can manage the group call
//@participant_count Number of participants in the group call
//@has_hidden_listeners True, if group call participants, which are muted, aren't returned in participant list
//@loaded_all_participants True, if all group call participants are loaded
//@recent_speakers At most 3 recently speaking users in the group call
//@is_my_video_enabled True, if the current user's video is enabled
@ -2331,7 +2367,7 @@ groupCallRecentSpeaker participant_id:MessageSender is_speaking:Bool = GroupCall
//@record_duration Duration of the ongoing group call recording, in seconds; 0 if none. An updateGroupCall update is not triggered when value of this field changes, but the same recording goes on
//@is_video_recorded True, if a video file is being recorded for the call
//@duration Call duration, in seconds; for ended calls only
groupCall id:int32 title:string scheduled_start_date:int32 enabled_start_notification:Bool is_active:Bool is_joined:Bool need_rejoin:Bool can_be_managed:Bool participant_count:int32 loaded_all_participants:Bool recent_speakers:vector<groupCallRecentSpeaker> is_my_video_enabled:Bool is_my_video_paused:Bool can_enable_video:Bool mute_new_participants:Bool can_toggle_mute_new_participants:Bool record_duration:int32 is_video_recorded:Bool duration:int32 = GroupCall;
groupCall id:int32 title:string scheduled_start_date:int32 enabled_start_notification:Bool is_active:Bool is_rtmp_stream:Bool is_joined:Bool need_rejoin:Bool can_be_managed:Bool participant_count:int32 has_hidden_listeners:Bool loaded_all_participants:Bool recent_speakers:vector<groupCallRecentSpeaker> is_my_video_enabled:Bool is_my_video_paused:Bool can_enable_video:Bool mute_new_participants:Bool can_toggle_mute_new_participants:Bool record_duration:int32 is_video_recorded:Bool duration:int32 = GroupCall;
//@description Describes a group of video synchronization source identifiers @semantics The semantics of sources, one of "SIM" or "FID" @source_ids The list of synchronization source identifiers
groupCallVideoSourceGroup semantics:string source_ids:vector<int32> = GroupCallVideoSourceGroup;
@ -2408,7 +2444,7 @@ phoneNumberAuthenticationSettings allow_flash_call:Bool allow_missed_call:Bool i
//@description Represents a reaction applied to a message @reaction Text representation of the reaction @sender_id Identifier of the chat member, applied the reaction
addedReaction reaction:string sender_id:MessageSender = AddedReaction;
//@description Represents a list of reactions added to a message @total_count The total count of found reactions @reactions The list of added reactions @next_offset The offset for the next request. If empty, there are no more results
//@description Represents a list of reactions added to a message @total_count The total number of found reactions @reactions The list of added reactions @next_offset The offset for the next request. If empty, there are no more results
addedReactions total_count:int32 reactions:vector<addedReaction> next_offset:string = AddedReactions;
//@description Represents a list of available reactions @reactions List of reactions
@ -2737,7 +2773,7 @@ chatEventLogFilters message_edits:Bool message_deletions:Bool message_pins:Bool
//@description An ordinary language pack string @value String value
languagePackStringValueOrdinary value:string = LanguagePackStringValue;
//@description A language pack string which has different forms based on the number of some object it mentions. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more info
//@description A language pack string which has different forms based on the number of some object it mentions. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more information
//@zero_value Value for zero objects @one_value Value for one object @two_value Value for two objects
//@few_value Value for few objects @many_value Value for many objects @other_value Default value
languagePackStringValuePluralized zero_value:string one_value:string two_value:string few_value:string many_value:string other_value:string = LanguagePackStringValue;
@ -2755,7 +2791,7 @@ languagePackStrings strings:vector<languagePackString> = LanguagePackStrings;
//@description Contains information about a language pack @id Unique language pack identifier
//@base_language_pack_id Identifier of a base language pack; may be empty. If a string is missed in the language pack, then it must be fetched from base language pack. Unsupported in custom language packs
//@name Language name @native_name Name of the language in that language
//@plural_code A language code to be used to apply plural forms. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more info
//@plural_code A language code to be used to apply plural forms. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more information
//@is_official True, if the language pack is official @is_rtl True, if the language pack strings are RTL @is_beta True, if the language pack is a beta language pack
//@is_installed True, if the language pack is installed by the current user
//@total_string_count Total number of non-deleted strings from the language pack @translated_string_count Total number of translated strings from the language pack
@ -3240,6 +3276,12 @@ chatReportReasonUnrelatedLocation = ChatReportReason;
//@description The chat represents a fake account
chatReportReasonFake = ChatReportReason;
//@description The chat has illegal drugs related content
chatReportReasonIllegalDrugs = ChatReportReason;
//@description The chat contains messages with personal details
chatReportReasonPersonalDetails = ChatReportReason;
//@description A custom reason provided by the user
chatReportReasonCustom = ChatReportReason;
@ -3326,6 +3368,9 @@ internalLinkTypeUnknownDeepLink link:string = InternalLinkType;
//@description The link is a link to an unsupported proxy. An alert can be shown to the user
internalLinkTypeUnsupportedProxy = InternalLinkType;
//@description The link is a link to a user by its phone number. Call searchUserByPhoneNumber with the given phone number to process the link @phone_number Phone number of the user
internalLinkTypeUserPhoneNumber phone_number:string = InternalLinkType;
//@description The link is a link to a video chat. Call searchPublicChat with the given chat username, and then joinGroupCall with the given invite hash to process the link
//@chat_username Username of the chat with the video chat @invite_hash If non-empty, invite hash to be used to join the video chat without being muted by administrators
//@is_live_stream True, if the video chat is expected to be a live stream in a channel or a broadcast group
@ -3523,7 +3568,7 @@ tMeUrlTypeUser user_id:int53 = TMeUrlType;
//@description A URL linking to a public supergroup or channel @supergroup_id Identifier of the supergroup or channel
tMeUrlTypeSupergroup supergroup_id:int53 = TMeUrlType;
//@description A chat invite link @info Chat invite link info
//@description A chat invite link @info Information about the chat invite link
tMeUrlTypeChatInvite info:chatInviteLinkInfo = TMeUrlType;
//@description A URL linking to a sticker set @sticker_set_id Identifier of the sticker set
@ -3856,7 +3901,7 @@ updateChatIsMarkedAsUnread chat_id:int53 is_marked_as_unread:Bool = Update;
//@description The list of chat filters or a chat filter has changed @chat_filters The new list of chat filters
updateChatFilters chat_filters:vector<chatFilterInfo> = Update;
//@description The number of online group members has changed. This update with non-zero count is sent only for currently opened chats. There is no guarantee that it will be sent just after the count has changed @chat_id Identifier of the chat @online_member_count New number of online members in the chat, or 0 if unknown
//@description The number of online group members has changed. This update with non-zero number of online group members is sent only for currently opened chats. There is no guarantee that it will be sent just after the number of online users has changed @chat_id Identifier of the chat @online_member_count New number of online members in the chat, or 0 if unknown
updateChatOnlineMemberCount chat_id:int53 online_member_count:int32 = Update;
//@description Notification settings for some type of chats were updated @scope Types of chats for which notification settings were updated @notification_settings The new notification settings
@ -3933,6 +3978,24 @@ updateFileGenerationStart generation_id:int64 original_path:string destination_p
//@description File generation is no longer needed @generation_id Unique identifier for the generation process
updateFileGenerationStop generation_id:int64 = Update;
//@description The state of the file download list has changed
//@total_size Total size of files in the file download list, in bytes
//@total_count Total number of files in the file download list
//@downloaded_size Total downloaded size of files in the file download list, in bytes
updateFileDownloads total_size:int53 total_count:int32 downloaded_size:int53 = Update;
//@description A file was added to the file download list. This update is sent only after file download list is loaded for the first time @file_download The added file download @counts New number of being downloaded and recently downloaded files found
updateFileAddedToDownloads file_download:fileDownload counts:downloadedFileCounts = Update;
//@description A file download was changed. This update is sent only after file download list is loaded for the first time @file_id File identifier
//@complete_date Point in time (Unix timestamp) when the file downloading was completed; 0 if the file downloading isn't completed
//@is_paused True, if downloading of the file is paused
//@counts New number of being downloaded and recently downloaded files found
updateFileDownload file_id:int32 complete_date:int32 is_paused:Bool counts:downloadedFileCounts = Update;
//@description A file was removed from the file download list. This update is sent only after file download list is loaded for the first time @file_id File identifier @counts New number of being downloaded and recently downloaded files found
updateFileRemovedFromDownloads file_id:int32 counts:downloadedFileCounts = Update;
//@description New call was created or information about a call was updated @call New data about a call
updateCall call:call = Update;
@ -4175,7 +4238,7 @@ setDatabaseEncryptionKey new_encryption_key:bytes = Ok;
getPasswordState = PasswordState;
//@description Changes the password for the current user. If a new recovery email address is specified, then the change will not be applied until the new recovery email address is confirmed
//@old_password Previous password of the user @new_password New password of the user; may be empty to remove the password @new_hint New password hint; may be empty @set_recovery_email_address Pass true if the recovery email address must be changed @new_recovery_email_address New recovery email address; may be empty
//@old_password Previous password of the user @new_password New password of the user; may be empty to remove the password @new_hint New password hint; may be empty @set_recovery_email_address Pass true to change also the recovery email address @new_recovery_email_address New recovery email address; may be empty
setPassword old_password:string new_password:string new_hint:string set_recovery_email_address:Bool new_recovery_email_address:string = PasswordState;
//@description Returns a 2-step verification recovery email address that was previously set up. This method can be used to verify a password provided by the user @password The password for the current user
@ -4244,7 +4307,7 @@ getChat chat_id:int53 = Chat;
//@description Returns information about a message @chat_id Identifier of the chat the message belongs to @message_id Identifier of the message to get
getMessage chat_id:int53 message_id:int53 = Message;
//@description Returns information about a message, if it is available locally without sending network request. This is an offline request @chat_id Identifier of the chat the message belongs to @message_id Identifier of the message to get
//@description Returns information about a message, if it is available without sending network request. This is an offline request @chat_id Identifier of the chat the message belongs to @message_id Identifier of the message to get
getMessageLocally chat_id:int53 message_id:int53 = Message;
//@description Returns information about a message that is replied by a given message. Also returns the pinned message, the game message, and the invoice message for messages of the types messagePinMessage, messageGameScore, and messagePaymentSuccessful respectively
@ -4343,7 +4406,7 @@ getGroupsInCommon user_id:int53 offset_chat_id:int53 limit:int32 = Chats;
//@from_message_id Identifier of the message starting from which history must be fetched; use 0 to get results from the last message
//@offset Specify 0 to get results from exactly the from_message_id or a negative offset up to 99 to get additionally some newer messages
//@limit The maximum number of messages to be returned; must be positive and can't be greater than 100. If the offset is negative, the limit must be greater than or equal to -offset. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit
//@only_local If true, returns only messages that are available locally without sending network requests
//@only_local Pass true to get only messages that are available without sending network requests
getChatHistory chat_id:int53 from_message_id:int53 offset:int32 limit:int32 only_local:Bool = Messages;
//@description Returns messages in a message thread of a message. Can be used only if message.can_get_message_thread == true. Message thread of a channel message is in the channel's linked supergroup.
@ -4356,7 +4419,7 @@ getChatHistory chat_id:int53 from_message_id:int53 offset:int32 limit:int32 only
getMessageThreadHistory chat_id:int53 message_id:int53 from_message_id:int53 offset:int32 limit:int32 = Messages;
//@description Deletes all messages in the chat. Use chat.can_be_deleted_only_for_self and chat.can_be_deleted_for_all_users fields to find whether and how the method can be applied to the chat
//@chat_id Chat identifier @remove_from_chat_list Pass true if the chat needs to be removed from the chat list @revoke Pass true to delete chat history for all users
//@chat_id Chat identifier @remove_from_chat_list Pass true to remove the chat from all chat lists @revoke Pass true to delete chat history for all users
deleteChatHistory chat_id:int53 remove_from_chat_list:Bool revoke:Bool = Ok;
//@description Deletes a chat along with all messages in the corresponding chat for all chat members; requires owner privileges. For group chats this will release the username and remove all members. Chats with more than 1000 members can't be deleted using this method @chat_id Chat identifier
@ -4397,9 +4460,15 @@ searchSecretMessages chat_id:int53 query:string offset:string limit:int32 filter
//@description Searches for call messages. Returns the results in reverse chronological order (i. e., in order of decreasing message_id). For optimal performance, the number of returned messages is chosen by TDLib
//@from_message_id Identifier of the message from which to search; use 0 to get results from the last message
//@limit The maximum number of messages to be returned; up to 100. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit @only_missed If true, returns only messages with missed/declined calls
//@limit The maximum number of messages to be returned; up to 100. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit
//@only_missed Pass true to search only for messages with missed/declined calls
searchCallMessages from_message_id:int53 limit:int32 only_missed:Bool = Messages;
//@description Searches for outgoing messages with content of the type messageDocument in all chats except secret chats. Returns the results in reverse chronological order
//@query Query to search for in document file name and message caption
//@limit The maximum number of messages to be returned; up to 100
searchOutgoingDocumentMessages query:string limit:int32 = FoundMessages;
//@description Deletes all call messages @revoke Pass true to delete the messages for all users
deleteAllCallMessages revoke:Bool = Ok;
@ -4426,7 +4495,7 @@ getChatSparseMessagePositions chat_id:int53 filter:SearchMessagesFilter from_mes
//@from_message_id The message identifier from which to return information about messages; use 0 to get results from the last message
getChatMessageCalendar chat_id:int53 filter:SearchMessagesFilter from_message_id:int53 = MessageCalendar;
//@description Returns approximate number of messages of the specified type in the chat @chat_id Identifier of the chat in which to count messages @filter Filter for message content; searchMessagesFilterEmpty is unsupported in this function @return_local If true, returns count that is available locally without sending network requests, returning -1 if the number of messages is unknown
//@description Returns approximate number of messages of the specified type in the chat @chat_id Identifier of the chat in which to count messages @filter Filter for message content; searchMessagesFilterEmpty is unsupported in this function @return_local Pass true to get the number of messages without sending network requests, or -1 if the number of messages is unknown locally
getChatMessageCount chat_id:int53 filter:SearchMessagesFilter return_local:Bool = Count;
//@description Returns all scheduled messages in a chat. The messages are returned in a reverse chronological order (i.e., in order of decreasing message_id) @chat_id Chat identifier
@ -4496,7 +4565,8 @@ sendMessage chat_id:int53 message_thread_id:int53 reply_to_message_id:int53 opti
//@reply_to_message_id Identifier of a message to reply to or 0
//@options Options to be used to send the messages; pass null to use default options
//@input_message_contents Contents of messages to be sent. At most 10 messages can be added to an album
sendMessageAlbum chat_id:int53 message_thread_id:int53 reply_to_message_id:int53 options:messageSendOptions input_message_contents:vector<InputMessageContent> = Messages;
//@only_preview Pass true to get fake messages instead of actually sending them
sendMessageAlbum chat_id:int53 message_thread_id:int53 reply_to_message_id:int53 options:messageSendOptions input_message_contents:vector<InputMessageContent> only_preview:Bool = Messages;
//@description Invites a bot to a chat (if it is not yet a member) and sends it the /start command. Bots can't be invited to a private chat other than the chat with the bot. Bots can't be invited to channels (although they can be added as admins) and secret chats. Returns the sent message
//@bot_user_id Identifier of the bot @chat_id Identifier of the target chat @parameter A hidden parameter sent to the bot for deep linking purposes (https://core.telegram.org/bots#deep-linking)
@ -4509,7 +4579,7 @@ sendBotStartMessage bot_user_id:int53 chat_id:int53 parameter:string = Message;
//@options Options to be used to send the message; pass null to use default options
//@query_id Identifier of the inline query
//@result_id Identifier of the inline result
//@hide_via_bot If true, there will be no mention of a bot, via which the message is sent. Can be used only for bots GetOption("animation_search_bot_username"), GetOption("photo_search_bot_username") and GetOption("venue_search_bot_username")
//@hide_via_bot Pass true to hide the bot, via which the message is sent. Can be used only for bots GetOption("animation_search_bot_username"), GetOption("photo_search_bot_username"), and GetOption("venue_search_bot_username")
sendInlineQueryResultMessage chat_id:int53 message_thread_id:int53 reply_to_message_id:int53 options:messageSendOptions query_id:int64 result_id:string hide_via_bot:Bool = Message;
//@description Forwards previously sent messages. Returns the forwarded messages in the same order as the message identifiers passed in message_ids. If a message can't be forwarded, null will be returned instead of the message
@ -4517,9 +4587,9 @@ sendInlineQueryResultMessage chat_id:int53 message_thread_id:int53 reply_to_mess
//@from_chat_id Identifier of the chat from which to forward messages
//@message_ids Identifiers of the messages to forward. Message identifiers must be in a strictly increasing order. At most 100 messages can be forwarded simultaneously
//@options Options to be used to send the messages; pass null to use default options
//@send_copy If true, content of the messages will be copied without reference to the original sender. Always true if the messages are forwarded to a secret chat or are local
//@remove_caption If true, media caption of message copies will be removed. Ignored if send_copy is false
//@only_preview If true, messages will not be forwarded and instead fake messages will be returned
//@send_copy Pass true to copy content of the messages without reference to the original sender. Always true if the messages are forwarded to a secret chat or are local
//@remove_caption Pass true to remove media captions of message copies. Ignored if send_copy is false
//@only_preview Pass true to get fake messages instead of actually forwarding them
forwardMessages chat_id:int53 from_chat_id:int53 message_ids:vector<int53> options:messageSendOptions send_copy:Bool remove_caption:Bool only_preview:Bool = Messages;
//@description Resends messages which failed to send. Can be called only for messages for which messageSendingStateFailed.can_retry is true and after specified in messageSendingStateFailed.retry_after time passed.
@ -4632,8 +4702,8 @@ getMessageAvailableReactions chat_id:int53 message_id:int53 = AvailableReactions
//@description Changes chosen reaction for a message
//@chat_id Identifier of the chat to which the message belongs
//@message_id Identifier of the message
//@reaction Text representation of the new chosen reaction. Can be an empty string or the currently chosen reaction to remove the reaction
//@is_big True, if the reaction is added with a big animation
//@reaction Text representation of the new chosen reaction. Can be an empty string or the currently chosen non-big reaction to remove the reaction
//@is_big Pass true if the reaction is added with a big animation
setMessageReaction chat_id:int53 message_id:int53 reaction:string is_big:Bool = Ok;
//@description Returns reactions added for a message, along with their sender
@ -4710,7 +4780,7 @@ getLoginUrlInfo chat_id:int53 message_id:int53 button_id:int53 = LoginUrlInfo;
//@description Returns an HTTP URL which can be used to automatically authorize the user on a website after clicking an inline button of type inlineKeyboardButtonTypeLoginUrl.
//-Use the method getLoginUrlInfo to find whether a prior user confirmation is needed. If an error is returned, then the button must be handled as an ordinary URL button
//@chat_id Chat identifier of the message with the button @message_id Message identifier of the message with the button @button_id Button identifier
//@allow_write_access True, if the user allowed the bot to send them messages
//@allow_write_access Pass true to allow the bot to send messages to the current user
getLoginUrl chat_id:int53 message_id:int53 button_id:int53 allow_write_access:Bool = HttpUrl;
@ -4724,7 +4794,7 @@ getInlineQueryResults bot_user_id:int53 chat_id:int53 user_location:location que
//@description Sets the result of an inline query; for bots only
//@inline_query_id Identifier of the inline query
//@is_personal True, if the result of the query can be cached for the specified user
//@is_personal Pass true if results may be cached and returned only for the user that sent the query. By default, results may be returned to any user who sends the same query
//@results The results of the query
//@cache_time Allowed time to cache the results of the query, in seconds
//@next_offset Offset for the next inline query; pass an empty string if there are no more results
@ -4736,7 +4806,7 @@ answerInlineQuery inline_query_id:int64 is_personal:Bool results:vector<InputInl
//@description Sends a callback query to a bot and returns an answer. Returns an error with code 502 if the bot fails to answer the query before the query timeout expires @chat_id Identifier of the chat with the message @message_id Identifier of the message from which the query originated @payload Query payload
getCallbackQueryAnswer chat_id:int53 message_id:int53 payload:CallbackQueryPayload = CallbackQueryAnswer;
//@description Sets the result of a callback query; for bots only @callback_query_id Identifier of the callback query @text Text of the answer @show_alert If true, an alert must be shown to the user instead of a toast notification @url URL to be opened @cache_time Time during which the result of the query can be cached, in seconds
//@description Sets the result of a callback query; for bots only @callback_query_id Identifier of the callback query @text Text of the answer @show_alert Pass true to show an alert to the user instead of a toast notification @url URL to be opened @cache_time Time during which the result of the query can be cached, in seconds
answerCallbackQuery callback_query_id:int64 text:string show_alert:Bool url:string cache_time:int32 = Ok;
@ -4747,11 +4817,12 @@ answerShippingQuery shipping_query_id:int64 shipping_options:vector<shippingOpti
answerPreCheckoutQuery pre_checkout_query_id:int64 error_message:string = Ok;
//@description Updates the game score of the specified user in the game; for bots only @chat_id The chat to which the message with the game belongs @message_id Identifier of the message @edit_message True, if the message needs to be edited @user_id User identifier @score The new score
//@description Updates the game score of the specified user in the game; for bots only @chat_id The chat to which the message with the game belongs @message_id Identifier of the message
//@edit_message Pass true to edit the game message to include the current scoreboard @user_id User identifier @score The new score
//@force Pass true to update the score even if it decreases. If the score is 0, the user will be deleted from the high score table
setGameScore chat_id:int53 message_id:int53 edit_message:Bool user_id:int53 score:int32 force:Bool = Message;
//@description Updates the game score of the specified user in a game; for bots only @inline_message_id Inline message identifier @edit_message True, if the message needs to be edited @user_id User identifier @score The new score
//@description Updates the game score of the specified user in a game; for bots only @inline_message_id Inline message identifier @edit_message Pass true to edit the game message to include the current scoreboard @user_id User identifier @score The new score
//@force Pass true to update the score even if it decreases. If the score is 0, the user will be deleted from the high score table
setInlineGameScore inline_message_id:string edit_message:Bool user_id:int53 score:int32 force:Bool = Ok;
@ -4782,7 +4853,7 @@ closeChat chat_id:int53 = Ok;
//@chat_id Chat identifier
//@message_thread_id If not 0, a message thread identifier in which the messages are being viewed
//@message_ids The identifiers of the messages being viewed
//@force_read True, if messages in closed chats must be marked as read by the request
//@force_read Pass true to mark as read the specified messages even the chat is closed
viewMessages chat_id:int53 message_thread_id:int53 message_ids:vector<int53> force_read:Bool = Ok;
//@description Informs TDLib that the message content has been opened (e.g., the user has opened a photo, video, document, location or venue, or has listened to an audio file or voice note message). An updateMessageContentOpened update will be generated if something has changed @chat_id Chat identifier of the message @message_id Identifier of the message with the opened content
@ -4798,7 +4869,7 @@ getInternalLinkType link:string = InternalLinkType;
getExternalLinkInfo link:string = LoginUrlInfo;
//@description Returns an HTTP URL which can be used to automatically authorize the current user on a website after clicking an HTTP link. Use the method getExternalLinkInfo to find whether a prior user confirmation is needed
//@link The HTTP link @allow_write_access True, if the current user allowed the bot, returned in getExternalLinkInfo, to send them messages
//@link The HTTP link @allow_write_access Pass true if the current user allowed the bot, returned in getExternalLinkInfo, to send them messages
getExternalLink link:string allow_write_access:Bool = HttpUrl;
@ -4809,13 +4880,13 @@ readAllChatMentions chat_id:int53 = Ok;
readAllChatReactions chat_id:int53 = Ok;
//@description Returns an existing chat corresponding to a given user @user_id User identifier @force If true, the chat will be created without network request. In this case all information about the chat except its type, title and photo can be incorrect
//@description Returns an existing chat corresponding to a given user @user_id User identifier @force Pass true to create the chat without a network request. In this case all information about the chat except its type, title and photo can be incorrect
createPrivateChat user_id:int53 force:Bool = Chat;
//@description Returns an existing chat corresponding to a known basic group @basic_group_id Basic group identifier @force If true, the chat will be created without network request. In this case all information about the chat except its type, title and photo can be incorrect
//@description Returns an existing chat corresponding to a known basic group @basic_group_id Basic group identifier @force Pass true to create the chat without a network request. In this case all information about the chat except its type, title and photo can be incorrect
createBasicGroupChat basic_group_id:int53 force:Bool = Chat;
//@description Returns an existing chat corresponding to a known supergroup or channel @supergroup_id Supergroup or channel identifier @force If true, the chat will be created without network request. In this case all information about the chat except its type, title and photo can be incorrect
//@description Returns an existing chat corresponding to a known supergroup or channel @supergroup_id Supergroup or channel identifier @force Pass true to create the chat without a network request. In this case all information about the chat except its type, title and photo can be incorrect
createSupergroupChat supergroup_id:int53 force:Bool = Chat;
//@description Returns an existing chat corresponding to a known secret chat @secret_chat_id Secret chat identifier
@ -4826,10 +4897,10 @@ createNewBasicGroupChat user_ids:vector<int53> title:string = Chat;
//@description Creates a new supergroup or channel and sends a corresponding messageSupergroupChatCreate. Returns the newly created chat
//@title Title of the new chat; 1-128 characters
//@is_channel True, if a channel chat needs to be created
//@is_channel Pass true to create a channel chat
//@param_description Chat description; 0-255 characters
//@location Chat location if a location-based supergroup is being created; pass null to create an ordinary supergroup chat
//@for_import True, if the supergroup is created for importing messages using importMessage
//@for_import Pass true to create a supergroup for importing messages using importMessage
createNewSupergroupChat title:string is_channel:Bool description:string location:chatLocation for_import:Bool = Chat;
//@description Creates a new secret chat. Returns the newly created chat @user_id Identifier of the target user
@ -4896,7 +4967,7 @@ setChatDraftMessage chat_id:int53 message_thread_id:int53 draft_message:draftMes
setChatNotificationSettings chat_id:int53 notification_settings:chatNotificationSettings = Ok;
//@description Changes the ability of users to save, forward, or copy chat content. Supported only for basic groups, supergroups and channels. Requires owner privileges
//@chat_id Chat identifier @has_protected_content True, if chat content can't be saved locally, forwarded, or copied
//@chat_id Chat identifier @has_protected_content New value of has_protected_content
toggleChatHasProtectedContent chat_id:int53 has_protected_content:Bool = Ok;
//@description Changes the marked as unread state of a chat @chat_id Chat identifier @is_marked_as_unread New value of is_marked_as_unread
@ -4905,7 +4976,7 @@ toggleChatIsMarkedAsUnread chat_id:int53 is_marked_as_unread:Bool = Ok;
//@description Changes the value of the default disable_notification parameter, used when a message is sent to a chat @chat_id Chat identifier @default_disable_notification New value of default_disable_notification
toggleChatDefaultDisableNotification chat_id:int53 default_disable_notification:Bool = Ok;
//@description Changes reactions, available in a chat. Available for basic groups, supergroups, and channels. Requires can_change_info administrator right @chat_id Identifier of the chat @available_reactions New list of reactions, available in the chat. All reactions must be active and order of the reactions must be the same as in updateReactions
//@description Changes reactions, available in a chat. Available for basic groups, supergroups, and channels. Requires can_change_info administrator right @chat_id Identifier of the chat @available_reactions New list of reactions, available in the chat. All reactions must be active
setChatAvailableReactions chat_id:int53 available_reactions:vector<string> = Ok;
//@description Changes application-specific data associated with a chat @chat_id Chat identifier @client_data New value of client_data
@ -4927,8 +4998,8 @@ setChatSlowModeDelay chat_id:int53 slow_mode_delay:int32 = Ok;
//@description Pins a message in a chat; requires can_pin_messages rights or can_edit_messages rights in the channel
//@chat_id Identifier of the chat
//@message_id Identifier of the new pinned message
//@disable_notification True, if there must be no notification about the pinned message. Notifications are always disabled in channels and private chats
//@only_for_self True, if the message needs to be pinned for one side only; private chats only
//@disable_notification Pass true to disable notification about the pinned message. Notifications are always disabled in channels and private chats
//@only_for_self Pass true to pin the message only for self; private chats only
pinChatMessage chat_id:int53 message_id:int53 disable_notification:Bool only_for_self:Bool = Ok;
//@description Removes a pinned message from a chat; requires can_pin_messages rights in the group or can_edit_messages rights in the channel @chat_id Identifier of the chat @message_id Identifier of the removed pinned message
@ -4984,13 +5055,13 @@ searchChatMembers chat_id:int53 query:string limit:int32 filter:ChatMembersFilte
getChatAdministrators chat_id:int53 = ChatAdministrators;
//@description Clears draft messages in all chats @exclude_secret_chats If true, local draft messages in secret chats will not be cleared
//@description Clears message drafts in all chats @exclude_secret_chats Pass true to keep local message drafts in secret chats
clearAllDraftMessages exclude_secret_chats:Bool = Ok;
//@description Returns list of chats with non-default notification settings
//@scope If specified, only chats from the scope will be returned; pass null to return chats from all scopes
//@compare_sound If true, also chats with non-default sound will be returned
//@compare_sound Pass true to include in the response chats with only non-default sound
getChatNotificationSettingsExceptions scope:NotificationSettingsScope compare_sound:Bool = Chats;
//@description Returns the notification settings for chats of a given type @scope Types of chats for which to return the notification settings information
@ -5004,7 +5075,7 @@ resetAllNotificationSettings = Ok;
//@description Changes the pinned state of a chat. There can be up to GetOption("pinned_chat_count_max")/GetOption("pinned_archived_chat_count_max") pinned non-secret chats and the same number of secret chats in the main/archive chat list
//@chat_list Chat list in which to change the pinned state of the chat @chat_id Chat identifier @is_pinned True, if the chat is pinned
//@chat_list Chat list in which to change the pinned state of the chat @chat_id Chat identifier @is_pinned Pass true to pin the chat; pass false to unpin it
toggleChatIsPinned chat_list:ChatList chat_id:int53 is_pinned:Bool = Ok;
//@description Changes the order of pinned chats @chat_list Chat list in which to change the order of pinned chats @chat_ids The new list of pinned chats
@ -5013,11 +5084,10 @@ setPinnedChats chat_list:ChatList chat_ids:vector<int53> = Ok;
//@description Downloads a file from the cloud. Download progress and completion of the download will be notified through updateFile updates
//@file_id Identifier of the file to download
//@priority Priority of the download (1-32). The higher the priority, the earlier the file will be downloaded. If the priorities of two files are equal, then the last one for which downloadFile was called will be downloaded first
//@priority Priority of the download (1-32). The higher the priority, the earlier the file will be downloaded. If the priorities of two files are equal, then the last one for which downloadFile/addFileToDownloads was called will be downloaded first
//@offset The starting position from which the file needs to be downloaded
//@limit Number of bytes which need to be downloaded starting from the "offset" position before the download will automatically be canceled; use 0 to download without a limit
//@synchronous If false, this request returns file state just after the download has been started. If true, this request returns file state only after
//-the download has succeeded, has failed, has been canceled or a new downloadFile request with different offset/limit parameters was sent
//@synchronous Pass true to return response only after the file download has succeeded, has failed, has been canceled, or a new downloadFile request with different offset/limit parameters was sent; pass false to return file state immediately, just after the download has been started
downloadFile file_id:int32 priority:int32 offset:int32 limit:int32 synchronous:Bool = File;
//@description Returns file downloaded prefix size from a given offset, in bytes @file_id Identifier of the file @offset Offset from which downloaded prefix size needs to be calculated
@ -5062,6 +5132,39 @@ readFilePart file_id:int32 offset:int32 count:int32 = FilePart;
//@description Deletes a file from the TDLib file cache @file_id Identifier of the file to delete
deleteFile file_id:int32 = Ok;
//@description Adds a file from a message to the list of file downloads. Download progress and completion of the download will be notified through updateFile updates.
//-If message database is used, the list of file downloads is persistent across application restarts. The downloading is independent from download using downloadFile, i.e. it continues if downloadFile is canceled or is used to download a part of the file
//@file_id Identifier of the file to download
//@chat_id Chat identifier of the message with the file
//@message_id Message identifier
//@priority Priority of the download (1-32). The higher the priority, the earlier the file will be downloaded. If the priorities of two files are equal, then the last one for which downloadFile/addFileToDownloads was called will be downloaded first
addFileToDownloads file_id:int32 chat_id:int53 message_id:int53 priority:int32 = File;
//@description Changes pause state of a file in the file download list
//@file_id Identifier of the downloaded file
//@is_paused Pass true if the download is paused
toggleDownloadIsPaused file_id:int32 is_paused:Bool = Ok;
//@description Changes pause state of all files in the file download list @are_paused Pass true to pause all downloads; pass false to unpause them
toggleAllDownloadsArePaused are_paused:Bool = Ok;
//@description Removes a file from the file download list @file_id Identifier of the downloaded file @delete_from_cache Pass true to delete the file from the TDLib file cache
removeFileFromDownloads file_id:int32 delete_from_cache:Bool = Ok;
//@description Removes all files from the file download list
//@only_active Pass true to remove only active downloads, including paused
//@only_completed Pass true to remove only completed downloads
//@delete_from_cache Pass true to delete the file from the TDLib file cache
removeAllFilesFromDownloads only_active:Bool only_completed:Bool delete_from_cache:Bool = Ok;
//@description Searches for files in the file download list or recently downloaded files from the list
//@query Query to search for; may be empty to return all downloaded files
//@only_active Pass true to search only for active downloads, including paused
//@only_completed Pass true to search only for completed downloads
//@offset Offset of the first entry to return as received from the previous request; use empty string to get the first chunk of results
//@limit The maximum number of files to be returned
searchFileDownloads query:string only_active:Bool only_completed:Bool offset:string limit:int32 = FoundFileDownloads;
//@description Returns information about a file with messages exported from another app @message_file_head Beginning of the message file; up to 100 first lines
getMessageFileType message_file_head:string = MessageFileType;
@ -5085,7 +5188,7 @@ replacePrimaryChatInviteLink chat_id:int53 = ChatInviteLink;
//@name Invite link name; 0-32 characters
//@expiration_date Point in time (Unix timestamp) when the link will expire; pass 0 if never
//@member_limit The maximum number of chat members that can join the chat via the link simultaneously; 0-99999; pass 0 if not limited
//@creates_join_request True, if the link only creates join request. If true, member_limit must not be specified
//@creates_join_request Pass true if users joining the chat via the link need to be approved by chat administrators. In this case, member_limit must be 0
createChatInviteLink chat_id:int53 name:string expiration_date:int32 member_limit:int32 creates_join_request:Bool = ChatInviteLink;
//@description Edits a non-primary invite link for a chat. Available for basic groups, supergroups, and channels. Requires administrator privileges and can_invite_users right in the chat for own links and owner privileges for other links
@ -5094,7 +5197,7 @@ createChatInviteLink chat_id:int53 name:string expiration_date:int32 member_limi
//@name Invite link name; 0-32 characters
//@expiration_date Point in time (Unix timestamp) when the link will expire; pass 0 if never
//@member_limit The maximum number of chat members that can join the chat via the link simultaneously; 0-99999; pass 0 if not limited
//@creates_join_request True, if the link only creates join request. If true, member_limit must not be specified
//@creates_join_request Pass true if users joining the chat via the link need to be approved by chat administrators. In this case, member_limit must be 0
editChatInviteLink chat_id:int53 invite_link:string name:string expiration_date:int32 member_limit:int32 creates_join_request:Bool = ChatInviteLink;
//@description Returns information about an invite link. Requires administrator privileges and can_invite_users right in the chat to get own links and owner privileges to get other links
@ -5146,17 +5249,17 @@ joinChatByInviteLink invite_link:string = Chat;
//@limit The maximum number of requests to join the chat to return
getChatJoinRequests chat_id:int53 invite_link:string query:string offset_request:chatJoinRequest limit:int32 = ChatJoinRequests;
//@description Handles a pending join request in a chat @chat_id Chat identifier @user_id Identifier of the user that sent the request @approve True, if the request is approved. Otherwise the request is declined
//@description Handles a pending join request in a chat @chat_id Chat identifier @user_id Identifier of the user that sent the request @approve Pass true to approve the request; pass false to decline it
processChatJoinRequest chat_id:int53 user_id:int53 approve:Bool = Ok;
//@description Handles all pending join requests for a given link in a chat
//@chat_id Chat identifier
//@invite_link Invite link for which to process join requests. If empty, all join requests will be processed. Requires administrator privileges and can_invite_users right in the chat for own links and owner privileges for other links
//@approve True, if the requests are approved. Otherwise the requests are declined
//@approve Pass true to approve all requests; pass false to decline them
processChatJoinRequests chat_id:int53 invite_link:string approve:Bool = Ok;
//@description Creates a new call @user_id Identifier of the user to be called @protocol The call protocols supported by the application @is_video True, if a video call needs to be created
//@description Creates a new call @user_id Identifier of the user to be called @protocol The call protocols supported by the application @is_video Pass true to create a video call
createCall user_id:int53 protocol:callProtocol is_video:Bool = CallId;
//@description Accepts an incoming call @call_id Call identifier @protocol The call protocols supported by the application
@ -5165,7 +5268,7 @@ acceptCall call_id:int32 protocol:callProtocol = Ok;
//@description Sends call signaling data @call_id Call identifier @data The data
sendCallSignalingData call_id:int32 data:bytes = Ok;
//@description Discards a call @call_id Call identifier @is_disconnected True, if the user was disconnected @duration The call duration, in seconds @is_video True, if the call was a video call @connection_id Identifier of the connection used during the call
//@description Discards a call @call_id Call identifier @is_disconnected Pass true if the user was disconnected @duration The call duration, in seconds @is_video Pass true if the call was a video call @connection_id Identifier of the connection used during the call
discardCall call_id:int32 is_disconnected:Bool duration:int32 is_video:Bool connection_id:int64 = Ok;
//@description Sends a call rating @call_id Call identifier @rating Call rating; 1-5 @comment An optional user comment if the rating is less than 5 @problems List of the exact types of problems with the call, specified by the user
@ -5185,7 +5288,14 @@ setVideoChatDefaultParticipant chat_id:int53 default_participant_id:MessageSende
//@chat_id Chat identifier, in which the video chat will be created
//@title Group call title; if empty, chat title will be used
//@start_date Point in time (Unix timestamp) when the group call is supposed to be started by an administrator; 0 to start the video chat immediately. The date must be at least 10 seconds and at most 8 days in the future
createVideoChat chat_id:int53 title:string start_date:int32 = GroupCallId;
//@is_rtmp_stream Pass true to create an RTMP stream instead of an ordinary video chat; requires creator privileges
createVideoChat chat_id:int53 title:string start_date:int32 is_rtmp_stream:Bool = GroupCallId;
//@description Returns RTMP URL for streaming to the chat; requires creator privileges @chat_id Chat identifier
getVideoChatRtmpUrl chat_id:int53 = RtmpUrl;
//@description Replaces the current RTMP URL for streaming to the chat; requires creator privileges @chat_id Chat identifier
replaceVideoChatRtmpUrl chat_id:int53 = RtmpUrl;
//@description Returns information about a group call @group_call_id Group call identifier
getGroupCall group_call_id:int32 = GroupCall;
@ -5202,8 +5312,8 @@ toggleGroupCallEnabledStartNotification group_call_id:int32 enabled_start_notifi
//@participant_id Identifier of a group call participant, which will be used to join the call; pass null to join as self; video chats only
//@audio_source_id Caller audio channel synchronization source identifier; received from tgcalls
//@payload Group call join payload; received from tgcalls
//@is_muted True, if the user's microphone is muted
//@is_my_video_enabled True, if the user's video is enabled
//@is_muted Pass true to join the call with muted microphone
//@is_my_video_enabled Pass true if the user's video is enabled
//@invite_hash If non-empty, invite hash to be used to join the group call without being muted by administrators
joinGroupCall group_call_id:int32 participant_id:MessageSender audio_source_id:int32 payload:string is_muted:Bool is_my_video_enabled:Bool invite_hash:string = Text;
@ -5252,11 +5362,11 @@ toggleGroupCallIsMyVideoPaused group_call_id:int32 is_my_video_paused:Bool = Ok;
toggleGroupCallIsMyVideoEnabled group_call_id:int32 is_my_video_enabled:Bool = Ok;
//@description Informs TDLib that speaking state of a participant of an active group has changed @group_call_id Group call identifier
//@audio_source Group call participant's synchronization audio source identifier, or 0 for the current user @is_speaking True, if the user is speaking
//@audio_source Group call participant's synchronization audio source identifier, or 0 for the current user @is_speaking Pass true if the user is speaking
setGroupCallParticipantIsSpeaking group_call_id:int32 audio_source:int32 is_speaking:Bool = Ok;
//@description Toggles whether a participant of an active group call is muted, unmuted, or allowed to unmute themselves
//@group_call_id Group call identifier @participant_id Participant identifier @is_muted Pass true if the user must be muted and false otherwise
//@group_call_id Group call identifier @participant_id Participant identifier @is_muted Pass true to mute the user; pass false to unmute the them
toggleGroupCallParticipantIsMuted group_call_id:int32 participant_id:MessageSender is_muted:Bool = Ok;
//@description Changes volume level of a participant of an active group call. If the current user can manage the group call, then the participant's volume level will be changed for all users with the default volume level
@ -5279,6 +5389,9 @@ leaveGroupCall group_call_id:int32 = Ok;
//@description Ends a group call. Requires groupCall.can_be_managed @group_call_id Group call identifier
endGroupCall group_call_id:int32 = Ok;
//@description Returns information about available group call streams @group_call_id Group call identifier
getGroupCallStreams group_call_id:int32 = GroupCallStreams;
//@description Returns a file with a segment of a group call stream in a modified OGG format for audio or MPEG-4 format for video
//@group_call_id Group call identifier
//@time_offset Point in time when the stream segment begins; Unix timestamp in milliseconds
@ -5293,17 +5406,17 @@ toggleMessageSenderIsBlocked sender_id:MessageSender is_blocked:Bool = Ok;
//@description Blocks an original sender of a message in the Replies chat
//@message_id The identifier of an incoming message in the Replies chat
//@delete_message Pass true if the message must be deleted
//@delete_all_messages Pass true if all messages from the same sender must be deleted
//@report_spam Pass true if the sender must be reported to the Telegram moderators
//@delete_message Pass true to delete the message
//@delete_all_messages Pass true to delete all messages from the same sender
//@report_spam Pass true to report the sender to the Telegram moderators
blockMessageSenderFromReplies message_id:int53 delete_message:Bool delete_all_messages:Bool report_spam:Bool = Ok;
//@description Returns users and chats that were blocked by the current user @offset Number of users and chats to skip in the result; must be non-negative @limit The maximum number of users and chats to return; up to 100
getBlockedMessageSenders offset:int32 limit:int32 = MessageSenders;
//@description Adds a user to the contact list or edits an existing contact by their user identifier @contact The contact to add or edit; phone number can be empty and needs to be specified only if known, vCard is ignored
//@share_phone_number True, if the new contact needs to be allowed to see current user's phone number. A corresponding rule to userPrivacySettingShowPhoneNumber will be added if needed. Use the field userFullInfo.need_phone_number_privacy_exception to check whether the current user needs to be asked to share their phone number
//@description Adds a user to the contact list or edits an existing contact by their user identifier @contact The contact to add or edit; phone number may be empty and needs to be specified only if known, vCard is ignored
//@share_phone_number Pass true to share the current user's phone number with the new contact. A corresponding rule to userPrivacySettingShowPhoneNumber will be added if needed. Use the field userFullInfo.need_phone_number_privacy_exception to check whether the current user needs to be asked to share their phone number
addContact contact:contact share_phone_number:Bool = Ok;
//@description Adds new contacts or edits existing contacts by their phone numbers; contacts' user identifiers are ignored @contacts The list of contacts to import or edit; contacts' vCard are ignored and are not imported
@ -5329,6 +5442,9 @@ changeImportedContacts contacts:vector<contact> = ImportedContacts;
clearImportedContacts = Ok;
//@description Searches a user by their phone number @phone_number Phone number to search for
searchUserByPhoneNumber phone_number:string = User;
//@description Shares the phone number of the current user with a mutual contact. Supposed to be called when the user clicks on chatActionBarSharePhoneNumber @user_id Identifier of the user with whom to share the phone number. The user must be a mutual contact
sharePhoneNumber user_id:int53 = Ok;
@ -5404,7 +5520,7 @@ removeFavoriteSticker sticker:InputFile = Ok;
//@description Returns emoji corresponding to a sticker. The list is only for informational purposes, because a sticker is always sent with a fixed emoji from the corresponding Sticker object @sticker Sticker file identifier
getStickerEmojis sticker:InputFile = Emojis;
//@description Searches for emojis by keywords. Supported only if the file database is enabled @text Text to search for @exact_match True, if only emojis, which exactly match text needs to be returned @input_language_codes List of possible IETF language tags of the user's input language; may be empty if unknown
//@description Searches for emojis by keywords. Supported only if the file database is enabled @text Text to search for @exact_match Pass true if only emojis, which exactly match the text, needs to be returned @input_language_codes List of possible IETF language tags of the user's input language; may be empty if unknown
searchEmojis text:string exact_match:Bool input_language_codes:vector<string> = Emojis;
//@description Returns an animated emoji corresponding to a given emoji. Returns a 404 error if the emoji has no animated emoji @emoji The emoji
@ -5439,7 +5555,7 @@ removeRecentHashtag hashtag:string = Ok;
//@description Returns a web page preview by the text of the message. Do not call this function too often. Returns a 404 error if the web page has no preview @text Message text with formatting
getWebPagePreview text:formattedText = WebPage;
//@description Returns an instant view version of a web page if available. Returns a 404 error if the web page has no instant view page @url The web page URL @force_full If true, the full instant view for the web page will be returned
//@description Returns an instant view version of a web page if available. Returns a 404 error if the web page has no instant view page @url The web page URL @force_full Pass true to get full instant view for the web page
getWebPageInstantView url:string force_full:Bool = WebPageInstantView;
@ -5498,10 +5614,10 @@ terminateSession session_id:int64 = Ok;
//@description Terminates all other sessions of the current user
terminateAllOtherSessions = Ok;
//@description Toggles whether a session can accept incoming calls @session_id Session identifier @can_accept_calls True, if incoming calls can be accepted by the session
//@description Toggles whether a session can accept incoming calls @session_id Session identifier @can_accept_calls Pass true to allow accepting incoming calls by the session; pass false otherwise
toggleSessionCanAcceptCalls session_id:int64 can_accept_calls:Bool = Ok;
//@description Toggles whether a session can accept incoming secret chats @session_id Session identifier @can_accept_secret_chats True, if incoming secret chats can be accepted by the session
//@description Toggles whether a session can accept incoming secret chats @session_id Session identifier @can_accept_secret_chats Pass true to allow accepring secret chats by the session; pass false otherwise
toggleSessionCanAcceptSecretChats session_id:int64 can_accept_secret_chats:Bool = Ok;
//@description Changes the period of inactivity after which sessions will automatically be terminated @inactive_session_ttl_days New number of days of inactivity before sessions will be automatically terminated; 1-366 days
@ -5561,7 +5677,7 @@ getPaymentForm chat_id:int53 message_id:int53 theme:paymentFormTheme = PaymentFo
//@chat_id Chat identifier of the Invoice message
//@message_id Message identifier
//@order_info The order information, provided by the user; pass null if empty
//@allow_save True, if the order information can be saved
//@allow_save Pass true to save the order information
validateOrderInfo chat_id:int53 message_id:int53 order_info:orderInfo allow_save:Bool = ValidatedOrderInfo;
//@description Sends a filled-out payment form to the bot for final verification @chat_id Chat identifier of the Invoice message @message_id Message identifier
@ -5572,10 +5688,10 @@ sendPaymentForm chat_id:int53 message_id:int53 payment_form_id:int64 order_info_
//@description Returns information about a successful payment @chat_id Chat identifier of the PaymentSuccessful message @message_id Message identifier
getPaymentReceipt chat_id:int53 message_id:int53 = PaymentReceipt;
//@description Returns saved order info, if any
//@description Returns saved order information. Returns a 404 error if there is no saved order information
getSavedOrderInfo = OrderInfo;
//@description Deletes saved order info
//@description Deletes saved order information
deleteSavedOrderInfo = Ok;
//@description Deletes saved credentials for all payment provider bots
@ -5586,7 +5702,7 @@ deleteSavedCredentials = Ok;
getSupportUser = User;
//@description Returns backgrounds installed by the user @for_dark_theme True, if the backgrounds must be ordered for dark theme
//@description Returns backgrounds installed by the user @for_dark_theme Pass true to order returned backgrounds for a dark theme
getBackgrounds for_dark_theme:Bool = Backgrounds;
//@description Constructs a persistent HTTP URL for a background @name Background name @type Background type
@ -5598,7 +5714,7 @@ searchBackground name:string = Background;
//@description Changes the background selected by the user; adds background to the list of installed backgrounds
//@background The input background to use; pass null to create a new filled backgrounds or to remove the current background
//@type Background type; pass null to use the default type of the remote background or to remove the current background
//@for_dark_theme True, if the background is chosen for dark theme
//@for_dark_theme Pass true if the background is changed for a dark theme
setBackground background:InputBackground type:BackgroundType for_dark_theme:Bool = Background;
//@description Removes background from the list of installed backgrounds @background_id The background identifier
@ -5608,7 +5724,7 @@ removeBackground background_id:int64 = Ok;
resetBackgrounds = Ok;
//@description Returns information about the current localization target. This is an offline request if only_local is true. Can be called before authorization @only_local If true, returns only locally available information without sending network requests
//@description Returns information about the current localization target. This is an offline request if only_local is true. Can be called before authorization @only_local Pass true to get only locally available information without sending network requests
getLocalizationTargetInfo only_local:Bool = LocalizationTargetInfo;
//@description Returns information about a language pack. Returned language pack identifier may be different from a provided one. Can be called before authorization @language_pack_id Language pack identifier
@ -5681,7 +5797,7 @@ deleteAccount reason:string = Ok;
removeChatActionBar chat_id:int53 = Ok;
//@description Reports a chat to the Telegram moderators. A chat can be reported only from the chat action bar, or if chat.can_be_reported
//@chat_id Chat identifier @message_ids Identifiers of reported messages, if any @reason The reason for reporting the chat @text Additional report details; 0-1024 characters
//@chat_id Chat identifier @message_ids Identifiers of reported messages; may be empty to report the whole chat @reason The reason for reporting the chat @text Additional report details; 0-1024 characters
reportChat chat_id:int53 message_ids:vector<int53> reason:ChatReportReason text:string = Ok;
//@description Reports a chat photo to the Telegram moderators. A chat photo can be reported only if chat.can_be_reported
@ -5710,7 +5826,7 @@ getDatabaseStatistics = DatabaseStatistics;
//@description Optimizes storage usage, i.e. deletes some files and returns new storage usage statistics. Secret thumbnails can't be deleted
//@size Limit on the total size of files after deletion, in bytes. Pass -1 to use the default limit
//@ttl Limit on the time that has passed since the last time a file was accessed (or creation time for some filesystems). Pass -1 to use the default limit
//@count Limit on the total count of files after deletion. Pass -1 to use the default limit
//@count Limit on the total number of files after deletion. Pass -1 to use the default limit
//@immunity_delay The amount of time after the creation of a file during which it can't be deleted, in seconds. Pass -1 to use the default value
//@file_types If non-empty, only files with the given types are considered. By default, all types except thumbnails, profile photos, stickers and wallpapers are deleted
//@chat_ids If non-empty, only files from the given chats are considered. Use 0 as chat identifier to delete files not belonging to any chat (e.g., profile photos)
@ -5724,7 +5840,7 @@ optimizeStorage size:int53 ttl:int32 count:int32 immunity_delay:int32 file_types
//-Network type is used to check whether the library can use the network at all and also for collecting detailed network data usage statistics @type The new network type; pass null to set network type to networkTypeOther
setNetworkType type:NetworkType = Ok;
//@description Returns network data usage statistics. Can be called before authorization @only_current If true, returns only data for the current library launch
//@description Returns network data usage statistics. Can be called before authorization @only_current Pass true to get statistics only for the current library launch
getNetworkStatistics only_current:Bool = NetworkStatistics;
//@description Adds the specified data to data usage statistics. Can be called before authorization @entry The network statistics entry with the data to be added to statistics
@ -5890,10 +6006,10 @@ getApplicationConfig = JsonValue;
saveApplicationLogEvent type:string chat_id:int53 data:JsonValue = Ok;
//@description Adds a proxy server for network requests. Can be called before authorization @server Proxy server IP address @port Proxy server port @enable True, if the proxy needs to be enabled @type Proxy type
//@description Adds a proxy server for network requests. Can be called before authorization @server Proxy server IP address @port Proxy server port @enable Pass true to immediately enable the proxy @type Proxy type
addProxy server:string port:int32 enable:Bool type:ProxyType = Proxy;
//@description Edits an existing proxy server for network requests. Can be called before authorization @proxy_id Proxy identifier @server Proxy server IP address @port Proxy server port @enable True, if the proxy needs to be enabled @type Proxy type
//@description Edits an existing proxy server for network requests. Can be called before authorization @proxy_id Proxy identifier @server Proxy server IP address @port Proxy server port @enable Pass true to immediately enable the proxy @type Proxy type
editProxy proxy_id:int32 server:string port:int32 enable:Bool type:ProxyType = Proxy;
//@description Enables a proxy. Only one proxy can be enabled at a time. Can be called before authorization @proxy_id Proxy identifier