From 4aa66960fb88dab4867e564a7ac2c218422ff156 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 26 Oct 2021 20:20:07 +0000 Subject: [PATCH] Update content of files --- data/core.telegram.org.html | 141 +-- data/core.telegram.org/api.html | 141 +-- .../api/animated-emojis.html | 43 +- data/core.telegram.org/api/auth.html | 47 +- data/core.telegram.org/api/bots/buttons.html | 10 +- data/core.telegram.org/api/bots/commands.html | 10 +- data/core.telegram.org/api/bots/games.html | 4 +- data/core.telegram.org/api/bots/inline.html | 6 +- data/core.telegram.org/api/channel.html | 18 +- data/core.telegram.org/api/config.html | 154 ++- data/core.telegram.org/api/datacenter.html | 11 +- data/core.telegram.org/api/discussion.html | 2 +- data/core.telegram.org/api/end-to-end.html | 61 +- data/core.telegram.org/api/end-to-end_v1.html | 4 +- data/core.telegram.org/api/errors.html | 40 +- data/core.telegram.org/api/files.html | 68 +- data/core.telegram.org/api/folders.html | 8 +- data/core.telegram.org/api/import.html | 173 +++ data/core.telegram.org/api/invoking.html | 26 +- data/core.telegram.org/api/layers.html | 892 ++++++++++++-- data/core.telegram.org/api/live-location.html | 2 +- data/core.telegram.org/api/mentions.html | 6 +- data/core.telegram.org/api/offsets.html | 11 +- data/core.telegram.org/api/passport.html | 250 ++-- data/core.telegram.org/api/pattern.html | 2 +- data/core.telegram.org/api/payments.html | 46 +- data/core.telegram.org/api/pin.html | 12 +- data/core.telegram.org/api/poll.html | 12 +- data/core.telegram.org/api/push-updates.html | 1022 +++++++++-------- data/core.telegram.org/api/qr-login.html | 2 +- .../core.telegram.org/api/recent-actions.html | 6 +- data/core.telegram.org/api/requests.html | 133 --- .../api/scheduled-messages.html | 4 +- data/core.telegram.org/api/search.html | 4 +- data/core.telegram.org/api/srp.html | 112 +- data/core.telegram.org/api/stats.html | 10 +- data/core.telegram.org/api/threads.html | 12 +- data/core.telegram.org/api/top-rating.html | 4 +- data/core.telegram.org/api/updates.html | 18 +- .../api/url-authorization.html | 38 +- ...hemes-interactive-emoji-read-receipts.html | 115 ++ .../constructor/account.authorizationForm | 4 +- .../constructor/account.authorizations | 4 +- .../constructor/account.autoDownloadSettings | 4 +- .../constructor/account.chatThemes | 155 +++ .../constructor/account.chatThemesNotModified | 132 +++ .../constructor/account.contentSettings | 4 +- .../constructor/account.password | 11 +- .../constructor/account.passwordInputSettings | 4 +- .../constructor/account.passwordSettings | 4 +- .../constructor/account.privacyRules | 4 +- .../account.resetPasswordFailedWait | 147 +++ .../constructor/account.resetPasswordOk | 132 +++ .../account.resetPasswordRequestedWait | 147 +++ .../constructor/account.sentChangePhoneCode | 4 +- .../constructor/account.sentEmailCode | 4 +- .../constructor/account.takeout | 4 +- .../constructor/account.themes | 8 +- .../constructor/account.themesNotModified | 4 +- .../constructor/account.tmpPassword | 4 +- .../constructor/account.wallPapers | 8 +- .../constructor/account.wallPapersNotModified | 4 +- .../constructor/account.webAuthorizations | 4 +- .../constructor/accountDaysTTL.html | 4 +- .../constructor/auth.authorization | 4 +- .../constructor/auth.codeTypeCall | 4 +- .../constructor/auth.codeTypeFlashCall | 4 +- .../constructor/auth.codeTypeSms | 4 +- .../constructor/auth.exportedAuthorization | 8 +- .../constructor/auth.loginToken | 4 +- .../constructor/auth.loginTokenSuccess | 4 +- .../constructor/auth.passwordRecovery | 4 +- .../constructor/auth.sentAppCode | 4 +- .../constructor/auth.sentCode | 4 +- .../constructor/auth.sentCodeTypeCall | 4 +- .../constructor/auth.sentCodeTypeFlashCall | 4 +- .../constructor/auth.sentCodeTypeSms | 4 +- .../constructor/authorization.html | 4 +- .../constructor/autoDownloadSettings.html | 4 +- .../constructor/bankCardOpenUrl.html | 4 +- .../constructor/baseThemeArctic.html | 4 +- .../constructor/baseThemeClassic.html | 4 +- .../constructor/baseThemeDay.html | 4 +- .../constructor/baseThemeNight.html | 4 +- .../constructor/baseThemeTinted.html | 4 +- .../constructor/boolTrue.html | 4 +- .../constructor/botCommand.html | 4 +- .../botCommandScopeChatAdmins.html | 135 +++ .../constructor/botCommandScopeChats.html | 135 +++ .../constructor/botCommandScopeDefault.html | 132 +++ .../constructor/botCommandScopePeer.html | 147 +++ .../botCommandScopePeerAdmins.html | 150 +++ .../constructor/botCommandScopePeerUser.html | 155 +++ .../constructor/botCommandScopeUsers.html | 132 +++ .../constructor/botInfo.html | 8 +- .../botInlineMessageMediaAuto.html | 4 +- .../botInlineMessageMediaContact.html | 4 +- .../constructor/botInlineMessageMediaGeo.html | 4 +- .../botInlineMessageMediaInvoice.html | 189 +++ .../botInlineMessageMediaVenue.html | 4 +- .../constructor/botInlineMessageText.html | 4 +- .../constructor/botInlineResult.html | 4 +- .../constructor/cdnConfig.html | 4 +- .../constructor/cdnPublicKey.html | 4 +- .../constructor/channel.html | 35 +- .../constructor/channelAdminLogEvent.html | 2 +- ...channelAdminLogEventActionChangeAbout.html | 4 +- ...elAdminLogEventActionChangeHistoryTTL.html | 152 +++ ...elAdminLogEventActionChangeLinkedChat.html | 10 +- ...nnelAdminLogEventActionChangeLocation.html | 4 +- ...channelAdminLogEventActionChangePhoto.html | 4 +- ...elAdminLogEventActionChangeStickerSet.html | 4 +- ...nnelAdminLogEventActionChangeUsername.html | 4 +- ...dminLogEventActionDefaultBannedRights.html | 4 +- ...annelAdminLogEventActionDeleteMessage.html | 4 +- ...elAdminLogEventActionDiscardGroupCall.html | 147 +++ ...channelAdminLogEventActionEditMessage.html | 4 +- ...minLogEventActionExportedInviteDelete.html | 147 +++ ...AdminLogEventActionExportedInviteEdit.html | 152 +++ ...minLogEventActionExportedInviteRevoke.html | 147 +++ ...nelAdminLogEventActionParticipantJoin.html | 4 +- ...LogEventActionParticipantJoinByInvite.html | 150 +++ ...elAdminLogEventActionParticipantLeave.html | 4 +- ...nelAdminLogEventActionParticipantMute.html | 147 +++ ...nLogEventActionParticipantToggleAdmin.html | 4 +- ...minLogEventActionParticipantToggleBan.html | 4 +- ...lAdminLogEventActionParticipantUnmute.html | 147 +++ ...lAdminLogEventActionParticipantVolume.html | 147 +++ ...nelAdminLogEventActionStartGroupCall.html} | 59 +- .../channelAdminLogEventActionStopPoll.html | 4 +- ...nLogEventActionToggleGroupCallSetting.html | 147 +++ ...annelAdminLogEventActionToggleInvites.html | 4 +- ...nLogEventActionTogglePreHistoryHidden.html | 4 +- ...elAdminLogEventActionToggleSignatures.html | 4 +- ...nnelAdminLogEventActionToggleSlowMode.html | 4 +- ...hannelAdminLogEventActionUpdatePinned.html | 4 +- .../channelAdminLogEventsFilter.html | 14 +- .../constructor/channelForbidden.html | 8 +- .../constructor/channelFull.html | 45 +- .../constructor/channelLocation.html | 4 +- .../constructor/channelLocationEmpty.html | 4 +- .../constructor/channelMessagesFilter.html | 4 +- .../channelMessagesFilterEmpty.html | 4 +- .../constructor/channelParticipant.html | 8 +- .../constructor/channelParticipantAdmin.html | 12 +- .../constructor/channelParticipantBanned.html | 14 +- .../channelParticipantCreator.html | 8 +- .../constructor/channelParticipantLeft.html | 12 +- .../constructor/channelParticipantSelf.html | 4 +- .../channelParticipantsAdmins.html | 4 +- .../channelParticipantsBanned.html | 4 +- .../constructor/channelParticipantsBots.html | 4 +- .../channelParticipantsContacts.html | 4 +- .../channelParticipantsKicked.html | 4 +- .../channelParticipantsMentions.html | 4 +- .../channelParticipantsSearch.html | 4 +- .../constructor/channels.adminLogResults | 4 +- .../constructor/channels.channelParticipant | 11 +- .../constructor/channels.channelParticipants | 11 +- .../channels.channelParticipantsNotModified | 4 +- data/core.telegram.org/constructor/chat.html | 18 +- .../constructor/chatAdminRights.html | 14 +- .../constructor/chatAdminWithInvites.html | 157 +++ .../constructor/chatBannedRights.html | 4 +- .../constructor/chatEmpty.html | 8 +- .../constructor/chatForbidden.html | 8 +- .../constructor/chatFull.html | 34 +- .../constructor/chatInvite.html | 4 +- .../constructor/chatInviteAlready.html | 4 +- .../constructor/chatInviteEmpty.html | 6 +- .../constructor/chatInviteExported.html | 51 +- .../constructor/chatInviteImporter.html | 152 +++ .../constructor/chatInvitePeek.html | 4 +- .../constructor/chatOnlines.html | 4 +- .../constructor/chatParticipant.html | 10 +- .../constructor/chatParticipantAdmin.html | 10 +- .../constructor/chatParticipantCreator.html | 8 +- .../constructor/chatParticipants.html | 8 +- .../chatParticipantsForbidden.html | 8 +- .../constructor/chatPhoto.html | 23 +- .../constructor/chatPhotoEmpty.html | 4 +- .../constructor/chatTheme.html | 157 +++ .../constructor/codeSettings.html | 4 +- .../core.telegram.org/constructor/config.html | 4 +- .../constructor/contact.html | 8 +- .../constructor/contactStatus.html | 8 +- .../constructor/contacts.blocked | 4 +- .../constructor/contacts.blockedSlice | 4 +- .../constructor/contacts.contacts | 4 +- .../constructor/contacts.contactsNotModified | 4 +- .../constructor/contacts.found | 4 +- .../constructor/contacts.importedContacts | 6 +- .../constructor/contacts.resolvedPeer | 4 +- .../constructor/contacts.topPeers | 4 +- .../constructor/contacts.topPeersDisabled | 4 +- .../constructor/contacts.topPeersNotModified | 4 +- .../constructor/dataJSON.html | 4 +- .../constructor/dcOption.html | 4 +- .../constructor/decryptedMessage.html | 6 +- .../decryptedMessageActionAcceptKey.html | 4 +- .../decryptedMessageActionCommitKey.html | 4 +- .../decryptedMessageActionDeleteMessages.html | 4 +- .../decryptedMessageActionFlushHistory.html | 4 +- .../decryptedMessageActionNoop.html | 4 +- .../decryptedMessageActionNotifyLayer.html | 6 +- .../decryptedMessageActionReadMessages.html | 4 +- .../decryptedMessageActionRequestKey.html | 4 +- .../decryptedMessageActionResend.html | 4 +- ...ryptedMessageActionScreenshotMessages.html | 4 +- .../decryptedMessageActionSetMessageTTL.html | 4 +- .../decryptedMessageActionTyping.html | 4 +- .../constructor/decryptedMessageLayer.html | 6 +- .../decryptedMessageMediaAudio.html | 6 +- .../decryptedMessageMediaContact.html | 4 +- .../decryptedMessageMediaDocument.html | 4 +- .../decryptedMessageMediaEmpty.html | 4 +- ...decryptedMessageMediaExternalDocument.html | 4 +- .../decryptedMessageMediaGeoPoint.html | 4 +- .../decryptedMessageMediaVenue.html | 4 +- .../decryptedMessageMediaVideo.html | 6 +- .../decryptedMessageMediaWebPage.html | 4 +- .../constructor/decryptedMessageService.html | 4 +- .../core.telegram.org/constructor/dialog.html | 4 +- .../constructor/dialogFilter.html | 4 +- .../constructor/dialogFilterSuggested.html | 4 +- .../constructor/dialogFolder.html | 4 +- .../constructor/dialogPeer.html | 4 +- .../constructor/dialogPeerFolder.html | 4 +- .../constructor/disabledFeature.html | 4 +- .../constructor/document.html | 4 +- .../documentAttributeAnimated.html | 4 +- .../constructor/documentAttributeAudio.html | 4 +- .../documentAttributeFilename.html | 4 +- .../documentAttributeHasStickers.html | 4 +- .../documentAttributeImageSize.html | 4 +- .../constructor/documentAttributeSticker.html | 4 +- .../constructor/documentAttributeVideo.html | 4 +- .../constructor/documentEmpty.html | 4 +- .../constructor/draftMessage.html | 4 +- .../constructor/draftMessageEmpty.html | 4 +- .../constructor/emojiKeyword.html | 4 +- .../constructor/emojiKeywordDeleted.html | 4 +- .../constructor/emojiKeywordsDifference.html | 4 +- .../constructor/emojiLanguage.html | 4 +- .../constructor/emojiURL.html | 4 +- .../constructor/encryptedChat.html | 10 +- .../constructor/encryptedChatDiscarded.html | 16 +- .../constructor/encryptedChatEmpty.html | 4 +- .../constructor/encryptedChatRequested.html | 10 +- .../constructor/encryptedChatWaiting.html | 10 +- .../constructor/encryptedFile.html | 4 +- .../constructor/encryptedFileEmpty.html | 4 +- .../constructor/encryptedMessage.html | 4 +- .../constructor/encryptedMessageService.html | 4 +- data/core.telegram.org/constructor/error.html | 4 +- .../constructor/exportedMessageLink.html | 4 +- .../constructor/fileHash.html | 4 +- .../constructor/fileLocation.html | 4 +- .../fileLocationToBeDeprecated.html | 6 +- .../constructor/fileLocationUnavailable.html | 4 +- .../core.telegram.org/constructor/folder.html | 4 +- .../constructor/folderPeer.html | 4 +- data/core.telegram.org/constructor/game.html | 4 +- .../constructor/geoPoint.html | 4 +- .../constructor/geoPointEmpty.html | 4 +- .../constructor/globalPrivacySettings.html | 4 +- .../constructor/groupCall.html | 230 ++++ .../constructor/groupCallDiscarded.html | 157 +++ .../constructor/groupCallParticipant.html | 247 ++++ .../groupCallParticipantVideo.html | 167 +++ .../groupCallParticipantVideoSourceGroup.html | 152 +++ .../constructor/help.appUpdate | 11 +- .../constructor/help.countriesList | 4 +- .../constructor/help.countriesListNotModified | 4 +- .../constructor/help.country | 4 +- .../constructor/help.countryCode | 4 +- .../constructor/help.deepLinkInfo | 4 +- .../constructor/help.deepLinkInfoEmpty | 4 +- .../constructor/help.inviteText | 4 +- .../constructor/help.noAppUpdate | 4 +- .../constructor/help.passportConfig | 4 +- .../help.passportConfigNotModified | 4 +- .../constructor/help.promoDataEmpty | 4 +- .../constructor/help.recentMeUrls | 4 +- .../constructor/help.support | 4 +- .../constructor/help.supportName | 4 +- .../constructor/help.termsOfService | 4 +- .../constructor/help.termsOfServiceUpdate | 4 +- .../help.termsOfServiceUpdateEmpty | 4 +- .../constructor/help.userInfo | 4 +- .../constructor/help.userInfoEmpty | 4 +- .../constructor/highScore.html | 2 +- .../constructor/importedContact.html | 8 +- .../constructor/inlineBotSwitchPM.html | 4 +- .../inlineQueryPeerTypeBroadcast.html | 135 +++ .../constructor/inlineQueryPeerTypeChat.html | 135 +++ .../inlineQueryPeerTypeMegagroup.html | 135 +++ .../constructor/inlineQueryPeerTypePM.html | 132 +++ .../inlineQueryPeerTypeSameBotPM.html | 132 +++ .../constructor/inputAppEvent.html | 4 +- .../inputBotInlineMessageGame.html | 4 +- .../constructor/inputBotInlineMessageID.html | 8 +- .../inputBotInlineMessageID64.html | 162 +++ .../inputBotInlineMessageMediaAuto.html | 4 +- .../inputBotInlineMessageMediaContact.html | 4 +- .../inputBotInlineMessageMediaGeo.html | 4 +- .../inputBotInlineMessageMediaInvoice.html | 187 +++ .../inputBotInlineMessageMediaVenue.html | 4 +- .../inputBotInlineMessageText.html | 4 +- .../constructor/inputBotInlineResult.html | 4 +- .../inputBotInlineResultDocument.html | 4 +- .../constructor/inputBotInlineResultGame.html | 4 +- .../inputBotInlineResultPhoto.html | 4 +- .../constructor/inputChannel.html | 8 +- .../constructor/inputChannelEmpty.html | 4 +- .../constructor/inputChannelFromMessage.html | 8 +- .../constructor/inputChatPhoto.html | 4 +- .../constructor/inputChatUploadedPhoto.html | 4 +- .../constructor/inputCheckPasswordEmpty.html | 4 +- .../constructor/inputCheckPasswordSRP.html | 4 +- .../constructor/inputClientProxy.html | 4 +- .../constructor/inputDialogPeer.html | 4 +- .../constructor/inputDialogPeerFolder.html | 4 +- .../constructor/inputDocument.html | 4 +- .../constructor/inputDocumentEmpty.html | 4 +- .../inputDocumentFileLocation.html | 4 +- .../constructor/inputEncryptedChat.html | 4 +- .../constructor/inputEncryptedFile.html | 4 +- .../inputEncryptedFileBigUploaded.html | 4 +- .../constructor/inputEncryptedFileEmpty.html | 4 +- .../inputEncryptedFileLocation.html | 4 +- .../inputEncryptedFileUploaded.html | 4 +- .../constructor/inputFile.html | 4 +- .../constructor/inputFileBig.html | 4 +- .../constructor/inputFileLocation.html | 4 +- .../constructor/inputFolderPeer.html | 4 +- .../constructor/inputGameID.html | 4 +- .../constructor/inputGameShortName.html | 4 +- .../constructor/inputGeoPoint.html | 4 +- .../constructor/inputGeoPointEmpty.html | 4 +- .../constructor/inputGroupCall.html | 152 +++ .../constructor/inputGroupCallStream.html | 172 +++ .../inputKeyboardButtonUrlAuth.html | 4 +- .../constructor/inputMediaContact.html | 4 +- .../constructor/inputMediaDice.html | 4 +- .../constructor/inputMediaDocument.html | 11 +- .../inputMediaDocumentExternal.html | 4 +- .../constructor/inputMediaEmpty.html | 4 +- .../constructor/inputMediaGame.html | 4 +- .../constructor/inputMediaGeoLive.html | 4 +- .../constructor/inputMediaGeoPoint.html | 4 +- .../constructor/inputMediaInvoice.html | 8 +- .../constructor/inputMediaPhoto.html | 4 +- .../constructor/inputMediaPhotoExternal.html | 4 +- .../constructor/inputMediaPoll.html | 4 +- .../inputMediaUploadedDocument.html | 4 +- .../constructor/inputMediaUploadedPhoto.html | 4 +- .../inputMediaUploadedThumbDocument.html | 4 +- .../constructor/inputMediaVenue.html | 4 +- .../inputMessageCallbackQuery.html | 4 +- .../inputMessageEntityMentionName.html | 4 +- .../constructor/inputMessageID.html | 4 +- .../constructor/inputMessagePinned.html | 4 +- .../constructor/inputMessageReplyTo.html | 4 +- .../inputMessagesFilterChatPhotos.html | 4 +- .../inputMessagesFilterContacts.html | 4 +- .../inputMessagesFilterDocument.html | 4 +- .../constructor/inputMessagesFilterEmpty.html | 4 +- .../constructor/inputMessagesFilterGif.html | 4 +- .../constructor/inputMessagesFilterMusic.html | 4 +- .../inputMessagesFilterMyMentions.html | 4 +- .../inputMessagesFilterPhoneCalls.html | 4 +- .../inputMessagesFilterPhotoVideo.html | 4 +- .../inputMessagesFilterPhotos.html | 4 +- .../inputMessagesFilterPinned.html | 4 +- .../inputMessagesFilterRoundVoice.html | 4 +- .../constructor/inputMessagesFilterUrl.html | 4 +- .../constructor/inputMessagesFilterVideo.html | 4 +- .../constructor/inputMessagesFilterVoice.html | 4 +- .../constructor/inputNotifyBroadcasts.html | 4 +- .../constructor/inputNotifyChats.html | 4 +- .../constructor/inputNotifyPeer.html | 4 +- .../constructor/inputNotifyUsers.html | 4 +- .../constructor/inputPaymentCredentials.html | 4 +- .../inputPaymentCredentialsAndroidPay.html | 6 +- .../inputPaymentCredentialsApplePay.html | 4 +- .../inputPaymentCredentialsGooglePay.html | 147 +++ .../inputPaymentCredentialsSaved.html | 4 +- .../constructor/inputPeerChannel.html | 8 +- .../inputPeerChannelFromMessage.html | 8 +- .../constructor/inputPeerChat.html | 8 +- .../constructor/inputPeerEmpty.html | 4 +- .../constructor/inputPeerNotifySettings.html | 4 +- .../inputPeerPhotoFileLocation.html | 20 +- .../constructor/inputPeerSelf.html | 4 +- .../constructor/inputPeerUser.html | 8 +- .../constructor/inputPeerUserFromMessage.html | 8 +- .../constructor/inputPhoneCall.html | 4 +- .../constructor/inputPhoneContact.html | 4 +- .../constructor/inputPhoto.html | 4 +- .../constructor/inputPhotoEmpty.html | 4 +- .../constructor/inputPhotoFileLocation.html | 4 +- .../inputPhotoLegacyFileLocation.html | 10 +- .../inputPrivacyKeyAddedByPhone.html | 4 +- .../inputPrivacyKeyChatInvite.html | 4 +- .../constructor/inputPrivacyKeyForwards.html | 4 +- .../constructor/inputPrivacyKeyPhoneCall.html | 4 +- .../inputPrivacyKeyPhoneNumber.html | 4 +- .../constructor/inputPrivacyKeyPhoneP2P.html | 4 +- .../inputPrivacyKeyProfilePhoto.html | 4 +- .../inputPrivacyKeyStatusTimestamp.html | 4 +- ...nputPrivacyValueAllowChatParticipants.html | 8 +- .../inputPrivacyValueAllowContacts.html | 4 +- .../inputPrivacyValueAllowUsers.html | 4 +- .../inputPrivacyValueDisallowAll.html | 4 +- ...tPrivacyValueDisallowChatParticipants.html | 8 +- .../inputPrivacyValueDisallowContacts.html | 4 +- .../inputPrivacyValueDisallowUsers.html | 4 +- .../inputReportReasonChildAbuse.html | 4 +- .../inputReportReasonCopyright.html | 4 +- .../constructor/inputReportReasonFake.html | 132 +++ .../inputReportReasonGeoIrrelevant.html | 4 +- .../constructor/inputReportReasonOther.html | 23 +- .../inputReportReasonPornography.html | 4 +- .../constructor/inputReportReasonSpam.html | 4 +- .../inputReportReasonViolence.html | 4 +- .../constructor/inputSecureFile.html | 4 +- .../constructor/inputSecureFileLocation.html | 4 +- .../constructor/inputSecureFileUploaded.html | 4 +- .../constructor/inputSecureValue.html | 4 +- .../constructor/inputSingleMedia.html | 4 +- .../inputStickerSetAnimatedEmoji.html | 4 +- ...nputStickerSetAnimatedEmojiAnimations.html | 132 +++ .../constructor/inputStickerSetDice.html | 4 +- .../constructor/inputStickerSetEmpty.html | 4 +- .../constructor/inputStickerSetItem.html | 4 +- .../constructor/inputStickerSetShortName.html | 4 +- .../constructor/inputStickerSetThumb.html | 15 +- .../inputStickeredMediaDocument.html | 4 +- .../constructor/inputStickeredMediaPhoto.html | 4 +- .../constructor/inputTakeoutFileLocation.html | 4 +- .../constructor/inputTheme.html | 4 +- .../constructor/inputThemeSettings.html | 25 +- .../constructor/inputThemeSlug.html | 4 +- .../constructor/inputUser.html | 8 +- .../constructor/inputUserEmpty.html | 4 +- .../constructor/inputUserFromMessage.html | 8 +- .../constructor/inputUserSelf.html | 4 +- .../constructor/inputWallPaper.html | 4 +- .../constructor/inputWallPaperNoFile.html | 34 +- .../constructor/inputWallPaperSlug.html | 4 +- .../constructor/inputWebDocument.html | 4 +- .../inputWebFileGeoPointLocation.html | 4 +- .../constructor/inputWebFileLocation.html | 4 +- .../constructor/invoice.html | 16 +- .../constructor/jsonArray.html | 4 +- .../constructor/jsonBool.html | 4 +- .../constructor/jsonNull.html | 4 +- .../constructor/jsonNumber.html | 4 +- .../constructor/jsonObject.html | 4 +- .../constructor/jsonObjectValue.html | 4 +- .../constructor/jsonString.html | 4 +- .../constructor/keyboardButton.html | 4 +- .../constructor/keyboardButtonBuy.html | 4 +- .../constructor/keyboardButtonCallback.html | 4 +- .../constructor/keyboardButtonGame.html | 4 +- .../keyboardButtonRequestGeoLocation.html | 4 +- .../keyboardButtonRequestPhone.html | 4 +- .../keyboardButtonRequestPoll.html | 4 +- .../constructor/keyboardButtonRow.html | 4 +- .../keyboardButtonSwitchInline.html | 4 +- .../constructor/keyboardButtonUrlAuth.html | 4 +- .../constructor/labeledPrice.html | 4 +- .../constructor/langPackDifference.html | 4 +- .../constructor/langPackLanguage.html | 4 +- .../constructor/langPackString.html | 4 +- .../constructor/langPackStringDeleted.html | 4 +- .../constructor/langPackStringPluralized.html | 4 +- .../constructor/maskCoords.html | 4 +- .../constructor/message.html | 13 +- .../constructor/messageActionBotAllowed.html | 4 +- .../messageActionChannelCreate.html | 4 +- .../messageActionChannelMigrateFrom.html | 8 +- .../constructor/messageActionChatAddUser.html | 2 +- .../constructor/messageActionChatCreate.html | 8 +- .../messageActionChatDeletePhoto.html | 4 +- .../messageActionChatDeleteUser.html | 8 +- .../messageActionChatEditPhoto.html | 4 +- .../messageActionChatEditTitle.html | 4 +- .../messageActionChatJoinedByLink.html | 8 +- .../messageActionChatMigrateTo.html | 8 +- .../messageActionContactSignUp.html | 4 +- .../messageActionCustomAction.html | 4 +- .../constructor/messageActionEmpty.html | 4 +- .../constructor/messageActionGameScore.html | 4 +- .../messageActionGeoProximityReached.html | 4 +- .../constructor/messageActionGroupCall.html | 157 +++ .../messageActionGroupCallScheduled.html | 152 +++ .../messageActionHistoryClear.html | 4 +- .../messageActionInviteToGroupCall.html | 152 +++ .../constructor/messageActionPaymentSent.html | 4 +- .../messageActionPaymentSentMe.html | 4 +- .../constructor/messageActionPhoneCall.html | 4 +- .../constructor/messageActionPinMessage.html | 4 +- .../messageActionScreenshotTaken.html | 4 +- .../messageActionSecureValuesSent.html | 4 +- .../messageActionSecureValuesSentMe.html | 4 +- ...gn.html => messageActionSetChatTheme.html} | 52 +- .../messageActionSetMessagesTTL.html | 147 +++ .../constructor/messageEmpty.html | 16 +- .../constructor/messageEntityBankCard.html | 4 +- .../constructor/messageEntityBlockquote.html | 4 +- .../constructor/messageEntityBold.html | 4 +- .../constructor/messageEntityBotCommand.html | 4 +- .../constructor/messageEntityCashtag.html | 4 +- .../constructor/messageEntityCode.html | 4 +- .../constructor/messageEntityEmail.html | 4 +- .../constructor/messageEntityHashtag.html | 4 +- .../constructor/messageEntityItalic.html | 4 +- .../constructor/messageEntityMention.html | 4 +- .../constructor/messageEntityMentionName.html | 8 +- .../constructor/messageEntityPhone.html | 4 +- .../constructor/messageEntityPre.html | 4 +- .../constructor/messageEntityStrike.html | 4 +- .../constructor/messageEntityTextUrl.html | 4 +- .../constructor/messageEntityUnderline.html | 4 +- .../constructor/messageEntityUnknown.html | 4 +- .../constructor/messageEntityUrl.html | 4 +- .../constructor/messageFwdHeader.html | 14 +- .../messageInteractionCounters.html | 4 +- .../constructor/messageMediaAudio.html | 4 +- .../constructor/messageMediaContact.html | 8 +- .../constructor/messageMediaDice.html | 4 +- .../constructor/messageMediaDocument.html | 4 +- .../constructor/messageMediaEmpty.html | 4 +- .../constructor/messageMediaGame.html | 4 +- .../constructor/messageMediaGeo.html | 4 +- .../constructor/messageMediaGeoLive.html | 4 +- .../constructor/messageMediaInvoice.html | 4 +- .../constructor/messageMediaPhoto.html | 4 +- .../constructor/messageMediaPoll.html | 4 +- .../constructor/messageMediaUnsupported.html | 4 +- .../constructor/messageMediaVenue.html | 4 +- .../constructor/messageMediaVideo.html | 4 +- .../constructor/messageMediaWebPage.html | 4 +- .../constructor/messageRange.html | 4 +- .../constructor/messageReplies.html | 8 +- .../constructor/messageReplyHeader.html | 4 +- .../constructor/messageService.html | 11 +- .../constructor/messageUserVote.html | 8 +- .../messageUserVoteInputOption.html | 8 +- .../constructor/messageUserVoteMultiple.html | 8 +- .../constructor/messageViews.html | 4 +- .../messages.affectedFoundMessages | 165 +++ .../constructor/messages.affectedHistory | 4 +- .../constructor/messages.affectedMessages | 4 +- .../constructor/messages.allStickers | 8 +- .../messages.allStickersNotModified | 4 +- .../constructor/messages.archivedStickers | 4 +- .../constructor/messages.botCallbackAnswer | 4 +- .../constructor/messages.botResults | 4 +- .../constructor/messages.channelMessages | 4 +- .../messages.chatAdminsWithInvites | 152 +++ .../constructor/messages.chatFull | 4 +- .../constructor/messages.chatInviteImporters | 157 +++ .../constructor/messages.chats | 4 +- .../constructor/messages.chatsSlice | 4 +- .../messages.checkedHistoryImportPeer | 150 +++ .../constructor/messages.dhConfig | 4 +- .../constructor/messages.dhConfigNotModified | 4 +- .../constructor/messages.dialogs | 4 +- .../constructor/messages.dialogsNotModified | 4 +- .../constructor/messages.dialogsSlice | 4 +- .../constructor/messages.discussionMessage | 11 +- .../constructor/messages.exportedChatInvite | 152 +++ .../messages.exportedChatInviteReplaced | 157 +++ .../constructor/messages.exportedChatInvites | 157 +++ .../constructor/messages.favedStickers | 8 +- .../messages.favedStickersNotModified | 4 +- .../constructor/messages.featuredStickers | 8 +- .../messages.featuredStickersNotModified | 4 +- .../constructor/messages.foundStickerSets | 8 +- .../messages.foundStickerSetsNotModified | 4 +- .../constructor/messages.highScores | 4 +- .../constructor/messages.historyImport | 150 +++ .../constructor/messages.historyImportParsed | 166 +++ .../constructor/messages.inactiveChats | 4 +- .../constructor/messages.messageEditData | 4 +- .../constructor/messages.messageViews | 4 +- .../constructor/messages.messages | 4 +- .../constructor/messages.messagesNotModified | 4 +- .../constructor/messages.messagesSlice | 4 +- .../constructor/messages.peerDialogs | 4 +- .../constructor/messages.recentStickers | 8 +- .../messages.recentStickersNotModified | 4 +- .../constructor/messages.savedGifs | 8 +- .../constructor/messages.savedGifsNotModified | 4 +- .../constructor/messages.searchCounter | 4 +- .../constructor/messages.sentEncryptedMessage | 4 +- .../constructor/messages.sentMessageLink | 4 +- .../constructor/messages.sponsoredMessages | 157 +++ .../constructor/messages.statedMessageLink | 4 +- .../constructor/messages.statedMessagesLinks | 4 +- .../constructor/messages.stickerSet | 4 +- .../messages.stickerSetInstallResultArchive | 4 +- .../messages.stickerSetInstallResultSuccess | 4 +- .../constructor/messages.stickers | 2 +- .../constructor/messages.stickersNotModified | 4 +- .../constructor/messages.votesList | 4 +- .../constructor/nearestDc.html | 4 +- .../constructor/notifyBroadcasts.html | 4 +- .../constructor/notifyChats.html | 4 +- .../constructor/notifyPeer.html | 4 +- .../constructor/notifyUsers.html | 4 +- data/core.telegram.org/constructor/null.html | 4 +- data/core.telegram.org/constructor/page.html | 4 +- .../constructor/pageBlockAnchor.html | 4 +- .../constructor/pageBlockAudio.html | 4 +- .../constructor/pageBlockBlockquote.html | 4 +- .../constructor/pageBlockChannel.html | 4 +- .../constructor/pageBlockCollage.html | 4 +- .../constructor/pageBlockCover.html | 4 +- .../constructor/pageBlockDivider.html | 4 +- .../constructor/pageBlockEmbed.html | 4 +- .../constructor/pageBlockEmbedPost.html | 4 +- .../constructor/pageBlockFooter.html | 4 +- .../constructor/pageBlockHeader.html | 4 +- .../constructor/pageBlockKicker.html | 4 +- .../constructor/pageBlockList.html | 4 +- .../constructor/pageBlockMap.html | 4 +- .../constructor/pageBlockOrderedList.html | 4 +- .../constructor/pageBlockParagraph.html | 4 +- .../constructor/pageBlockPhoto.html | 4 +- .../constructor/pageBlockPreformatted.html | 4 +- .../constructor/pageBlockPullquote.html | 4 +- .../constructor/pageBlockRelatedArticles.html | 4 +- .../constructor/pageBlockSlideshow.html | 4 +- .../constructor/pageBlockSubheader.html | 4 +- .../constructor/pageBlockSubtitle.html | 4 +- .../constructor/pageBlockTable.html | 4 +- .../constructor/pageBlockTitle.html | 4 +- .../constructor/pageBlockUnsupported.html | 4 +- .../constructor/pageCaption.html | 4 +- .../constructor/pageListItemBlocks.html | 4 +- .../constructor/pageListItemText.html | 4 +- .../pageListOrderedItemBlocks.html | 4 +- .../constructor/pageListOrderedItemText.html | 4 +- .../constructor/pageRelatedArticle.html | 4 +- .../constructor/pageTableCell.html | 4 +- .../constructor/pageTableRow.html | 4 +- ...BKDF2HMACSHA512iter100000SHA256ModPow.html | 4 +- .../constructor/passwordKdfAlgoUnknown.html | 4 +- .../constructor/paymentCharge.html | 4 +- .../constructor/paymentRequestedInfo.html | 4 +- .../paymentSavedCredentialsCard.html | 4 +- .../payments.ValidatedRequestedInfo | 2 +- .../constructor/payments.bankCardData | 4 +- .../constructor/payments.paymentForm | 53 +- .../constructor/payments.paymentReceipt | 38 +- .../constructor/payments.paymentResult | 4 +- .../payments.paymentVerificationNeeded | 4 +- .../constructor/payments.savedInfo | 4 +- .../constructor/peerBlocked.html | 4 +- .../constructor/peerChannel.html | 8 +- .../constructor/peerChat.html | 8 +- .../constructor/peerLocated.html | 4 +- .../constructor/peerNotifySettings.html | 4 +- .../constructor/peerSelfLocated.html | 4 +- .../constructor/peerSettings.html | 13 +- .../constructor/peerUser.html | 8 +- .../constructor/phone.exportedGroupCallInvite | 147 +++ .../constructor/phone.groupCall | 170 +++ .../constructor/phone.groupParticipants | 175 +++ .../constructor/phone.joinAsPeers | 157 +++ .../constructor/phone.phoneCall | 4 +- .../constructor/phoneCall.html | 10 +- .../constructor/phoneCallAccepted.html | 10 +- .../phoneCallDiscardReasonBusy.html | 4 +- .../phoneCallDiscardReasonDisconnect.html | 4 +- .../phoneCallDiscardReasonHangup.html | 4 +- .../phoneCallDiscardReasonMissed.html | 4 +- .../constructor/phoneCallDiscarded.html | 4 +- .../constructor/phoneCallEmpty.html | 4 +- .../constructor/phoneCallProtocol.html | 4 +- .../constructor/phoneCallRequested.html | 10 +- .../constructor/phoneCallWaiting.html | 10 +- .../constructor/phoneConnection.html | 4 +- .../constructor/phoneConnectionWebrtc.html | 4 +- data/core.telegram.org/constructor/photo.html | 4 +- .../constructor/photoCachedSize.html | 11 +- .../constructor/photoEmpty.html | 4 +- .../constructor/photoPathSize.html | 4 +- .../constructor/photoSize.html | 11 +- .../constructor/photoSizeEmpty.html | 4 +- .../constructor/photoSizeProgressive.html | 11 +- .../constructor/photoStrippedSize.html | 4 +- .../constructor/photos.photo | 4 +- .../constructor/photos.photos | 4 +- .../constructor/photos.photosSlice | 4 +- data/core.telegram.org/constructor/poll.html | 4 +- .../constructor/pollAnswer.html | 4 +- .../constructor/pollAnswerVoters.html | 4 +- .../constructor/pollResults.html | 8 +- .../constructor/postAddress.html | 4 +- .../constructor/privacyKeyAddedByPhone.html | 4 +- .../constructor/privacyKeyChatInvite.html | 4 +- .../constructor/privacyKeyForwards.html | 4 +- .../constructor/privacyKeyPhoneCall.html | 4 +- .../constructor/privacyKeyPhoneNumber.html | 4 +- .../constructor/privacyKeyPhoneP2P.html | 4 +- .../constructor/privacyKeyProfilePhoto.html | 4 +- .../privacyKeyStatusTimestamp.html | 4 +- .../constructor/privacyValueAllowAll.html | 4 +- .../privacyValueAllowChatParticipants.html | 8 +- .../privacyValueAllowContacts.html | 4 +- .../constructor/privacyValueAllowUsers.html | 8 +- .../privacyValueDisallowChatParticipants.html | 8 +- .../privacyValueDisallowContacts.html | 4 +- .../privacyValueDisallowUsers.html | 8 +- .../constructor/receivedNotifyMessage.html | 4 +- .../constructor/recentMeUrlChat.html | 8 +- .../constructor/recentMeUrlChatInvite.html | 4 +- .../constructor/recentMeUrlStickerSet.html | 4 +- .../constructor/recentMeUrlUnknown.html | 4 +- .../constructor/recentMeUrlUser.html | 8 +- .../constructor/replyInlineMarkup.html | 4 +- .../constructor/replyKeyboardForceReply.html | 11 +- .../constructor/replyKeyboardHide.html | 4 +- .../constructor/replyKeyboardMarkup.html | 11 +- .../constructor/restrictionReason.html | 4 +- .../constructor/savedPhoneContact.html | 4 +- .../secureCredentialsEncrypted.html | 4 +- .../constructor/secureData.html | 4 +- .../constructor/secureFile.html | 4 +- .../constructor/secureFileEmpty.html | 4 +- ...wordKdfAlgoPBKDF2HMACSHA512iter100000.html | 4 +- .../securePasswordKdfAlgoSHA512.html | 4 +- .../securePasswordKdfAlgoUnknown.html | 4 +- .../constructor/securePlainEmail.html | 4 +- .../constructor/securePlainPhone.html | 4 +- .../constructor/secureRequiredType.html | 4 +- .../constructor/secureRequiredTypeOneOf.html | 4 +- .../constructor/secureSecretSettings.html | 4 +- .../constructor/secureValue.html | 4 +- .../constructor/secureValueErrorData.html | 4 +- .../constructor/secureValueErrorFile.html | 4 +- .../constructor/secureValueErrorFiles.html | 4 +- .../secureValueErrorFrontSide.html | 4 +- .../constructor/secureValueErrorSelfie.html | 4 +- .../secureValueErrorTranslationFile.html | 4 +- .../secureValueErrorTranslationFiles.html | 4 +- .../constructor/secureValueHash.html | 4 +- .../constructor/secureValueTypeAddress.html | 4 +- .../secureValueTypeBankStatement.html | 4 +- .../secureValueTypeDriverLicense.html | 4 +- .../constructor/secureValueTypeEmail.html | 4 +- .../secureValueTypeIdentityCard.html | 4 +- .../secureValueTypeInternalPassport.html | 4 +- .../constructor/secureValueTypePassport.html | 4 +- .../secureValueTypePassportRegistration.html | 4 +- .../secureValueTypePersonalDetails.html | 4 +- .../constructor/secureValueTypePhone.html | 4 +- .../secureValueTypeRentalAgreement.html | 4 +- .../secureValueTypeTemporaryRegistration.html | 4 +- .../secureValueTypeUtilityBill.html | 4 +- .../sendMessageChooseContactAction.html | 4 +- .../sendMessageChooseStickerAction.html | 132 +++ .../sendMessageEmojiInteraction.html | 160 +++ .../sendMessageEmojiInteractionSeen.html | 150 +++ .../sendMessageGamePlayAction.html | 4 +- .../sendMessageGeoLocationAction.html | 4 +- .../sendMessageHistoryImportAction.html | 147 +++ .../sendMessageRecordAudioAction.html | 4 +- .../sendMessageRecordRoundAction.html | 4 +- .../sendMessageRecordVideoAction.html | 4 +- .../constructor/sendMessageTypingAction.html | 4 +- .../sendMessageUploadAudioAction.html | 4 +- .../sendMessageUploadDocumentAction.html | 4 +- .../sendMessageUploadPhotoAction.html | 4 +- .../sendMessageUploadRoundAction.html | 4 +- .../sendMessageUploadVideoAction.html | 4 +- .../speakingInGroupCallAction.html | 132 +++ .../constructor/sponsoredMessage.html | 175 +++ .../constructor/stats.broadcastStats | 4 +- .../constructor/stats.megagroupStats | 4 +- .../constructor/stats.messageStats | 4 +- .../constructor/statsAbsValueAndPrev.html | 10 +- .../constructor/statsDateRangeDays.html | 4 +- .../constructor/statsGraph.html | 4 +- .../constructor/statsGraphAsync.html | 4 +- .../constructor/statsGraphError.html | 4 +- .../constructor/statsGroupTopAdmin.html | 8 +- .../constructor/statsGroupTopInviter.html | 8 +- .../constructor/statsGroupTopPoster.html | 8 +- .../constructor/statsPercentValue.html | 4 +- .../constructor/statsURL.html | 4 +- .../constructor/stickerPack.html | 4 +- .../constructor/stickerSet.html | 17 +- .../constructor/stickerSetCovered.html | 4 +- .../constructor/stickerSetMultiCovered.html | 4 +- .../constructor/stickers.suggestedShortName | 147 +++ .../constructor/storage.fileGif | 4 +- .../constructor/storage.fileJpeg | 4 +- .../constructor/storage.fileMov | 4 +- .../constructor/storage.fileMp3 | 4 +- .../constructor/storage.fileMp4 | 4 +- .../constructor/storage.filePartial | 4 +- .../constructor/storage.filePdf | 4 +- .../constructor/storage.filePng | 4 +- .../constructor/storage.fileUnknown | 4 +- .../constructor/storage.fileWebp | 4 +- .../constructor/textAnchor.html | 4 +- .../constructor/textBold.html | 4 +- .../constructor/textConcat.html | 4 +- .../constructor/textEmail.html | 4 +- .../constructor/textEmpty.html | 4 +- .../constructor/textFixed.html | 4 +- .../constructor/textImage.html | 4 +- .../constructor/textItalic.html | 4 +- .../constructor/textPlain.html | 4 +- .../constructor/textStrike.html | 4 +- .../constructor/textSuperscript.html | 4 +- .../constructor/textUnderline.html | 4 +- .../constructor/textUrl.html | 4 +- data/core.telegram.org/constructor/theme.html | 13 +- .../constructor/themeSettings.html | 25 +- .../constructor/topPeer.html | 4 +- .../topPeerCategoryBotsInline.html | 4 +- .../constructor/topPeerCategoryBotsPM.html | 4 +- .../constructor/topPeerCategoryChannels.html | 4 +- .../topPeerCategoryCorrespondents.html | 4 +- .../topPeerCategoryForwardChats.html | 4 +- .../topPeerCategoryForwardUsers.html | 4 +- .../constructor/topPeerCategoryGroups.html | 4 +- .../constructor/topPeerCategoryPeers.html | 4 +- .../topPeerCategoryPhoneCalls.html | 4 +- data/core.telegram.org/constructor/true.html | 4 +- .../constructor/updateBotCallbackQuery.html | 2 +- .../constructor/updateBotCommands.html | 159 +++ .../constructor/updateBotInlineQuery.html | 13 +- .../constructor/updateBotInlineSend.html | 8 +- .../updateBotPrecheckoutQuery.html | 8 +- .../constructor/updateBotShippingQuery.html | 8 +- .../constructor/updateBotStopped.html | 165 +++ .../constructor/updateBotWebhookJSON.html | 4 +- .../updateBotWebhookJSONQuery.html | 4 +- .../constructor/updateChannel.html | 8 +- .../updateChannelAvailableMessages.html | 8 +- .../updateChannelMessageForwards.html | 8 +- .../updateChannelMessageViews.html | 8 +- .../constructor/updateChannelParticipant.html | 30 +- .../updateChannelReadMessagesContents.html | 8 +- .../constructor/updateChannelTooLong.html | 8 +- .../constructor/updateChannelUserTyping.html | 14 +- .../constructor/updateChannelWebPage.html | 8 +- .../constructor/updateChat.html | 147 +++ .../updateChatDefaultBannedRights.html | 4 +- .../constructor/updateChatParticipant.html | 192 ++++ .../constructor/updateChatParticipantAdd.html | 12 +- .../updateChatParticipantAdmin.html | 10 +- .../updateChatParticipantDelete.html | 10 +- .../constructor/updateChatUserTyping.html | 10 +- .../constructor/updateConfig.html | 4 +- .../constructor/updateContactsReset.html | 4 +- .../constructor/updateDcOptions.html | 4 +- .../updateDeleteChannelMessages.html | 8 +- .../constructor/updateDeleteMessages.html | 4 +- .../updateDeleteScheduledMessages.html | 4 +- .../constructor/updateDialogFilter.html | 4 +- .../constructor/updateDialogFilterOrder.html | 4 +- .../constructor/updateDialogFilters.html | 4 +- .../constructor/updateDialogPinned.html | 4 +- .../constructor/updateDialogUnreadMark.html | 4 +- .../constructor/updateDraftMessage.html | 4 +- .../constructor/updateEditChannelMessage.html | 4 +- .../constructor/updateEditMessage.html | 4 +- .../updateEncryptedChatTyping.html | 4 +- .../updateEncryptedMessagesRead.html | 4 +- .../constructor/updateEncryption.html | 4 +- .../constructor/updateFavedStickers.html | 4 +- .../constructor/updateFolderPeers.html | 4 +- .../constructor/updateGeoLiveViewed.html | 4 +- .../constructor/updateGroupCall.html | 155 +++ .../updateGroupCallConnection.html | 157 +++ .../updateGroupCallParticipants.html | 157 +++ .../updateInlineBotCallbackQuery.html | 8 +- .../constructor/updateLangPack.html | 4 +- .../constructor/updateLangPackTooLong.html | 4 +- .../constructor/updateLoginToken.html | 4 +- .../constructor/updateMessageID.html | 4 +- .../constructor/updateMessagePoll.html | 4 +- .../constructor/updateMessagePollVote.html | 18 +- .../constructor/updateNewChannelMessage.html | 4 +- .../updateNewEncryptedMessage.html | 11 +- .../constructor/updateNewMessage.html | 4 +- .../updateNewScheduledMessage.html | 4 +- .../constructor/updateNewStickerSet.html | 4 +- .../constructor/updateNotifySettings.html | 4 +- .../constructor/updatePeerBlocked.html | 4 +- .../constructor/updatePeerHistoryTTL.html | 157 +++ .../constructor/updatePeerLocated.html | 4 +- .../constructor/updatePhoneCall.html | 4 +- .../updatePhoneCallSignalingData.html | 4 +- .../updatePinnedChannelMessages.html | 8 +- .../constructor/updatePinnedDialogs.html | 4 +- .../constructor/updatePinnedMessages.html | 4 +- .../constructor/updatePrivacy.html | 4 +- .../constructor/updatePtsChanged.html | 4 +- .../updateReadChannelDiscussionInbox.html | 4 +- .../updateReadChannelDiscussionOutbox.html | 8 +- .../constructor/updateReadChannelInbox.html | 8 +- .../constructor/updateReadChannelOutbox.html | 8 +- .../updateReadFeaturedStickers.html | 4 +- .../constructor/updateReadHistoryInbox.html | 4 +- .../constructor/updateReadHistoryOutbox.html | 4 +- .../updateReadMessagesContents.html | 4 +- .../constructor/updateRecentStickers.html | 4 +- .../constructor/updateSavedGifs.html | 4 +- .../updateServiceNotification.html | 4 +- .../constructor/updateShort.html | 4 +- .../constructor/updateShortChatMessage.html | 17 +- .../constructor/updateShortMessage.html | 15 +- .../constructor/updateShortSentMessage.html | 11 +- .../constructor/updateStickerSets.html | 4 +- .../constructor/updateStickerSetsOrder.html | 4 +- .../constructor/updateTheme.html | 4 +- .../constructor/updateUserBlocked.html | 4 +- .../constructor/updateUserName.html | 10 +- .../constructor/updateUserPhone.html | 8 +- .../constructor/updateUserPhoto.html | 8 +- .../constructor/updateUserStatus.html | 8 +- .../constructor/updateUserTyping.html | 10 +- .../constructor/updateWebPage.html | 4 +- .../updates.channelDifferenceEmpty | 4 +- .../updates.channelDifferenceTooLong | 4 +- .../constructor/updates.difference | 4 +- .../constructor/updates.differenceEmpty | 4 +- .../constructor/updates.differenceSlice | 4 +- .../constructor/updates.differenceTooLong | 4 +- .../constructor/updates.html | 4 +- .../constructor/updates.state | 6 +- .../constructor/updatesCombined.html | 4 +- .../constructor/updatesTooLong.html | 4 +- .../constructor/upload.cdnFile | 4 +- .../constructor/upload.cdnFileReuploadNeeded | 4 +- .../core.telegram.org/constructor/upload.file | 4 +- .../constructor/upload.fileCdnRedirect | 4 +- .../constructor/upload.webFile | 4 +- .../constructor/urlAuthResultAccepted.html | 4 +- .../constructor/urlAuthResultDefault.html | 4 +- .../constructor/urlAuthResultRequest.html | 4 +- data/core.telegram.org/constructor/user.html | 13 +- .../constructor/userEmpty.html | 8 +- .../constructor/userFull.html | 16 +- .../constructor/userProfilePhoto.html | 19 +- .../constructor/userProfilePhotoEmpty.html | 4 +- .../constructor/userStatusEmpty.html | 4 +- .../constructor/userStatusLastMonth.html | 4 +- .../constructor/userStatusLastWeek.html | 4 +- .../constructor/userStatusOffline.html | 4 +- .../constructor/userStatusOnline.html | 4 +- .../constructor/userStatusRecently.html | 4 +- .../core.telegram.org/constructor/vector.html | 4 +- .../constructor/videoSize.html | 11 +- .../constructor/wallPaper.html | 4 +- .../constructor/wallPaperNoFile.html | 23 +- .../constructor/wallPaperSettings.html | 16 +- .../constructor/wallPaperSolid.html | 4 +- .../constructor/webAuthorization.html | 8 +- .../constructor/webDocument.html | 4 +- .../constructor/webDocumentNoProxy.html | 4 +- .../constructor/webPage.html | 4 +- .../constructor/webPageAttributeTheme.html | 4 +- .../constructor/webPageEmpty.html | 4 +- .../constructor/webPagePending.html | 4 +- .../method/account.acceptAuthorization | 8 +- .../method/account.cancelPasswordEmail | 4 +- .../method/account.changePhone | 17 +- .../method/account.checkUsername | 6 +- .../method/account.confirmPasswordEmail | 8 +- .../method/account.confirmPhone | 8 +- .../method/account.createTheme | 25 +- .../method/account.declinePasswordReset | 155 +++ .../method/account.deleteAccount | 4 +- .../method/account.deleteSecureValue | 4 +- .../method/account.finishTakeoutSession | 6 +- .../method/account.getAccountTTL | 4 +- .../method/account.getAllSecureValues | 4 +- .../method/account.getAuthorizationForm | 27 +- .../method/account.getAuthorizations | 4 +- .../method/account.getAutoDownloadSettings | 4 +- .../method/account.getChatThemes | 153 +++ .../account.getContactSignUpNotification | 4 +- .../method/account.getContentSettings | 4 +- .../method/account.getGlobalPrivacySettings | 7 +- .../method/account.getMultiWallPapers | 4 +- .../method/account.getNotifyExceptions | 10 +- .../method/account.getNotifySettings | 6 +- .../method/account.getPassword | 6 +- .../method/account.getPasswordSettings | 6 +- .../method/account.getPrivacy | 6 +- .../method/account.getSecureValue | 4 +- .../core.telegram.org/method/account.getTheme | 10 +- .../method/account.getThemes | 10 +- .../method/account.getTmpPassword | 8 +- .../method/account.getWallPaper | 25 +- .../method/account.getWallPapers | 10 +- .../method/account.initTakeoutSession | 12 +- .../method/account.installTheme | 4 +- .../method/account.installWallPaper | 23 +- .../method/account.registerDevice | 25 +- .../method/account.reportPeer | 9 +- .../method/account.reportProfilePhoto | 162 +++ .../method/account.resendPasswordEmail | 4 +- .../method/account.resetAuthorization | 8 +- .../method/account.resetPassword | 139 +++ .../method/account.resetWallPapers | 4 +- .../method/account.resetWebAuthorization | 21 +- .../method/account.resetWebAuthorizations | 4 +- .../method/account.saveAutoDownloadSettings | 4 +- .../method/account.saveSecureValue | 21 +- .../method/account.saveTheme | 4 +- .../method/account.saveWallPaper | 23 +- .../method/account.sendChangePhoneCode | 21 +- .../method/account.sendConfirmPhoneCode | 6 +- .../method/account.sendVerifyEmailCode | 21 +- .../method/account.sendVerifyPhoneCode | 21 +- .../method/account.setAccountTTL | 6 +- .../account.setContactSignUpNotification | 4 +- .../method/account.setContentSettings | 23 +- .../method/account.setGlobalPrivacySettings | 22 +- .../method/account.setPrivacy | 13 +- .../method/account.unregisterDevice | 10 +- .../method/account.updateDeviceLocked | 4 +- .../method/account.updateNotifySettings | 17 +- .../method/account.updatePasswordSettings | 19 +- .../method/account.updateProfile | 12 +- .../method/account.updateStatus | 4 +- .../method/account.updateTheme | 25 +- .../method/account.updateUsername | 14 +- .../method/account.uploadTheme | 6 +- .../method/account.uploadWallPaper | 30 +- .../method/account.verifyEmail | 11 +- .../method/account.verifyPhone | 16 +- .../method/auth.acceptLoginToken | 6 +- .../method/auth.bindTempAuthKey | 15 +- data/core.telegram.org/method/auth.cancelCode | 8 +- .../method/auth.checkPassword | 10 +- data/core.telegram.org/method/auth.checkPhone | 4 +- .../method/auth.checkRecoveryPassword | 174 +++ .../method/auth.dropTempAuthKeys | 4 +- .../method/auth.exportAuthorization | 8 +- .../method/auth.exportLoginToken | 25 +- .../method/auth.importAuthorization | 12 +- .../method/auth.importBotAuthorization | 17 +- .../method/auth.importLoginToken | 21 +- data/core.telegram.org/method/auth.logOut | 4 +- .../method/auth.recoverPassword | 23 +- .../method/auth.requestPasswordRecovery | 11 +- data/core.telegram.org/method/auth.resendCode | 15 +- .../method/auth.resetAuthorizations | 6 +- data/core.telegram.org/method/auth.sendCall | 2 +- data/core.telegram.org/method/auth.sendCode | 29 +- .../core.telegram.org/method/auth.sendInvites | 2 +- data/core.telegram.org/method/auth.sendSms | 2 +- data/core.telegram.org/method/auth.signIn | 14 +- data/core.telegram.org/method/auth.signUp | 23 +- .../method/bots.answerWebhookJSONQuery | 8 +- .../method/bots.getBotCommands | 154 +++ .../method/bots.resetBotCommands | 156 +++ .../method/bots.sendCustomRequest | 8 +- .../method/bots.setBotCommands | 43 +- .../method/channels.checkUsername | 12 +- .../method/channels.convertToGigagroup | 177 +++ .../method/channels.createChannel | 30 +- .../method/channels.deleteChannel | 25 +- .../method/channels.deleteHistory | 8 +- .../method/channels.deleteMessages | 10 +- .../method/channels.deleteUserHistory | 16 +- .../method/channels.editAdmin | 60 +- .../method/channels.editBanned | 54 +- .../method/channels.editCreator | 34 +- .../method/channels.editLocation | 6 +- .../method/channels.editPhoto | 34 +- .../method/channels.editTitle | 25 +- .../method/channels.exportMessageLink | 12 +- .../method/channels.getAdminLog | 14 +- .../method/channels.getAdminedPublicChannels | 8 +- .../method/channels.getChannels | 10 +- .../method/channels.getFullChannel | 17 +- .../method/channels.getGroupsForDiscussion | 4 +- .../method/channels.getInactiveChannels | 4 +- .../method/channels.getLeftChannels | 6 +- .../method/channels.getMessages | 12 +- .../method/channels.getParticipant | 31 +- .../method/channels.getParticipants | 21 +- .../method/channels.getSponsoredMessages | 149 +++ .../method/channels.inviteToChannel | 34 +- .../method/channels.joinChannel | 37 +- .../method/channels.leaveChannel | 22 +- .../method/channels.readHistory | 10 +- .../method/channels.readMessageContents | 10 +- .../method/channels.reportSpam | 12 +- .../method/channels.setDiscussionGroup | 25 +- .../method/channels.setStickers | 13 +- .../method/channels.togglePreHistoryHidden | 22 +- .../method/channels.toggleSignatures | 19 +- .../method/channels.toggleSlowMode | 26 +- .../method/channels.updateUsername | 22 +- .../method/channels.viewSponsoredMessage | 172 +++ .../method/contacts.acceptContact | 21 +- .../method/contacts.addContact | 21 +- data/core.telegram.org/method/contacts.block | 12 +- .../method/contacts.blockFromReplies | 11 +- .../method/contacts.deleteByPhones | 4 +- .../method/contacts.deleteContacts | 10 +- .../method/contacts.getBlocked | 4 +- .../method/contacts.getContactIDs | 8 +- .../method/contacts.getContacts | 8 +- .../method/contacts.getLocated | 19 +- .../method/contacts.getSaved | 6 +- .../method/contacts.getStatuses | 4 +- .../method/contacts.getTopPeers | 10 +- .../method/contacts.importContacts | 4 +- .../method/contacts.resetSaved | 4 +- .../method/contacts.resetTopPeerRating | 6 +- .../method/contacts.resolveUsername | 15 +- data/core.telegram.org/method/contacts.search | 8 +- .../method/contacts.toggleTopPeers | 4 +- .../core.telegram.org/method/contacts.unblock | 21 +- .../method/folders.deleteFolder | 27 +- .../method/folders.editPeerFolders | 12 +- .../method/help.acceptTermsOfService | 4 +- .../method/help.dismissSuggestion | 25 +- .../method/help.editUserInfo | 17 + .../method/help.getAppChangelog | 10 +- .../method/help.getAppConfig | 4 +- .../method/help.getAppUpdate | 6 +- .../method/help.getCdnConfig | 4 +- data/core.telegram.org/method/help.getConfig | 48 +- .../method/help.getCountriesList | 5 +- .../method/help.getDeepLinkInfo | 4 +- .../method/help.getInviteText | 4 +- .../method/help.getNearestDc | 4 +- .../method/help.getPassportConfig | 4 +- .../method/help.getPromoData | 7 +- .../method/help.getProxyData | 4 +- .../method/help.getRecentMeUrls | 4 +- data/core.telegram.org/method/help.getSupport | 4 +- .../method/help.getSupportName | 6 +- .../method/help.getTermsOfServiceUpdate | 4 +- .../core.telegram.org/method/help.getUserInfo | 6 +- .../method/help.hidePromoData | 7 +- data/core.telegram.org/method/help.saveAppLog | 4 +- .../method/help.setBotUpdatesStatus | 4 +- .../method/initConnection.html | 6 +- .../method/invokeAfterMsg.html | 4 +- .../method/invokeAfterMsgs.html | 4 +- .../method/invokeWithLayer.html | 33 +- .../method/invokeWithMessagesRange.html | 4 +- .../method/invokeWithTakeout.html | 21 +- .../method/invokeWithoutUpdates.html | 4 +- .../method/langpack.getDifference | 6 +- .../method/langpack.getLangPack | 6 +- .../method/langpack.getLanguage | 4 +- .../method/langpack.getLanguages | 2 +- .../method/langpack.getStrings | 6 +- .../method/messages.acceptEncryption | 18 +- .../method/messages.acceptUrlAuth | 17 +- .../method/messages.addChatUser | 44 +- .../method/messages.checkChatInvite | 10 +- .../method/messages.checkHistoryImport | 150 +++ .../method/messages.checkHistoryImportPeer | 172 +++ .../method/messages.clearAllDrafts | 4 +- .../method/messages.clearRecentStickers | 4 +- .../method/messages.createChat | 18 +- .../method/messages.deleteChat | 170 +++ .../method/messages.deleteChatUser | 34 +- .../method/messages.deleteExportedChatInvite | 155 +++ .../method/messages.deleteHistory | 17 +- .../method/messages.deleteMessages | 4 +- .../method/messages.deletePhoneCallHistory | 154 +++ .../messages.deleteRevokedExportedChatInvites | 155 +++ .../method/messages.deleteScheduledMessages | 10 +- .../method/messages.discardEncryption | 22 +- .../method/messages.editChatAbout | 25 +- .../method/messages.editChatAdmin | 16 +- .../messages.editChatDefaultBannedRights | 25 +- .../method/messages.editChatPhoto | 31 +- .../method/messages.editChatTitle | 22 +- .../method/messages.editExportedChatInvite | 193 ++++ .../method/messages.editInlineBotMessage | 8 +- .../method/messages.editMessage | 57 +- .../method/messages.exportChatInvite | 49 +- .../method/messages.faveSticker | 6 +- .../method/messages.forwardMessage | 2 +- .../method/messages.forwardMessages | 76 +- .../method/messages.getAdminsWithInvites | 149 +++ .../method/messages.getAllChats | 8 +- .../method/messages.getAllDrafts | 10 +- .../method/messages.getAllStickers | 10 +- .../method/messages.getArchivedStickers | 4 +- .../method/messages.getAttachedStickers | 4 +- .../method/messages.getBotCallbackAnswer | 18 +- .../method/messages.getChatInviteImporters | 172 +++ .../method/messages.getChats | 12 +- .../method/messages.getCommonChats | 12 +- .../method/messages.getDhConfig | 6 +- .../method/messages.getDialogFilters | 4 +- .../method/messages.getDialogUnreadMarks | 4 +- .../method/messages.getDialogs | 17 +- .../method/messages.getDiscussionMessage | 29 +- .../method/messages.getDocumentByHash | 6 +- .../method/messages.getEmojiKeywords | 4 +- .../messages.getEmojiKeywordsDifference | 4 +- .../method/messages.getEmojiKeywordsLanguages | 4 +- .../method/messages.getEmojiURL | 4 +- .../method/messages.getExportedChatInvite | 155 +++ .../method/messages.getExportedChatInvites | 180 +++ .../method/messages.getFavedStickers | 10 +- .../method/messages.getFeaturedStickers | 10 +- .../method/messages.getFullChat | 12 +- .../method/messages.getGameHighScores | 10 +- .../method/messages.getHistory | 23 +- .../method/messages.getInlineBotResults | 23 +- .../method/messages.getInlineGameHighScores | 8 +- .../method/messages.getMaskStickers | 10 +- .../method/messages.getMessageEditData | 12 +- .../method/messages.getMessageReactionsList | 4 +- .../messages.getMessageReadParticipants | 173 +++ .../method/messages.getMessages | 4 +- .../method/messages.getMessagesViews | 14 +- .../method/messages.getOldFeaturedStickers | 10 +- .../method/messages.getOnlines | 4 +- .../method/messages.getPeerDialogs | 17 +- .../method/messages.getPeerSettings | 8 +- .../method/messages.getPinnedDialogs | 6 +- .../method/messages.getPollResults | 12 +- .../method/messages.getPollVotes | 10 +- .../method/messages.getRecentLocations | 8 +- .../method/messages.getRecentStickers | 10 +- .../method/messages.getReplies | 31 +- .../method/messages.getSavedGifs | 10 +- .../method/messages.getScheduledHistory | 12 +- .../method/messages.getScheduledMessages | 8 +- .../method/messages.getSearchCounters | 21 +- .../method/messages.getSplitRanges | 4 +- .../method/messages.getStatsURL | 4 +- .../method/messages.getStickerSet | 7 +- .../method/messages.getStickers | 27 +- .../method/messages.getSuggestedDialogFilters | 4 +- .../method/messages.getUnreadMentions | 15 +- .../method/messages.getWebPage | 2 +- .../method/messages.getWebPagePreview | 8 +- .../method/messages.hidePeerSettingsBar | 4 +- .../method/messages.importChatInvite | 37 +- .../method/messages.initHistoryImport | 191 +++ .../method/messages.installStickerSet | 6 +- .../method/messages.markDialogUnread | 4 +- .../method/messages.migrateChat | 25 +- .../method/messages.readDiscussion | 22 +- .../method/messages.readEncryptedHistory | 6 +- .../method/messages.readFeaturedStickers | 4 +- .../method/messages.readHistory | 15 +- .../method/messages.readMentions | 12 +- .../method/messages.readMessageContents | 4 +- .../method/messages.receivedMessages | 4 +- .../method/messages.receivedQueue | 11 +- .../method/messages.reorderPinnedDialogs | 6 +- .../method/messages.reorderStickerSets | 4 +- data/core.telegram.org/method/messages.report | 18 +- .../method/messages.reportEncryptedSpam | 6 +- .../method/messages.reportSpam | 13 +- .../method/messages.requestEncryption | 16 +- .../method/messages.requestUrlAuth | 22 +- .../method/messages.saveDraft | 11 +- .../core.telegram.org/method/messages.saveGif | 6 +- .../method/messages.saveRecentSticker | 6 +- data/core.telegram.org/method/messages.search | 35 +- .../method/messages.searchGifs | 11 +- .../method/messages.searchGlobal | 8 +- .../method/messages.searchStickerSets | 10 +- .../method/messages.sendBroadcast | 2 +- .../method/messages.sendEncrypted | 17 +- .../method/messages.sendEncryptedFile | 17 +- .../method/messages.sendEncryptedService | 19 +- .../method/messages.sendInlineBotResult | 63 +- .../method/messages.sendMedia | 170 ++- .../method/messages.sendMessage | 86 +- .../method/messages.sendMultiMedia | 47 +- .../method/messages.sendReaction | 8 +- .../method/messages.sendScheduledMessages | 17 +- .../messages.sendScreenshotNotification | 17 +- .../method/messages.sendVote | 35 +- .../method/messages.setBotCallbackAnswer | 13 +- .../method/messages.setBotPrecheckoutResults | 2 +- .../method/messages.setBotShippingResults | 6 +- .../method/messages.setChatTheme | 185 +++ .../method/messages.setEncryptedTyping | 6 +- .../method/messages.setGameScore | 21 +- .../method/messages.setHistoryTTL | 182 +++ .../method/messages.setInlineBotResults | 93 +- .../method/messages.setInlineGameScore | 8 +- .../method/messages.setTyping | 28 +- .../method/messages.startBot | 29 +- .../method/messages.startHistoryImport | 180 +++ .../method/messages.toggleDialogPin | 16 +- .../method/messages.toggleStickerSets | 4 +- .../method/messages.uninstallStickerSet | 6 +- .../method/messages.unpinAllMessages | 4 +- .../method/messages.updateDialogFilter | 16 +- .../method/messages.updateDialogFiltersOrder | 4 +- .../method/messages.updatePinnedMessage | 32 +- .../method/messages.uploadEncryptedFile | 4 +- .../method/messages.uploadImportedMedia | 181 +++ .../method/messages.uploadMedia | 44 +- .../method/payments.clearSavedInfo | 4 +- .../method/payments.getBankCardData | 23 +- .../method/payments.getPaymentForm | 25 +- .../method/payments.getPaymentReceipt | 15 +- .../method/payments.sendPaymentForm | 26 +- .../method/payments.validateRequestedInfo | 13 +- .../core.telegram.org/method/phone.acceptCall | 12 +- .../method/phone.checkGroupCall | 154 +++ .../method/phone.confirmCall | 8 +- .../method/phone.createGroupCall | 200 ++++ .../method/phone.discardCall | 14 +- .../method/phone.discardGroupCall | 155 +++ .../method/phone.editGroupCallMember | 167 +++ .../method/phone.editGroupCallParticipant | 225 ++++ .../method/phone.editGroupCallTitle | 160 +++ .../method/phone.exportGroupCallInvite | 159 +++ .../method/phone.getCallConfig | 4 +- .../method/phone.getGroupCall | 157 +++ .../method/phone.getGroupCallJoinAs | 149 +++ .../method/phone.getGroupParticipants | 174 +++ .../method/phone.inviteToGroupCall | 177 +++ .../method/phone.joinGroupCall | 202 ++++ .../method/phone.joinGroupCallPresentation | 180 +++ .../method/phone.leaveGroupCall | 160 +++ .../method/phone.leaveGroupCallPresentation | 155 +++ .../method/phone.receivedCall | 8 +- .../method/phone.requestCall | 14 +- .../method/phone.saveCallDebug | 8 +- .../method/phone.saveDefaultGroupCallJoinAs | 155 +++ .../method/phone.sendSignalingData | 7 +- .../method/phone.setCallRating | 12 +- .../method/phone.startScheduledGroupCall | 155 +++ .../method/phone.toggleGroupCallRecord | 180 +++ .../method/phone.toggleGroupCallSettings | 187 +++ .../phone.toggleGroupCallStartSubscription | 160 +++ .../method/photos.deletePhotos | 4 +- .../method/photos.getUserPhotos | 13 +- .../method/photos.updateProfilePhoto | 21 +- .../method/photos.uploadProfilePhoto | 23 +- .../method/stats.getBroadcastStats | 12 +- .../method/stats.getMegagroupStats | 32 +- .../method/stats.getMessagePublicForwards | 14 +- .../method/stats.getMessageStats | 8 +- .../method/stats.loadAsyncGraph | 13 +- .../method/stickers.addStickerToSet | 18 +- .../method/stickers.changeStickerPosition | 8 +- .../method/stickers.checkShortName | 172 +++ .../method/stickers.createStickerSet | 55 +- .../method/stickers.removeStickerFromSet | 8 +- .../method/stickers.setStickerSetThumb | 16 +- .../method/stickers.suggestShortName | 166 +++ .../method/updates.getChannelDifference | 32 +- .../method/updates.getDifference | 22 +- .../core.telegram.org/method/updates.getState | 4 +- .../method/upload.getCdnFile | 4 +- .../method/upload.getCdnFileHashes | 8 +- data/core.telegram.org/method/upload.getFile | 26 +- .../method/upload.getFileHashes | 6 +- .../method/upload.getWebFile | 6 +- .../method/upload.reuploadCdnFile | 6 +- .../method/upload.saveBigFilePart | 16 +- .../method/upload.saveFilePart | 8 +- .../method/users.getFullUser | 12 +- data/core.telegram.org/method/users.getUsers | 17 +- .../method/users.setSecureValueErrors | 6 +- data/core.telegram.org/methods.html | 233 +++- data/core.telegram.org/mtproto/auth_key.html | 149 ++- .../mtproto/description.html | 100 +- .../mtproto/mtproto-transports.html | 2 +- .../mtproto/samples-auth_key.html | 46 +- .../mtproto/service_messages.html | 2 +- .../service_messages_about_messages.html | 27 +- data/core.telegram.org/schema.html | 564 +++++---- data/core.telegram.org/schema/end-to-end.html | 12 +- data/core.telegram.org/schema/json.html | 2 +- data/core.telegram.org/schema/mtproto.html | 10 +- .../type/AccountDaysTTL.html | 4 +- data/core.telegram.org/type/Audio.html | 4 +- .../core.telegram.org/type/Authorization.html | 4 +- .../type/AutoDownloadSettings.html | 4 +- .../type/BankCardOpenUrl.html | 4 +- data/core.telegram.org/type/BaseTheme.html | 4 +- data/core.telegram.org/type/Bool.html | 80 +- data/core.telegram.org/type/BotCommand.html | 4 +- .../type/BotCommandScope.html | 176 +++ data/core.telegram.org/type/BotInfo.html | 6 +- .../type/BotInlineMessage.html | 11 +- .../type/BotInlineResult.html | 4 +- data/core.telegram.org/type/CdnConfig.html | 4 +- data/core.telegram.org/type/CdnPublicKey.html | 4 +- .../type/ChannelAdminLogEvent.html | 6 +- .../type/ChannelAdminLogEventAction.html | 63 +- .../type/ChannelAdminLogEventsFilter.html | 4 +- .../type/ChannelLocation.html | 4 +- .../type/ChannelMessagesFilter.html | 4 +- .../type/ChannelParticipant.html | 20 +- .../type/ChannelParticipantsFilter.html | 4 +- data/core.telegram.org/type/Chat.html | 14 +- .../type/ChatAdminRights.html | 4 +- .../type/ChatAdminWithInvites.html | 143 +++ .../type/ChatBannedRights.html | 4 +- data/core.telegram.org/type/ChatFull.html | 8 +- data/core.telegram.org/type/ChatInvite.html | 4 +- .../type/ChatInviteImporter.html | 143 +++ data/core.telegram.org/type/ChatOnlines.html | 4 +- .../type/ChatParticipant.html | 10 +- .../type/ChatParticipants.html | 8 +- data/core.telegram.org/type/ChatPhoto.html | 6 +- data/core.telegram.org/type/ChatTheme.html | 143 +++ data/core.telegram.org/type/CodeSettings.html | 4 +- data/core.telegram.org/type/Config.html | 4 +- data/core.telegram.org/type/Contact.html | 6 +- .../core.telegram.org/type/ContactStatus.html | 6 +- data/core.telegram.org/type/DataJSON.html | 4 +- data/core.telegram.org/type/DcOption.html | 4 +- .../type/DecryptedDataBlock.html | 4 +- .../type/DecryptedMessage.html | 4 +- .../type/DecryptedMessageAction.html | 4 +- .../type/DecryptedMessageLayer.html | 4 +- .../type/DecryptedMessageMedia.html | 4 +- data/core.telegram.org/type/Dialog.html | 4 +- data/core.telegram.org/type/DialogFilter.html | 4 +- .../type/DialogFilterSuggested.html | 4 +- data/core.telegram.org/type/DialogPeer.html | 4 +- .../type/DisabledFeature.html | 4 +- data/core.telegram.org/type/Document.html | 4 +- .../type/DocumentAttribute.html | 4 +- data/core.telegram.org/type/DraftMessage.html | 4 +- data/core.telegram.org/type/EmojiKeyword.html | 4 +- .../type/EmojiKeywordsDifference.html | 4 +- .../core.telegram.org/type/EmojiLanguage.html | 4 +- data/core.telegram.org/type/EmojiURL.html | 4 +- .../core.telegram.org/type/EncryptedFile.html | 4 +- .../type/EncryptedMessage.html | 4 +- data/core.telegram.org/type/Error.html | 4 +- .../type/ExportedChatInvite.html | 13 +- .../type/ExportedMessageLink.html | 4 +- data/core.telegram.org/type/FileHash.html | 4 +- data/core.telegram.org/type/FileLocation.html | 21 +- data/core.telegram.org/type/Folder.html | 4 +- data/core.telegram.org/type/FolderPeer.html | 4 +- data/core.telegram.org/type/Game.html | 4 +- data/core.telegram.org/type/GeoPoint.html | 4 +- .../type/GlobalPrivacySettings.html | 4 +- data/core.telegram.org/type/GroupCall.html | 148 +++ .../type/GroupCallParticipant.html | 143 +++ .../type/GroupCallParticipantVideo.html | 143 +++ .../GroupCallParticipantVideoSourceGroup.html | 143 +++ data/core.telegram.org/type/HighScore.html | 6 +- .../type/ImportedContact.html | 6 +- .../type/InlineBotSwitchPM.html | 4 +- .../type/InlineQueryPeerType.html | 163 +++ .../core.telegram.org/type/InputAppEvent.html | 4 +- .../type/InputBotInlineMessage.html | 11 +- .../type/InputBotInlineMessageID.html | 11 +- .../type/InputBotInlineResult.html | 4 +- data/core.telegram.org/type/InputChannel.html | 8 +- .../type/InputChatPhoto.html | 4 +- .../type/InputCheckPasswordSRP.html | 4 +- .../type/InputClientProxy.html | 4 +- data/core.telegram.org/type/InputContact.html | 4 +- .../type/InputDialogPeer.html | 4 +- .../core.telegram.org/type/InputDocument.html | 4 +- .../type/InputEncryptedChat.html | 4 +- .../type/InputEncryptedFile.html | 4 +- data/core.telegram.org/type/InputFile.html | 4 +- .../type/InputFileLocation.html | 13 +- .../type/InputFolderPeer.html | 4 +- data/core.telegram.org/type/InputGame.html | 4 +- .../core.telegram.org/type/InputGeoPoint.html | 4 +- .../type/InputGroupCall.html | 143 +++ data/core.telegram.org/type/InputMedia.html | 8 +- .../type/InputNotifyPeer.html | 4 +- .../type/InputPaymentCredentials.html | 10 +- data/core.telegram.org/type/InputPeer.html | 14 +- .../type/InputPhoneCall.html | 4 +- data/core.telegram.org/type/InputPhoto.html | 4 +- .../type/InputPrivacyKey.html | 4 +- .../type/InputPrivacyRule.html | 8 +- .../type/InputSecureFile.html | 4 +- .../type/InputSecureValue.html | 4 +- .../type/InputSingleMedia.html | 4 +- .../type/InputStickerSet.html | 11 +- .../type/InputStickerSetItem.html | 4 +- .../type/InputStickeredMedia.html | 4 +- data/core.telegram.org/type/InputTheme.html | 4 +- .../type/InputThemeSettings.html | 6 +- data/core.telegram.org/type/InputUser.html | 8 +- .../type/InputWallPaper.html | 6 +- .../type/InputWebDocument.html | 4 +- .../type/InputWebFileLocation.html | 4 +- .../type/KeyboardButton.html | 4 +- .../type/KeyboardButtonRow.html | 4 +- data/core.telegram.org/type/LabeledPrice.html | 4 +- .../type/LangPackDifference.html | 4 +- .../type/LangPackLanguage.html | 4 +- .../type/LangPackString.html | 4 +- data/core.telegram.org/type/MaskCoords.html | 4 +- data/core.telegram.org/type/Message.html | 10 +- .../core.telegram.org/type/MessageAction.html | 43 +- .../core.telegram.org/type/MessageEntity.html | 6 +- .../type/MessageFwdHeader.html | 4 +- .../type/MessageInteractionCounters.html | 4 +- data/core.telegram.org/type/MessageMedia.html | 13 +- data/core.telegram.org/type/MessageRange.html | 4 +- .../type/MessageReactionsList.html | 4 +- .../type/MessageReplyHeader.html | 4 +- data/core.telegram.org/type/MessageViews.html | 4 +- .../type/MessagesFilter.html | 4 +- data/core.telegram.org/type/NearestDc.html | 4 +- data/core.telegram.org/type/Page.html | 4 +- data/core.telegram.org/type/PageBlock.html | 4 +- data/core.telegram.org/type/PageCaption.html | 4 +- data/core.telegram.org/type/PageListItem.html | 4 +- .../type/PageListOrderedItem.html | 4 +- .../type/PageRelatedArticle.html | 4 +- data/core.telegram.org/type/PageTableRow.html | 4 +- .../type/PasswordKdfAlgo.html | 4 +- .../core.telegram.org/type/PaymentCharge.html | 4 +- .../type/PaymentRequestedInfo.html | 4 +- .../type/PaymentSavedCredentials.html | 4 +- data/core.telegram.org/type/Peer.html | 10 +- data/core.telegram.org/type/PeerBlocked.html | 4 +- data/core.telegram.org/type/PeerLocated.html | 4 +- .../type/PeerNotifySettings.html | 4 +- data/core.telegram.org/type/PeerSettings.html | 4 +- data/core.telegram.org/type/PhoneCall.html | 12 +- .../type/PhoneCallDiscardReason.html | 4 +- .../type/PhoneCallProtocol.html | 4 +- .../type/PhoneConnection.html | 4 +- data/core.telegram.org/type/Photo.html | 4 +- data/core.telegram.org/type/PhotoSize.html | 10 +- data/core.telegram.org/type/Poll.html | 4 +- data/core.telegram.org/type/PollAnswer.html | 4 +- .../type/PollAnswerVoters.html | 4 +- data/core.telegram.org/type/PollResults.html | 6 +- .../type/PopularContact.html | 4 +- data/core.telegram.org/type/PostAddress.html | 4 +- data/core.telegram.org/type/PrivacyKey.html | 4 +- data/core.telegram.org/type/PrivacyRule.html | 12 +- .../type/ReceivedNotifyMessage.html | 4 +- data/core.telegram.org/type/RecentMeUrl.html | 8 +- data/core.telegram.org/type/ReplyMarkup.html | 8 +- data/core.telegram.org/type/ReportReason.html | 13 +- .../type/RestrictionReason.html | 4 +- data/core.telegram.org/type/RichText.html | 4 +- data/core.telegram.org/type/SavedContact.html | 4 +- .../type/SecureCredentialsEncrypted.html | 4 +- data/core.telegram.org/type/SecureData.html | 4 +- data/core.telegram.org/type/SecureFile.html | 4 +- .../type/SecurePasswordKdfAlgo.html | 4 +- .../type/SecurePlainData.html | 4 +- .../type/SecureSecretSettings.html | 4 +- data/core.telegram.org/type/SecureValue.html | 4 +- .../type/SecureValueError.html | 4 +- .../type/SecureValueHash.html | 4 +- .../type/SecureValueType.html | 4 +- .../type/SendMessageAction.html | 31 +- .../type/ShippingOption.html | 4 +- .../type/SponsoredMessage.html | 143 +++ .../type/StatsAbsValueAndPrev.html | 6 +- .../type/StatsDateRangeDays.html | 4 +- data/core.telegram.org/type/StatsGraph.html | 4 +- .../type/StatsGroupTopAdmin.html | 6 +- .../type/StatsGroupTopInviter.html | 6 +- .../type/StatsGroupTopPoster.html | 6 +- .../type/StatsPercentValue.html | 4 +- data/core.telegram.org/type/StatsURL.html | 19 +- data/core.telegram.org/type/StickerPack.html | 4 +- data/core.telegram.org/type/StickerSet.html | 6 +- .../type/StickerSetCovered.html | 4 +- data/core.telegram.org/type/Theme.html | 6 +- .../core.telegram.org/type/ThemeSettings.html | 6 +- data/core.telegram.org/type/TopPeer.html | 4 +- .../type/TopPeerCategory.html | 4 +- .../type/TopPeerCategoryPeers.html | 4 +- data/core.telegram.org/type/True.html | 4 +- data/core.telegram.org/type/Update.html | 113 +- data/core.telegram.org/type/Updates.html | 102 +- .../core.telegram.org/type/UrlAuthResult.html | 8 +- data/core.telegram.org/type/User.html | 8 +- data/core.telegram.org/type/UserFull.html | 6 +- .../type/UserProfilePhoto.html | 6 +- data/core.telegram.org/type/UserStatus.html | 4 +- data/core.telegram.org/type/Vector t.html | 4 +- data/core.telegram.org/type/Video.html | 4 +- data/core.telegram.org/type/VideoSize.html | 6 +- data/core.telegram.org/type/WallPaper.html | 6 +- .../type/WallPaperSettings.html | 6 +- .../type/WebAuthorization.html | 6 +- data/core.telegram.org/type/WebDocument.html | 4 +- data/core.telegram.org/type/WebPage.html | 4 +- .../type/WebPageAttribute.html | 4 +- .../type/account.AuthorizationForm | 6 +- .../type/account.Authorizations | 4 +- .../type/account.AutoDownloadSettings | 4 +- .../core.telegram.org/type/account.ChatThemes | 167 +++ .../type/account.ContentSettings | 4 +- data/core.telegram.org/type/account.Password | 6 +- .../type/account.PasswordInputSettings | 4 +- .../type/account.PasswordSettings | 4 +- .../type/account.PrivacyRules | 4 +- .../type/account.ResetPasswordResult | 175 +++ .../type/account.SentChangePhoneCode | 4 +- .../type/account.SentEmailCode | 4 +- data/core.telegram.org/type/account.Takeout | 6 +- data/core.telegram.org/type/account.Themes | 8 +- .../type/account.TmpPassword | 4 +- .../core.telegram.org/type/account.WallPapers | 8 +- .../type/account.WebAuthorizations | 4 +- data/core.telegram.org/type/auth.CheckedPhone | 4 +- data/core.telegram.org/type/auth.CodeType | 4 +- .../type/auth.ExportedAuthorization | 6 +- data/core.telegram.org/type/auth.LoginToken | 6 +- .../type/auth.PasswordRecovery | 4 +- data/core.telegram.org/type/auth.SentCode | 4 +- data/core.telegram.org/type/auth.SentCodeType | 4 +- .../type/channels.AdminLogResults | 4 +- .../type/channels.ChannelParticipant | 8 +- .../type/channels.ChannelParticipants | 8 +- data/core.telegram.org/type/contacts.Blocked | 4 +- data/core.telegram.org/type/contacts.Found | 4 +- .../type/contacts.ImportedContacts | 4 +- data/core.telegram.org/type/contacts.Link | 4 +- .../type/contacts.ResolvedPeer | 4 +- data/core.telegram.org/type/contacts.TopPeers | 6 +- data/core.telegram.org/type/help.AppUpdate | 6 +- .../core.telegram.org/type/help.CountriesList | 4 +- data/core.telegram.org/type/help.Country | 4 +- data/core.telegram.org/type/help.CountryCode | 4 +- data/core.telegram.org/type/help.DeepLinkInfo | 4 +- data/core.telegram.org/type/help.InviteText | 4 +- .../type/help.PassportConfig | 4 +- data/core.telegram.org/type/help.PromoData | 4 +- data/core.telegram.org/type/help.ProxyData | 4 +- data/core.telegram.org/type/help.RecentMeUrls | 4 +- data/core.telegram.org/type/help.Support | 4 +- data/core.telegram.org/type/help.SupportName | 4 +- .../type/help.TermsOfService | 4 +- .../type/help.TermsOfServiceUpdate | 4 +- data/core.telegram.org/type/help.UserInfo | 4 +- .../type/messages.AffectedFoundMessages | 162 +++ .../type/messages.AffectedHistory | 4 +- .../type/messages.AffectedMessages | 4 +- .../type/messages.AllStickers | 10 +- .../type/messages.ArchivedStickers | 4 +- .../type/messages.BotCallbackAnswer | 4 +- .../type/messages.BotResults | 4 +- .../type/messages.ChatAdminsWithInvites | 162 +++ data/core.telegram.org/type/messages.ChatFull | 6 +- .../type/messages.ChatInviteImporters | 162 +++ .../type/messages.CheckedHistoryImportPeer | 165 +++ data/core.telegram.org/type/messages.DhConfig | 4 +- data/core.telegram.org/type/messages.Dialogs | 6 +- .../type/messages.DiscussionMessage | 6 +- .../type/messages.ExportedChatInvite | 172 +++ .../type/messages.ExportedChatInvites | 162 +++ .../type/messages.FavedStickers | 8 +- .../type/messages.FeaturedStickers | 10 +- .../core.telegram.org/type/messages.FoundGifs | 4 +- .../type/messages.FoundStickerSets | 8 +- .../type/messages.HighScores | 4 +- .../type/messages.HistoryImport | 165 +++ .../type/messages.HistoryImportParsed | 162 +++ .../type/messages.InactiveChats | 4 +- .../type/messages.MessageEditData | 4 +- .../type/messages.MessageViews | 4 +- data/core.telegram.org/type/messages.Messages | 14 +- .../type/messages.PeerDialogs | 4 +- .../type/messages.RecentStickers | 8 +- .../core.telegram.org/type/messages.SavedGifs | 8 +- .../type/messages.SearchCounter | 4 +- .../type/messages.SentEncryptedMessage | 4 +- .../type/messages.SentMessage | 4 +- .../type/messages.SponsoredMessages | 162 +++ .../type/messages.StatedMessage | 4 +- .../type/messages.StatedMessages | 4 +- .../type/messages.StickerSet | 6 +- .../type/messages.StickerSetInstallResult | 4 +- data/core.telegram.org/type/messages.Stickers | 8 +- .../core.telegram.org/type/messages.VotesList | 4 +- .../type/payments.BankCardData | 4 +- .../type/payments.PaymentForm | 8 +- .../type/payments.PaymentResult | 6 +- .../core.telegram.org/type/payments.SavedInfo | 4 +- .../type/payments.ValidatedRequestedInfo | 6 +- .../type/phone.ExportedGroupCallInvite | 162 +++ data/core.telegram.org/type/phone.GroupCall | 158 +++ .../type/phone.GroupParticipants | 162 +++ data/core.telegram.org/type/phone.JoinAsPeers | 162 +++ data/core.telegram.org/type/phone.PhoneCall | 4 +- data/core.telegram.org/type/photos.Photo | 4 +- data/core.telegram.org/type/photos.Photos | 4 +- .../type/stats.BroadcastStats | 4 +- .../type/stats.MegagroupStats | 4 +- .../core.telegram.org/type/stats.MessageStats | 4 +- .../type/stickers.SuggestedShortName | 162 +++ data/core.telegram.org/type/storage.FileType | 4 +- .../type/updates.ChannelDifference | 4 +- .../core.telegram.org/type/updates.Difference | 4 +- data/core.telegram.org/type/updates.State | 4 +- data/core.telegram.org/type/upload.CdnFile | 4 +- data/core.telegram.org/type/upload.WebFile | 4 +- .../constructor/account.authorizationForm | 2 +- .../constructor/account.authorizations | 2 +- .../constructor/account.autoDownloadSettings | 2 +- .../constructor/account.chatThemes | 2 +- .../constructor/account.chatThemesNotModified | 2 +- .../constructor/account.contentSettings | 2 +- .../constructor/account.password | 2 +- .../constructor/account.passwordInputSettings | 2 +- .../constructor/account.passwordSettings | 2 +- .../constructor/account.privacyRules | 2 +- .../account.resetPasswordFailedWait | 2 +- .../constructor/account.resetPasswordOk | 2 +- .../account.resetPasswordRequestedWait | 2 +- .../constructor/account.sentEmailCode | 2 +- .../constructor/account.takeout | 2 +- .../constructor/account.themes | 2 +- .../constructor/account.themesNotModified | 2 +- .../constructor/account.tmpPassword | 2 +- .../constructor/account.wallPapers | 2 +- .../constructor/account.wallPapersNotModified | 2 +- .../constructor/account.webAuthorizations | 2 +- .../constructor/accountDaysTTL.html | 2 +- .../constructor/auth.authorization | 2 +- .../auth.authorizationSignUpRequired | 2 +- .../constructor/auth.codeTypeCall | 2 +- .../constructor/auth.codeTypeFlashCall | 2 +- .../constructor/auth.codeTypeSms | 2 +- .../constructor/auth.exportedAuthorization | 2 +- .../constructor/auth.loginToken | 2 +- .../constructor/auth.loginTokenMigrateTo | 2 +- .../constructor/auth.loginTokenSuccess | 2 +- .../constructor/auth.passwordRecovery | 2 +- .../constructor/auth.sentAppCode | 2 +- .../constructor/auth.sentCode | 2 +- .../constructor/auth.sentCodeTypeApp | 2 +- .../constructor/auth.sentCodeTypeCall | 2 +- .../constructor/auth.sentCodeTypeFlashCall | 2 +- .../constructor/auth.sentCodeTypeSms | 2 +- .../constructor/authorization.html | 2 +- .../constructor/autoDownloadSettings.html | 2 +- .../constructor/bankCardOpenUrl.html | 2 +- .../constructor/baseThemeArctic.html | 2 +- .../constructor/baseThemeClassic.html | 2 +- .../constructor/baseThemeDay.html | 2 +- .../constructor/baseThemeNight.html | 2 +- .../constructor/baseThemeTinted.html | 2 +- .../constructor/boolFalse.html | 2 +- .../constructor/boolTrue.html | 2 +- .../constructor/botCommand.html | 2 +- .../botCommandScopeChatAdmins.html | 2 +- .../constructor/botCommandScopeChats.html | 2 +- .../constructor/botCommandScopeDefault.html | 2 +- .../constructor/botCommandScopePeer.html | 2 +- .../botCommandScopePeerAdmins.html | 2 +- .../constructor/botCommandScopePeerUser.html | 2 +- .../constructor/botCommandScopeUsers.html | 2 +- .../constructor/botInfo.html | 2 +- .../constructor/botInlineMediaResult.html | 2 +- .../botInlineMessageMediaAuto.html | 2 +- .../botInlineMessageMediaContact.html | 2 +- .../constructor/botInlineMessageMediaGeo.html | 2 +- .../botInlineMessageMediaInvoice.html | 2 +- .../botInlineMessageMediaVenue.html | 2 +- .../constructor/botInlineMessageText.html | 2 +- .../constructor/botInlineResult.html | 2 +- .../constructor/cdnConfig.html | 2 +- .../constructor/cdnPublicKey.html | 2 +- .../constructor/channel.html | 2 +- .../constructor/channelAdminLogEvent.html | 2 +- ...channelAdminLogEventActionChangeAbout.html | 2 +- ...elAdminLogEventActionChangeHistoryTTL.html | 2 +- ...elAdminLogEventActionChangeLinkedChat.html | 2 +- ...nnelAdminLogEventActionChangeLocation.html | 2 +- ...channelAdminLogEventActionChangePhoto.html | 2 +- ...elAdminLogEventActionChangeStickerSet.html | 2 +- ...channelAdminLogEventActionChangeTitle.html | 2 +- ...nnelAdminLogEventActionChangeUsername.html | 2 +- ...dminLogEventActionDefaultBannedRights.html | 2 +- ...annelAdminLogEventActionDeleteMessage.html | 2 +- ...elAdminLogEventActionDiscardGroupCall.html | 2 +- ...channelAdminLogEventActionEditMessage.html | 2 +- ...minLogEventActionExportedInviteDelete.html | 2 +- ...AdminLogEventActionExportedInviteEdit.html | 2 +- ...minLogEventActionExportedInviteRevoke.html | 2 +- ...lAdminLogEventActionParticipantInvite.html | 2 +- ...nelAdminLogEventActionParticipantJoin.html | 2 +- ...LogEventActionParticipantJoinByInvite.html | 2 +- ...elAdminLogEventActionParticipantLeave.html | 2 +- ...nelAdminLogEventActionParticipantMute.html | 2 +- ...nLogEventActionParticipantToggleAdmin.html | 2 +- ...minLogEventActionParticipantToggleBan.html | 2 +- ...lAdminLogEventActionParticipantUnmute.html | 2 +- ...lAdminLogEventActionParticipantVolume.html | 2 +- ...nnelAdminLogEventActionStartGroupCall.html | 2 +- .../channelAdminLogEventActionStopPoll.html | 2 +- ...nLogEventActionToggleGroupCallSetting.html | 2 +- ...annelAdminLogEventActionToggleInvites.html | 2 +- ...nLogEventActionTogglePreHistoryHidden.html | 2 +- ...elAdminLogEventActionToggleSignatures.html | 2 +- ...nnelAdminLogEventActionToggleSlowMode.html | 2 +- ...hannelAdminLogEventActionUpdatePinned.html | 2 +- .../channelAdminLogEventsFilter.html | 2 +- .../constructor/channelForbidden.html | 2 +- .../constructor/channelFull.html | 2 +- .../constructor/channelLocation.html | 2 +- .../constructor/channelLocationEmpty.html | 2 +- .../constructor/channelMessagesFilter.html | 2 +- .../channelMessagesFilterEmpty.html | 2 +- .../constructor/channelParticipant.html | 2 +- .../constructor/channelParticipantAdmin.html | 2 +- .../constructor/channelParticipantBanned.html | 2 +- .../channelParticipantCreator.html | 2 +- .../constructor/channelParticipantLeft.html | 2 +- .../constructor/channelParticipantSelf.html | 2 +- .../channelParticipantsAdmins.html | 2 +- .../channelParticipantsBanned.html | 2 +- .../constructor/channelParticipantsBots.html | 2 +- .../channelParticipantsContacts.html | 2 +- .../channelParticipantsKicked.html | 2 +- .../channelParticipantsMentions.html | 2 +- .../channelParticipantsRecent.html | 2 +- .../channelParticipantsSearch.html | 2 +- .../constructor/channels.channelParticipant | 2 +- .../constructor/channels.channelParticipants | 2 +- .../channels.channelParticipantsNotModified | 2 +- .../constructor/chat.html | 2 +- .../constructor/chatAdminRights.html | 2 +- .../constructor/chatAdminWithInvites.html | 2 +- .../constructor/chatBannedRights.html | 2 +- .../constructor/chatEmpty.html | 2 +- .../constructor/chatForbidden.html | 2 +- .../constructor/chatFull.html | 2 +- .../constructor/chatInvite.html | 2 +- .../constructor/chatInviteAlready.html | 2 +- .../constructor/chatInviteExported.html | 2 +- .../constructor/chatInviteImporter.html | 2 +- .../constructor/chatInvitePeek.html | 2 +- .../constructor/chatOnlines.html | 2 +- .../constructor/chatParticipant.html | 2 +- .../constructor/chatParticipantAdmin.html | 2 +- .../constructor/chatParticipantCreator.html | 2 +- .../constructor/chatParticipants.html | 2 +- .../constructor/chatPhoto.html | 2 +- .../constructor/chatPhotoEmpty.html | 2 +- .../constructor/chatTheme.html | 2 +- .../constructor/codeSettings.html | 2 +- .../constructor/config.html | 2 +- .../constructor/contact.html | 2 +- .../constructor/contactStatus.html | 2 +- .../constructor/contacts.blocked | 2 +- .../constructor/contacts.blockedSlice | 2 +- .../constructor/contacts.contacts | 2 +- .../constructor/contacts.contactsNotModified | 2 +- .../constructor/contacts.found | 2 +- .../constructor/contacts.importedContacts | 2 +- .../constructor/contacts.resolvedPeer | 2 +- .../constructor/contacts.topPeers | 2 +- .../constructor/contacts.topPeersDisabled | 2 +- .../constructor/contacts.topPeersNotModified | 2 +- .../constructor/dataJSON.html | 2 +- .../constructor/dcOption.html | 2 +- .../constructor/decryptedMessage.html | 2 +- .../decryptedMessageActionAbortKey.html | 2 +- .../decryptedMessageActionAcceptKey.html | 2 +- .../decryptedMessageActionCommitKey.html | 2 +- .../decryptedMessageActionDeleteMessages.html | 2 +- .../decryptedMessageActionFlushHistory.html | 2 +- .../decryptedMessageActionNoop.html | 2 +- .../decryptedMessageActionNotifyLayer.html | 2 +- .../decryptedMessageActionReadMessages.html | 2 +- .../decryptedMessageActionRequestKey.html | 2 +- .../decryptedMessageActionResend.html | 2 +- ...ryptedMessageActionScreenshotMessages.html | 2 +- .../decryptedMessageActionSetMessageTTL.html | 2 +- .../decryptedMessageActionTyping.html | 2 +- .../constructor/decryptedMessageLayer.html | 2 +- .../decryptedMessageMediaAudio.html | 2 +- .../decryptedMessageMediaContact.html | 2 +- .../decryptedMessageMediaDocument.html | 2 +- .../decryptedMessageMediaEmpty.html | 2 +- ...decryptedMessageMediaExternalDocument.html | 2 +- .../decryptedMessageMediaGeoPoint.html | 2 +- .../decryptedMessageMediaPhoto.html | 2 +- .../decryptedMessageMediaVenue.html | 2 +- .../decryptedMessageMediaVideo.html | 2 +- .../decryptedMessageMediaWebPage.html | 2 +- .../constructor/decryptedMessageService.html | 2 +- .../constructor/dialog.html | 2 +- .../constructor/dialogFilter.html | 2 +- .../constructor/dialogFilterSuggested.html | 2 +- .../constructor/dialogFolder.html | 2 +- .../constructor/dialogPeer.html | 2 +- .../constructor/dialogPeerFolder.html | 2 +- .../constructor/disabledFeature.html | 2 +- .../constructor/document.html | 2 +- .../documentAttributeAnimated.html | 2 +- .../constructor/documentAttributeAudio.html | 2 +- .../documentAttributeFilename.html | 2 +- .../documentAttributeHasStickers.html | 2 +- .../documentAttributeImageSize.html | 2 +- .../constructor/documentAttributeSticker.html | 2 +- .../constructor/documentAttributeVideo.html | 2 +- .../constructor/documentEmpty.html | 2 +- .../constructor/draftMessage.html | 2 +- .../constructor/draftMessageEmpty.html | 2 +- .../constructor/emojiKeyword.html | 2 +- .../constructor/emojiKeywordDeleted.html | 2 +- .../constructor/emojiKeywordsDifference.html | 2 +- .../constructor/emojiLanguage.html | 2 +- .../constructor/emojiURL.html | 2 +- .../constructor/encryptedChat.html | 2 +- .../constructor/encryptedChatDiscarded.html | 2 +- .../constructor/encryptedChatEmpty.html | 2 +- .../constructor/encryptedChatRequested.html | 2 +- .../constructor/encryptedChatWaiting.html | 2 +- .../constructor/encryptedFile.html | 2 +- .../constructor/encryptedFileEmpty.html | 2 +- .../constructor/encryptedMessage.html | 2 +- .../constructor/encryptedMessageService.html | 2 +- .../constructor/error.html | 2 +- .../constructor/exportedMessageLink.html | 2 +- .../constructor/fileHash.html | 2 +- .../constructor/fileLocation.html | 2 +- .../constructor/fileLocationUnavailable.html | 2 +- .../constructor/folder.html | 2 +- .../constructor/folderPeer.html | 2 +- .../constructor/game.html | 2 +- .../constructor/geoPointEmpty.html | 2 +- .../constructor/globalPrivacySettings.html | 2 +- .../constructor/groupCall.html | 2 +- .../constructor/groupCallDiscarded.html | 2 +- .../constructor/groupCallParticipant.html | 2 +- .../groupCallParticipantVideo.html | 2 +- .../groupCallParticipantVideoSourceGroup.html | 2 +- .../constructor/help.appUpdate | 2 +- .../constructor/help.countriesList | 2 +- .../constructor/help.countriesListNotModified | 2 +- .../constructor/help.country | 2 +- .../constructor/help.countryCode | 2 +- .../constructor/help.deepLinkInfo | 2 +- .../constructor/help.deepLinkInfoEmpty | 2 +- .../constructor/help.inviteText | 2 +- .../constructor/help.noAppUpdate | 2 +- .../constructor/help.passportConfig | 2 +- .../constructor/help.promoData | 2 +- .../constructor/help.promoDataEmpty | 2 +- .../constructor/help.recentMeUrls | 2 +- .../constructor/help.support | 2 +- .../constructor/help.supportName | 2 +- .../constructor/help.termsOfService | 2 +- .../constructor/help.termsOfServiceUpdate | 2 +- .../help.termsOfServiceUpdateEmpty | 2 +- .../constructor/help.userInfo | 2 +- .../constructor/help.userInfoEmpty | 2 +- .../constructor/highScore.html | 2 +- .../constructor/importedContact.html | 2 +- .../constructor/inlineBotSwitchPM.html | 2 +- .../inlineQueryPeerTypeBroadcast.html | 2 +- .../constructor/inlineQueryPeerTypeChat.html | 2 +- .../inlineQueryPeerTypeMegagroup.html | 2 +- .../constructor/inlineQueryPeerTypePM.html | 2 +- .../inlineQueryPeerTypeSameBotPM.html | 2 +- .../constructor/inputAppEvent.html | 2 +- .../inputBotInlineMessageGame.html | 2 +- .../constructor/inputBotInlineMessageID.html | 2 +- .../inputBotInlineMessageID64.html | 2 +- .../inputBotInlineMessageMediaAuto.html | 2 +- .../inputBotInlineMessageMediaContact.html | 2 +- .../inputBotInlineMessageMediaGeo.html | 2 +- .../inputBotInlineMessageMediaInvoice.html | 2 +- .../inputBotInlineMessageMediaVenue.html | 2 +- .../inputBotInlineMessageText.html | 2 +- .../constructor/inputBotInlineResult.html | 2 +- .../inputBotInlineResultDocument.html | 2 +- .../constructor/inputBotInlineResultGame.html | 2 +- .../inputBotInlineResultPhoto.html | 2 +- .../constructor/inputChannel.html | 2 +- .../constructor/inputChannelEmpty.html | 2 +- .../constructor/inputChannelFromMessage.html | 2 +- .../constructor/inputChatPhoto.html | 2 +- .../constructor/inputChatPhotoEmpty.html | 2 +- .../constructor/inputChatUploadedPhoto.html | 2 +- .../constructor/inputCheckPasswordEmpty.html | 2 +- .../constructor/inputCheckPasswordSRP.html | 2 +- .../constructor/inputClientProxy.html | 2 +- .../constructor/inputDialogPeer.html | 2 +- .../constructor/inputDialogPeerFolder.html | 2 +- .../constructor/inputDocument.html | 2 +- .../constructor/inputDocumentEmpty.html | 2 +- .../inputDocumentFileLocation.html | 2 +- .../constructor/inputEncryptedChat.html | 2 +- .../constructor/inputEncryptedFile.html | 2 +- .../inputEncryptedFileBigUploaded.html | 2 +- .../constructor/inputEncryptedFileEmpty.html | 2 +- .../inputEncryptedFileLocation.html | 2 +- .../inputEncryptedFileUploaded.html | 2 +- .../constructor/inputFile.html | 2 +- .../constructor/inputFileBig.html | 2 +- .../constructor/inputFileLocation.html | 2 +- .../constructor/inputFolderPeer.html | 2 +- .../constructor/inputGameID.html | 2 +- .../constructor/inputGameShortName.html | 2 +- .../constructor/inputGeoPoint.html | 2 +- .../constructor/inputGeoPointEmpty.html | 2 +- .../constructor/inputGroupCall.html | 2 +- .../constructor/inputGroupCallStream.html | 2 +- .../inputKeyboardButtonUrlAuth.html | 2 +- .../constructor/inputMediaContact.html | 2 +- .../constructor/inputMediaDice.html | 2 +- .../constructor/inputMediaDocument.html | 2 +- .../inputMediaDocumentExternal.html | 2 +- .../constructor/inputMediaEmpty.html | 2 +- .../constructor/inputMediaGame.html | 2 +- .../constructor/inputMediaGeoLive.html | 2 +- .../constructor/inputMediaGeoPoint.html | 2 +- .../constructor/inputMediaInvoice.html | 2 +- .../constructor/inputMediaPhoto.html | 2 +- .../constructor/inputMediaPhotoExternal.html | 2 +- .../constructor/inputMediaPoll.html | 2 +- .../inputMediaUploadedDocument.html | 2 +- .../constructor/inputMediaUploadedPhoto.html | 2 +- .../inputMediaUploadedThumbDocument.html | 2 +- .../constructor/inputMediaVenue.html | 2 +- .../inputMessageCallbackQuery.html | 2 +- .../inputMessageEntityMentionName.html | 2 +- .../constructor/inputMessageID.html | 2 +- .../constructor/inputMessagePinned.html | 2 +- .../constructor/inputMessageReplyTo.html | 2 +- .../inputMessagesFilterChatPhotos.html | 2 +- .../inputMessagesFilterContacts.html | 2 +- .../inputMessagesFilterDocument.html | 2 +- .../constructor/inputMessagesFilterEmpty.html | 2 +- .../constructor/inputMessagesFilterGeo.html | 2 +- .../constructor/inputMessagesFilterGif.html | 2 +- .../constructor/inputMessagesFilterMusic.html | 2 +- .../inputMessagesFilterMyMentions.html | 2 +- .../inputMessagesFilterPhoneCalls.html | 2 +- .../inputMessagesFilterPhotoVideo.html | 2 +- .../inputMessagesFilterPhotos.html | 2 +- .../inputMessagesFilterPinned.html | 2 +- .../inputMessagesFilterRoundVideo.html | 2 +- .../inputMessagesFilterRoundVoice.html | 2 +- .../constructor/inputMessagesFilterUrl.html | 2 +- .../constructor/inputMessagesFilterVideo.html | 2 +- .../constructor/inputMessagesFilterVoice.html | 2 +- .../constructor/inputNotifyBroadcasts.html | 2 +- .../constructor/inputNotifyChats.html | 2 +- .../constructor/inputNotifyPeer.html | 2 +- .../constructor/inputNotifyUsers.html | 2 +- .../constructor/inputPaymentCredentials.html | 2 +- .../inputPaymentCredentialsApplePay.html | 2 +- .../inputPaymentCredentialsGooglePay.html | 2 +- .../inputPaymentCredentialsSaved.html | 2 +- .../constructor/inputPeerChannel.html | 2 +- .../inputPeerChannelFromMessage.html | 2 +- .../constructor/inputPeerChat.html | 2 +- .../constructor/inputPeerEmpty.html | 2 +- .../constructor/inputPeerNotifySettings.html | 2 +- .../inputPeerPhotoFileLocation.html | 2 +- .../constructor/inputPeerSelf.html | 2 +- .../constructor/inputPeerUser.html | 2 +- .../constructor/inputPeerUserFromMessage.html | 2 +- .../constructor/inputPhoneCall.html | 2 +- .../constructor/inputPhoneContact.html | 2 +- .../constructor/inputPhoto.html | 2 +- .../constructor/inputPhotoEmpty.html | 2 +- .../constructor/inputPhotoFileLocation.html | 2 +- .../inputPhotoLegacyFileLocation.html | 2 +- .../inputPrivacyKeyAddedByPhone.html | 2 +- .../inputPrivacyKeyChatInvite.html | 2 +- .../constructor/inputPrivacyKeyForwards.html | 2 +- .../inputPrivacyKeyPhoneNumber.html | 2 +- .../constructor/inputPrivacyKeyPhoneP2P.html | 2 +- .../inputPrivacyKeyProfilePhoto.html | 2 +- .../inputPrivacyKeyStatusTimestamp.html | 2 +- .../inputPrivacyValueAllowAll.html | 2 +- ...nputPrivacyValueAllowChatParticipants.html | 2 +- .../inputPrivacyValueAllowContacts.html | 2 +- .../inputPrivacyValueAllowUsers.html | 2 +- .../inputPrivacyValueDisallowAll.html | 2 +- ...tPrivacyValueDisallowChatParticipants.html | 2 +- .../inputPrivacyValueDisallowContacts.html | 2 +- .../inputPrivacyValueDisallowUsers.html | 2 +- .../inputReportReasonChildAbuse.html | 2 +- .../inputReportReasonCopyright.html | 2 +- .../constructor/inputReportReasonFake.html | 2 +- .../inputReportReasonGeoIrrelevant.html | 2 +- .../constructor/inputReportReasonOther.html | 2 +- .../inputReportReasonPornography.html | 2 +- .../constructor/inputReportReasonSpam.html | 2 +- .../inputReportReasonViolence.html | 2 +- .../constructor/inputSecureFile.html | 2 +- .../constructor/inputSecureFileLocation.html | 2 +- .../constructor/inputSecureFileUploaded.html | 2 +- .../constructor/inputSecureValue.html | 2 +- .../constructor/inputSingleMedia.html | 2 +- .../inputStickerSetAnimatedEmoji.html | 2 +- ...nputStickerSetAnimatedEmojiAnimations.html | 2 +- .../constructor/inputStickerSetDice.html | 2 +- .../constructor/inputStickerSetEmpty.html | 2 +- .../constructor/inputStickerSetID.html | 2 +- .../constructor/inputStickerSetItem.html | 2 +- .../constructor/inputStickerSetShortName.html | 2 +- .../constructor/inputStickerSetThumb.html | 2 +- .../inputStickeredMediaDocument.html | 2 +- .../constructor/inputStickeredMediaPhoto.html | 2 +- .../constructor/inputTakeoutFileLocation.html | 2 +- .../constructor/inputTheme.html | 2 +- .../constructor/inputThemeSettings.html | 2 +- .../constructor/inputThemeSlug.html | 2 +- .../constructor/inputUser.html | 2 +- .../constructor/inputUserEmpty.html | 2 +- .../constructor/inputUserFromMessage.html | 2 +- .../constructor/inputUserSelf.html | 2 +- .../constructor/inputWallPaper.html | 2 +- .../constructor/inputWallPaperNoFile.html | 2 +- .../constructor/inputWebDocument.html | 2 +- .../inputWebFileGeoPointLocation.html | 2 +- .../constructor/inputWebFileLocation.html | 2 +- .../constructor/invoice.html | 2 +- .../constructor/jsonArray.html | 2 +- .../constructor/jsonBool.html | 2 +- .../constructor/jsonNull.html | 2 +- .../constructor/jsonNumber.html | 2 +- .../constructor/jsonObject.html | 2 +- .../constructor/jsonObjectValue.html | 2 +- .../constructor/jsonString.html | 2 +- .../constructor/keyboardButtonBuy.html | 2 +- .../constructor/keyboardButtonCallback.html | 2 +- .../constructor/keyboardButtonGame.html | 2 +- .../keyboardButtonRequestGeoLocation.html | 2 +- .../keyboardButtonRequestPhone.html | 2 +- .../keyboardButtonRequestPoll.html | 2 +- .../constructor/keyboardButtonRow.html | 2 +- .../keyboardButtonSwitchInline.html | 2 +- .../constructor/keyboardButtonUrl.html | 2 +- .../constructor/keyboardButtonUrlAuth.html | 2 +- .../constructor/labeledPrice.html | 2 +- .../constructor/langPackDifference.html | 2 +- .../constructor/langPackLanguage.html | 2 +- .../constructor/langPackString.html | 2 +- .../constructor/langPackStringDeleted.html | 2 +- .../constructor/langPackStringPluralized.html | 2 +- .../constructor/maskCoords.html | 2 +- .../constructor/messageActionBotAllowed.html | 2 +- .../messageActionChannelCreate.html | 2 +- .../messageActionChannelMigrateFrom.html | 2 +- .../constructor/messageActionChatAddUser.html | 2 +- .../constructor/messageActionChatCreate.html | 2 +- .../messageActionChatDeletePhoto.html | 2 +- .../messageActionChatDeleteUser.html | 2 +- .../messageActionChatEditPhoto.html | 2 +- .../messageActionChatEditTitle.html | 2 +- .../messageActionChatJoinedByLink.html | 2 +- .../messageActionContactSignUp.html | 2 +- .../messageActionCustomAction.html | 2 +- .../constructor/messageActionEmpty.html | 2 +- .../constructor/messageActionGameScore.html | 2 +- .../messageActionGeoProximityReached.html | 2 +- .../constructor/messageActionGroupCall.html | 2 +- .../messageActionGroupCallScheduled.html | 2 +- .../messageActionHistoryClear.html | 2 +- .../messageActionInviteToGroupCall.html | 2 +- .../constructor/messageActionPaymentSent.html | 2 +- .../messageActionPaymentSentMe.html | 2 +- .../constructor/messageActionPhoneCall.html | 2 +- .../messageActionScreenshotTaken.html | 2 +- .../messageActionSecureValuesSent.html | 2 +- .../messageActionSecureValuesSentMe.html | 2 +- .../messageActionSetChatTheme.html | 2 +- .../messageActionSetMessagesTTL.html | 2 +- .../constructor/messageEntityBankCard.html | 2 +- .../constructor/messageEntityBlockquote.html | 2 +- .../constructor/messageEntityBold.html | 2 +- .../constructor/messageEntityBotCommand.html | 2 +- .../constructor/messageEntityCashtag.html | 2 +- .../constructor/messageEntityCode.html | 2 +- .../constructor/messageEntityEmail.html | 2 +- .../constructor/messageEntityHashtag.html | 2 +- .../constructor/messageEntityItalic.html | 2 +- .../constructor/messageEntityMention.html | 2 +- .../constructor/messageEntityMentionName.html | 2 +- .../constructor/messageEntityPhone.html | 2 +- .../constructor/messageEntityStrike.html | 2 +- .../constructor/messageEntityTextUrl.html | 2 +- .../constructor/messageEntityUnderline.html | 2 +- .../constructor/messageEntityUnknown.html | 2 +- .../constructor/messageEntityUrl.html | 2 +- .../constructor/messageFwdHeader.html | 2 +- .../messageInteractionCounters.html | 2 +- .../constructor/messageMediaAudio.html | 2 +- .../constructor/messageMediaContact.html | 2 +- .../constructor/messageMediaDice.html | 2 +- .../constructor/messageMediaDocument.html | 2 +- .../constructor/messageMediaEmpty.html | 2 +- .../constructor/messageMediaGame.html | 2 +- .../constructor/messageMediaGeo.html | 2 +- .../constructor/messageMediaGeoLive.html | 2 +- .../constructor/messageMediaInvoice.html | 2 +- .../constructor/messageMediaPhoto.html | 2 +- .../constructor/messageMediaPoll.html | 2 +- .../constructor/messageMediaUnsupported.html | 2 +- .../constructor/messageMediaVenue.html | 2 +- .../constructor/messageMediaVideo.html | 2 +- .../constructor/messageMediaWebPage.html | 2 +- .../constructor/messageRange.html | 2 +- .../constructor/messageReplies.html | 2 +- .../constructor/messageReplyHeader.html | 2 +- .../constructor/messageService.html | 2 +- .../messageUserVoteInputOption.html | 2 +- .../constructor/messageUserVoteMultiple.html | 2 +- .../constructor/messageViews.html | 2 +- .../messages.affectedFoundMessages | 2 +- .../constructor/messages.affectedHistory | 2 +- .../constructor/messages.affectedMessages | 2 +- .../messages.allStickersNotModified | 2 +- .../constructor/messages.archivedStickers | 2 +- .../constructor/messages.botCallbackAnswer | 2 +- .../constructor/messages.botResults | 2 +- .../constructor/messages.channelMessages | 2 +- .../messages.chatAdminsWithInvites | 2 +- .../constructor/messages.chatInviteImporters | 2 +- .../constructor/messages.chats | 2 +- .../constructor/messages.chatsSlice | 2 +- .../messages.checkedHistoryImportPeer | 2 +- .../constructor/messages.dhConfigNotModified | 2 +- .../constructor/messages.dialogs | 2 +- .../constructor/messages.dialogsNotModified | 2 +- .../constructor/messages.dialogsSlice | 2 +- .../constructor/messages.discussionMessage | 2 +- .../constructor/messages.exportedChatInvite | 2 +- .../messages.exportedChatInviteReplaced | 2 +- .../constructor/messages.exportedChatInvites | 2 +- .../constructor/messages.favedStickers | 2 +- .../messages.favedStickersNotModified | 2 +- .../constructor/messages.featuredStickers | 2 +- .../messages.foundStickerSetsNotModified | 2 +- .../constructor/messages.highScores | 2 +- .../constructor/messages.historyImport | 2 +- .../constructor/messages.historyImportParsed | 2 +- .../constructor/messages.inactiveChats | 2 +- .../constructor/messages.messageEditData | 2 +- .../constructor/messages.messageViews | 2 +- .../constructor/messages.messages | 2 +- .../constructor/messages.messagesNotModified | 2 +- .../constructor/messages.messagesSlice | 2 +- .../constructor/messages.peerDialogs | 2 +- .../constructor/messages.recentStickers | 2 +- .../messages.recentStickersNotModified | 2 +- .../constructor/messages.savedGifs | 2 +- .../constructor/messages.savedGifsNotModified | 2 +- .../constructor/messages.searchCounter | 2 +- .../constructor/messages.sentEncryptedFile | 2 +- .../constructor/messages.sentEncryptedMessage | 2 +- .../constructor/messages.sentMessageLink | 2 +- .../constructor/messages.statedMessageLink | 2 +- .../constructor/messages.statedMessagesLinks | 2 +- .../constructor/messages.stickerSet | 2 +- .../messages.stickerSetInstallResultArchive | 2 +- .../messages.stickerSetInstallResultSuccess | 2 +- .../constructor/messages.stickers | 2 +- .../constructor/messages.stickersNotModified | 2 +- .../constructor/nearestDc.html | 2 +- .../constructor/notifyBroadcasts.html | 2 +- .../constructor/notifyChats.html | 2 +- .../constructor/notifyPeer.html | 2 +- .../constructor/notifyUsers.html | 2 +- .../constructor/null.html | 2 +- .../constructor/page.html | 2 +- .../constructor/pageBlockAnchor.html | 2 +- .../constructor/pageBlockAudio.html | 2 +- .../constructor/pageBlockAuthorDate.html | 2 +- .../constructor/pageBlockBlockquote.html | 2 +- .../constructor/pageBlockChannel.html | 2 +- .../constructor/pageBlockCollage.html | 2 +- .../constructor/pageBlockCover.html | 2 +- .../constructor/pageBlockDetails.html | 2 +- .../constructor/pageBlockDivider.html | 2 +- .../constructor/pageBlockEmbed.html | 2 +- .../constructor/pageBlockEmbedPost.html | 2 +- .../constructor/pageBlockFooter.html | 2 +- .../constructor/pageBlockHeader.html | 2 +- .../constructor/pageBlockKicker.html | 2 +- .../constructor/pageBlockList.html | 2 +- .../constructor/pageBlockMap.html | 2 +- .../constructor/pageBlockOrderedList.html | 2 +- .../constructor/pageBlockParagraph.html | 2 +- .../constructor/pageBlockPhoto.html | 2 +- .../constructor/pageBlockPreformatted.html | 2 +- .../constructor/pageBlockPullquote.html | 2 +- .../constructor/pageBlockRelatedArticles.html | 2 +- .../constructor/pageBlockSlideshow.html | 2 +- .../constructor/pageBlockSubheader.html | 2 +- .../constructor/pageBlockSubtitle.html | 2 +- .../constructor/pageBlockTable.html | 2 +- .../constructor/pageBlockTitle.html | 2 +- .../constructor/pageBlockUnsupported.html | 2 +- .../constructor/pageBlockVideo.html | 2 +- .../constructor/pageCaption.html | 2 +- .../constructor/pageListItemBlocks.html | 2 +- .../constructor/pageListItemText.html | 2 +- .../pageListOrderedItemBlocks.html | 2 +- .../constructor/pageListOrderedItemText.html | 2 +- .../constructor/pageRelatedArticle.html | 2 +- .../constructor/pageTableCell.html | 2 +- .../constructor/pageTableRow.html | 2 +- ...BKDF2HMACSHA512iter100000SHA256ModPow.html | 2 +- .../constructor/passwordKdfAlgoUnknown.html | 2 +- .../constructor/paymentCharge.html | 2 +- .../constructor/paymentRequestedInfo.html | 2 +- .../paymentSavedCredentialsCard.html | 2 +- .../constructor/payments.bankCardData | 2 +- .../constructor/payments.paymentForm | 2 +- .../constructor/payments.paymentReceipt | 2 +- .../constructor/payments.paymentResult | 2 +- .../payments.paymentVerificationNeeded | 2 +- .../constructor/payments.savedInfo | 2 +- .../constructor/peerBlocked.html | 2 +- .../constructor/peerChannel.html | 2 +- .../constructor/peerChat.html | 2 +- .../constructor/peerLocated.html | 2 +- .../constructor/peerNotifySettings.html | 2 +- .../constructor/peerSelfLocated.html | 2 +- .../constructor/peerSettings.html | 2 +- .../constructor/peerUser.html | 2 +- .../constructor/phone.exportedGroupCallInvite | 2 +- .../constructor/phone.groupCall | 2 +- .../constructor/phone.groupParticipants | 2 +- .../constructor/phone.joinAsPeers | 2 +- .../constructor/phone.phoneCall | 2 +- .../constructor/phoneCall.html | 2 +- .../constructor/phoneCallAccepted.html | 2 +- .../phoneCallDiscardReasonBusy.html | 2 +- .../phoneCallDiscardReasonDisconnect.html | 2 +- .../phoneCallDiscardReasonHangup.html | 2 +- .../phoneCallDiscardReasonMissed.html | 2 +- .../constructor/phoneCallDiscarded.html | 2 +- .../constructor/phoneCallEmpty.html | 2 +- .../constructor/phoneCallProtocol.html | 2 +- .../constructor/phoneCallRequested.html | 2 +- .../constructor/phoneConnection.html | 2 +- .../constructor/phoneConnectionWebrtc.html | 2 +- .../constructor/photo.html | 2 +- .../constructor/photoCachedSize.html | 2 +- .../constructor/photoEmpty.html | 2 +- .../constructor/photoPathSize.html | 2 +- .../constructor/photoSize.html | 2 +- .../constructor/photoSizeEmpty.html | 2 +- .../constructor/photoSizeProgressive.html | 2 +- .../constructor/photoStrippedSize.html | 2 +- .../constructor/photos.photo | 2 +- .../constructor/photos.photos | 2 +- .../constructor/photos.photosSlice | 2 +- .../constructor/poll.html | 2 +- .../constructor/pollAnswer.html | 2 +- .../constructor/pollAnswerVoters.html | 2 +- .../constructor/pollResults.html | 2 +- .../constructor/popularContact.html | 2 +- .../constructor/privacyKeyAddedByPhone.html | 2 +- .../constructor/privacyKeyChatInvite.html | 2 +- .../constructor/privacyKeyForwards.html | 2 +- .../constructor/privacyKeyPhoneCall.html | 2 +- .../constructor/privacyKeyPhoneNumber.html | 2 +- .../constructor/privacyKeyPhoneP2P.html | 2 +- .../constructor/privacyKeyProfilePhoto.html | 2 +- .../privacyKeyStatusTimestamp.html | 2 +- .../constructor/privacyValueAllowAll.html | 2 +- .../privacyValueAllowChatParticipants.html | 2 +- .../privacyValueAllowContacts.html | 2 +- .../constructor/privacyValueAllowUsers.html | 2 +- .../privacyValueDisallowChatParticipants.html | 2 +- .../privacyValueDisallowUsers.html | 2 +- .../constructor/receivedNotifyMessage.html | 2 +- .../constructor/recentMeUrlChat.html | 2 +- .../constructor/recentMeUrlChatInvite.html | 2 +- .../constructor/recentMeUrlStickerSet.html | 2 +- .../constructor/recentMeUrlUser.html | 2 +- .../constructor/replyInlineMarkup.html | 2 +- .../constructor/replyKeyboardForceReply.html | 2 +- .../constructor/replyKeyboardHide.html | 2 +- .../constructor/replyKeyboardMarkup.html | 2 +- .../constructor/restrictionReason.html | 2 +- .../constructor/savedPhoneContact.html | 2 +- .../secureCredentialsEncrypted.html | 2 +- .../constructor/secureData.html | 2 +- .../constructor/secureFile.html | 2 +- .../constructor/secureFileEmpty.html | 2 +- ...wordKdfAlgoPBKDF2HMACSHA512iter100000.html | 2 +- .../securePasswordKdfAlgoSHA512.html | 2 +- .../securePasswordKdfAlgoUnknown.html | 2 +- .../constructor/securePlainEmail.html | 2 +- .../constructor/securePlainPhone.html | 2 +- .../constructor/secureRequiredType.html | 2 +- .../constructor/secureRequiredTypeOneOf.html | 2 +- .../constructor/secureSecretSettings.html | 2 +- .../constructor/secureValue.html | 2 +- .../constructor/secureValueError.html | 2 +- .../constructor/secureValueErrorData.html | 2 +- .../constructor/secureValueErrorFile.html | 2 +- .../constructor/secureValueErrorFiles.html | 2 +- .../secureValueErrorFrontSide.html | 2 +- .../secureValueErrorReverseSide.html | 2 +- .../secureValueErrorTranslationFile.html | 2 +- .../secureValueErrorTranslationFiles.html | 2 +- .../constructor/secureValueHash.html | 2 +- .../constructor/secureValueTypeAddress.html | 2 +- .../secureValueTypeBankStatement.html | 2 +- .../secureValueTypeDriverLicense.html | 2 +- .../constructor/secureValueTypeEmail.html | 2 +- .../secureValueTypeIdentityCard.html | 2 +- .../secureValueTypeInternalPassport.html | 2 +- .../constructor/secureValueTypePassport.html | 2 +- .../secureValueTypePassportRegistration.html | 2 +- .../secureValueTypePersonalDetails.html | 2 +- .../constructor/secureValueTypePhone.html | 2 +- .../secureValueTypeRentalAgreement.html | 2 +- .../secureValueTypeTemporaryRegistration.html | 2 +- .../secureValueTypeUtilityBill.html | 2 +- .../constructor/sendMessageCancelAction.html | 2 +- .../sendMessageChooseContactAction.html | 2 +- .../sendMessageChooseStickerAction.html | 2 +- .../sendMessageEmojiInteraction.html | 2 +- .../sendMessageEmojiInteractionSeen.html | 2 +- .../sendMessageGamePlayAction.html | 2 +- .../sendMessageGeoLocationAction.html | 2 +- .../sendMessageHistoryImportAction.html | 2 +- .../sendMessageRecordAudioAction.html | 2 +- .../sendMessageRecordRoundAction.html | 2 +- .../sendMessageRecordVideoAction.html | 2 +- .../constructor/sendMessageTypingAction.html | 2 +- .../sendMessageUploadAudioAction.html | 2 +- .../sendMessageUploadDocumentAction.html | 2 +- .../sendMessageUploadPhotoAction.html | 2 +- .../sendMessageUploadRoundAction.html | 2 +- .../sendMessageUploadVideoAction.html | 2 +- .../constructor/shippingOption.html | 2 +- .../speakingInGroupCallAction.html | 2 +- .../constructor/sponsoredMessage.html | 2 +- .../constructor/stats.broadcastStats | 2 +- .../constructor/stats.megagroupStats | 2 +- .../constructor/stats.messageStats | 2 +- .../constructor/statsAbsValueAndPrev.html | 2 +- .../constructor/statsDateRangeDays.html | 2 +- .../constructor/statsGraph.html | 2 +- .../constructor/statsGraphAsync.html | 2 +- .../constructor/statsGraphError.html | 2 +- .../constructor/statsGroupTopAdmin.html | 2 +- .../constructor/statsGroupTopInviter.html | 2 +- .../constructor/statsGroupTopPoster.html | 2 +- .../constructor/statsPercentValue.html | 2 +- .../constructor/statsURL.html | 2 +- .../constructor/stickerPack.html | 2 +- .../constructor/stickerSet.html | 2 +- .../constructor/stickerSetCovered.html | 2 +- .../constructor/stickerSetMultiCovered.html | 2 +- .../constructor/stickers.suggestedShortName | 2 +- .../constructor/storage.fileGif | 2 +- .../constructor/storage.fileJpeg | 2 +- .../constructor/storage.fileMov | 2 +- .../constructor/storage.fileMp3 | 2 +- .../constructor/storage.fileMp4 | 2 +- .../constructor/storage.filePartial | 2 +- .../constructor/storage.filePdf | 2 +- .../constructor/storage.filePng | 2 +- .../constructor/storage.fileUnknown | 2 +- .../constructor/storage.fileWebp | 2 +- .../constructor/textAnchor.html | 2 +- .../constructor/textBold.html | 2 +- .../constructor/textEmail.html | 2 +- .../constructor/textEmpty.html | 2 +- .../constructor/textFixed.html | 2 +- .../constructor/textImage.html | 2 +- .../constructor/textItalic.html | 2 +- .../constructor/textMarked.html | 2 +- .../constructor/textPhone.html | 2 +- .../constructor/textPlain.html | 2 +- .../constructor/textStrike.html | 2 +- .../constructor/textSubscript.html | 2 +- .../constructor/textSuperscript.html | 2 +- .../constructor/textUnderline.html | 2 +- .../constructor/textUrl.html | 2 +- .../constructor/theme.html | 2 +- .../constructor/themeSettings.html | 2 +- .../constructor/topPeer.html | 2 +- .../topPeerCategoryBotsInline.html | 2 +- .../constructor/topPeerCategoryBotsPM.html | 2 +- .../constructor/topPeerCategoryChannels.html | 2 +- .../topPeerCategoryCorrespondents.html | 2 +- .../topPeerCategoryForwardChats.html | 2 +- .../topPeerCategoryForwardUsers.html | 2 +- .../constructor/topPeerCategoryGroups.html | 2 +- .../constructor/topPeerCategoryPeers.html | 2 +- .../topPeerCategoryPhoneCalls.html | 2 +- .../constructor/true.html | 2 +- .../constructor/updateBotCallbackQuery.html | 2 +- .../constructor/updateBotCommands.html | 2 +- .../constructor/updateBotInlineQuery.html | 2 +- .../constructor/updateBotInlineSend.html | 2 +- .../updateBotPrecheckoutQuery.html | 2 +- .../constructor/updateBotShippingQuery.html | 2 +- .../constructor/updateBotStopped.html | 2 +- .../constructor/updateBotWebhookJSON.html | 2 +- .../updateBotWebhookJSONQuery.html | 2 +- .../constructor/updateChannel.html | 2 +- .../updateChannelAvailableMessages.html | 2 +- .../updateChannelMessageForwards.html | 2 +- .../updateChannelMessageViews.html | 2 +- .../constructor/updateChannelParticipant.html | 2 +- .../updateChannelReadMessagesContents.html | 2 +- .../constructor/updateChannelTooLong.html | 2 +- .../constructor/updateChannelUserTyping.html | 2 +- .../constructor/updateChannelWebPage.html | 2 +- .../constructor/updateChat.html | 2 +- .../updateChatDefaultBannedRights.html | 2 +- .../constructor/updateChatParticipant.html | 2 +- .../constructor/updateChatParticipantAdd.html | 2 +- .../updateChatParticipantAdmin.html | 2 +- .../constructor/updateChatParticipants.html | 2 +- .../constructor/updateChatUserTyping.html | 2 +- .../constructor/updateConfig.html | 2 +- .../constructor/updateContactsReset.html | 2 +- .../constructor/updateDcOptions.html | 2 +- .../updateDeleteChannelMessages.html | 2 +- .../constructor/updateDeleteMessages.html | 2 +- .../constructor/updateDialogFilter.html | 2 +- .../constructor/updateDialogFilterOrder.html | 2 +- .../constructor/updateDialogFilters.html | 2 +- .../constructor/updateDialogPinned.html | 2 +- .../constructor/updateDialogUnreadMark.html | 2 +- .../constructor/updateDraftMessage.html | 2 +- .../constructor/updateEditChannelMessage.html | 2 +- .../constructor/updateEditMessage.html | 2 +- .../updateEncryptedChatTyping.html | 2 +- .../updateEncryptedMessagesRead.html | 2 +- .../constructor/updateEncryption.html | 2 +- .../constructor/updateFavedStickers.html | 2 +- .../constructor/updateFolderPeers.html | 2 +- .../constructor/updateGeoLiveViewed.html | 2 +- .../updateGroupCallConnection.html | 2 +- .../updateGroupCallParticipants.html | 2 +- .../updateInlineBotCallbackQuery.html | 2 +- .../constructor/updateLangPack.html | 2 +- .../constructor/updateLangPackTooLong.html | 2 +- .../constructor/updateLoginToken.html | 2 +- .../constructor/updateMessagePoll.html | 2 +- .../constructor/updateMessagePollVote.html | 2 +- .../constructor/updateNewChannelMessage.html | 2 +- .../updateNewEncryptedMessage.html | 2 +- .../constructor/updateNewMessage.html | 2 +- .../updateNewScheduledMessage.html | 2 +- .../constructor/updateNewStickerSet.html | 2 +- .../constructor/updateNotifySettings.html | 2 +- .../constructor/updatePeerBlocked.html | 2 +- .../constructor/updatePeerHistoryTTL.html | 2 +- .../constructor/updatePeerLocated.html | 2 +- .../constructor/updatePeerSettings.html | 2 +- .../constructor/updatePhoneCall.html | 2 +- .../updatePhoneCallSignalingData.html | 2 +- .../updatePinnedChannelMessages.html | 2 +- .../constructor/updatePinnedDialogs.html | 2 +- .../constructor/updatePinnedMessages.html | 2 +- .../constructor/updatePrivacy.html | 2 +- .../constructor/updatePtsChanged.html | 2 +- .../updateReadChannelDiscussionInbox.html | 2 +- .../updateReadChannelDiscussionOutbox.html | 2 +- .../constructor/updateReadChannelInbox.html | 2 +- .../constructor/updateReadChannelOutbox.html | 2 +- .../updateReadFeaturedStickers.html | 2 +- .../constructor/updateReadHistoryInbox.html | 2 +- .../constructor/updateReadHistoryOutbox.html | 2 +- .../updateReadMessagesContents.html | 2 +- .../constructor/updateRecentStickers.html | 2 +- .../constructor/updateSavedGifs.html | 2 +- .../updateServiceNotification.html | 2 +- .../constructor/updateShort.html | 2 +- .../constructor/updateShortChatMessage.html | 2 +- .../constructor/updateShortMessage.html | 2 +- .../constructor/updateShortSentMessage.html | 2 +- .../constructor/updateStickerSets.html | 2 +- .../constructor/updateStickerSetsOrder.html | 2 +- .../constructor/updateTheme.html | 2 +- .../constructor/updateUserBlocked.html | 2 +- .../constructor/updateUserName.html | 2 +- .../constructor/updateUserPhone.html | 2 +- .../constructor/updateUserPhoto.html | 2 +- .../constructor/updateUserStatus.html | 2 +- .../constructor/updateUserTyping.html | 2 +- .../constructor/updateWebPage.html | 2 +- .../constructor/updates.channelDifference | 2 +- .../updates.channelDifferenceEmpty | 2 +- .../updates.channelDifferenceTooLong | 2 +- .../constructor/updates.difference | 2 +- .../constructor/updates.differenceEmpty | 2 +- .../constructor/updates.differenceSlice | 2 +- .../constructor/updates.differenceTooLong | 2 +- .../constructor/updates.html | 2 +- .../constructor/updatesCombined.html | 2 +- .../constructor/updatesTooLong.html | 2 +- .../constructor/upload.cdnFile | 2 +- .../constructor/upload.cdnFileReuploadNeeded | 2 +- .../constructor/upload.file | 2 +- .../constructor/upload.fileCdnRedirect | 2 +- .../constructor/urlAuthResultAccepted.html | 2 +- .../constructor/urlAuthResultDefault.html | 2 +- .../constructor/urlAuthResultRequest.html | 2 +- .../constructor/user.html | 2 +- .../constructor/userEmpty.html | 2 +- .../constructor/userFull.html | 2 +- .../constructor/userProfilePhoto.html | 2 +- .../constructor/userProfilePhotoEmpty.html | 2 +- .../constructor/userStatusEmpty.html | 2 +- .../constructor/userStatusLastMonth.html | 2 +- .../constructor/userStatusLastWeek.html | 2 +- .../constructor/userStatusOffline.html | 2 +- .../constructor/userStatusOnline.html | 2 +- .../constructor/userStatusRecently.html | 2 +- .../constructor/vector.html | 2 +- .../constructor/videoSize.html | 2 +- .../constructor/wallPaper.html | 2 +- .../constructor/wallPaperNoFile.html | 2 +- .../constructor/wallPaperSettings.html | 2 +- .../constructor/wallPaperSolid.html | 2 +- .../constructor/webAuthorization.html | 2 +- .../constructor/webDocument.html | 2 +- .../constructor/webDocumentNoProxy.html | 2 +- .../constructor/webPage.html | 2 +- .../constructor/webPageAttributeTheme.html | 2 +- .../constructor/webPageEmpty.html | 2 +- .../constructor/webPageNotModified.html | 2 +- .../constructor/webPagePending.html | 2 +- .../method/account.acceptAuthorization | 2 +- .../method/account.cancelPasswordEmail | 2 +- .../method/account.changePhone | 2 +- .../method/account.checkUsername | 2 +- .../method/account.confirmPasswordEmail | 2 +- .../method/account.confirmPhone | 2 +- .../method/account.createTheme | 2 +- .../method/account.declinePasswordReset | 2 +- .../method/account.deleteAccount | 2 +- .../method/account.deleteSecureValue | 2 +- .../method/account.finishTakeoutSession | 2 +- .../method/account.getAccountTTL | 2 +- .../method/account.getAllSecureValues | 2 +- .../method/account.getAuthorizations | 2 +- .../method/account.getAutoDownloadSettings | 2 +- .../method/account.getChatThemes | 2 +- .../account.getContactSignUpNotification | 2 +- .../method/account.getContentSettings | 2 +- .../method/account.getGlobalPrivacySettings | 2 +- .../method/account.getMultiWallPapers | 2 +- .../method/account.getNotifyExceptions | 2 +- .../method/account.getPassword | 2 +- .../method/account.getPasswordSettings | 2 +- .../method/account.getPrivacy | 2 +- .../method/account.getSecureValue | 2 +- .../method/account.getTheme | 2 +- .../method/account.getThemes | 2 +- .../method/account.getTmpPassword | 2 +- .../method/account.getWallPaper | 2 +- .../method/account.getWallPapers | 2 +- .../method/account.getWebAuthorizations | 2 +- .../method/account.installTheme | 2 +- .../method/account.installWallPaper | 2 +- .../method/account.registerDevice | 2 +- .../method/account.reportPeer | 2 +- .../method/account.reportProfilePhoto | 2 +- .../method/account.resendPasswordEmail | 2 +- .../method/account.resetAuthorization | 2 +- .../method/account.resetNotifySettings | 2 +- .../method/account.resetPassword | 2 +- .../method/account.resetWallPapers | 2 +- .../method/account.resetWebAuthorization | 2 +- .../method/account.resetWebAuthorizations | 2 +- .../method/account.saveAutoDownloadSettings | 2 +- .../method/account.saveSecureValue | 2 +- .../method/account.saveTheme | 2 +- .../method/account.saveWallPaper | 2 +- .../method/account.sendChangePhoneCode | 2 +- .../method/account.sendConfirmPhoneCode | 2 +- .../method/account.sendVerifyEmailCode | 2 +- .../method/account.sendVerifyPhoneCode | 2 +- .../method/account.setAccountTTL | 2 +- .../account.setContactSignUpNotification | 2 +- .../method/account.setGlobalPrivacySettings | 2 +- .../method/account.setPrivacy | 2 +- .../method/account.unregisterDevice | 2 +- .../method/account.updateDeviceLocked | 2 +- .../method/account.updatePasswordSettings | 2 +- .../method/account.updateProfile | 2 +- .../method/account.updateStatus | 2 +- .../method/account.updateTheme | 2 +- .../method/account.updateUsername | 2 +- .../method/account.uploadTheme | 2 +- .../method/account.uploadWallPaper | 2 +- .../method/account.verifyEmail | 2 +- .../method/account.verifyPhone | 2 +- .../method/auth.acceptLoginToken | 2 +- .../method/auth.bindTempAuthKey | 2 +- .../method/auth.cancelCode | 2 +- .../method/auth.checkPassword | 2 +- .../method/auth.checkPhone | 2 +- .../method/auth.checkRecoveryPassword | 2 +- .../method/auth.dropTempAuthKeys | 2 +- .../method/auth.exportAuthorization | 2 +- .../method/auth.exportLoginToken | 2 +- .../method/auth.importAuthorization | 2 +- .../method/auth.importBotAuthorization | 2 +- .../method/auth.importLoginToken | 2 +- data/corefork.telegram.org/method/auth.logOut | 2 +- .../method/auth.recoverPassword | 2 +- .../method/auth.requestPasswordRecovery | 2 +- .../method/auth.resendCode | 2 +- data/corefork.telegram.org/method/auth.signIn | 2 +- data/corefork.telegram.org/method/auth.signUp | 2 +- .../method/bots.getBotCommands | 2 +- .../method/bots.resetBotCommands | 2 +- .../method/bots.sendCustomRequest | 2 +- .../method/bots.setBotCommands | 2 +- .../method/channels.checkUsername | 2 +- .../method/channels.createChannel | 2 +- .../method/channels.deleteChannel | 2 +- .../method/channels.deleteHistory | 2 +- .../method/channels.deleteMessages | 2 +- .../method/channels.deleteUserHistory | 2 +- .../method/channels.editAdmin | 2 +- .../method/channels.editBanned | 2 +- .../method/channels.editCreator | 2 +- .../method/channels.editLocation | 2 +- .../method/channels.editPhoto | 2 +- .../method/channels.editTitle | 2 +- .../method/channels.exportMessageLink | 2 +- .../method/channels.getAdminLog | 2 +- .../method/channels.getAdminedPublicChannels | 2 +- .../method/channels.getChannels | 2 +- .../method/channels.getFullChannel | 2 +- .../method/channels.getGroupsForDiscussion | 2 +- .../method/channels.getInactiveChannels | 2 +- .../method/channels.getLeftChannels | 2 +- .../method/channels.getMessages | 2 +- .../method/channels.getParticipant | 2 +- .../method/channels.getParticipants | 2 +- .../method/channels.getSponsoredMessages | 2 +- .../method/channels.inviteToChannel | 2 +- .../method/channels.joinChannel | 2 +- .../method/channels.leaveChannel | 2 +- .../method/channels.readHistory | 2 +- .../method/channels.readMessageContents | 2 +- .../method/channels.reportSpam | 2 +- .../method/channels.setDiscussionGroup | 2 +- .../method/channels.togglePreHistoryHidden | 2 +- .../method/channels.toggleSignatures | 2 +- .../method/channels.toggleSlowMode | 2 +- .../method/channels.updateUsername | 2 +- .../method/channels.viewSponsoredMessage | 2 +- .../method/contacts.acceptContact | 2 +- .../method/contacts.addContact | 2 +- .../method/contacts.block | 2 +- .../method/contacts.blockFromReplies | 2 +- .../method/contacts.deleteByPhones | 2 +- .../method/contacts.deleteContacts | 2 +- .../method/contacts.getBlocked | 2 +- .../method/contacts.getContactIDs | 2 +- .../method/contacts.getContacts | 2 +- .../method/contacts.getLocated | 2 +- .../method/contacts.getSaved | 2 +- .../method/contacts.getStatuses | 2 +- .../method/contacts.getTopPeers | 2 +- .../method/contacts.importContacts | 2 +- .../method/contacts.resetSaved | 2 +- .../method/contacts.resetTopPeerRating | 2 +- .../method/contacts.resolveUsername | 2 +- .../method/contacts.search | 2 +- .../method/contacts.toggleTopPeers | 2 +- .../method/contacts.unblock | 2 +- .../method/folders.deleteFolder | 2 +- .../method/folders.editPeerFolders | 2 +- .../method/help.acceptTermsOfService | 2 +- .../method/help.dismissSuggestion | 2 +- .../method/help.editUserInfo | 2 +- .../method/help.getAppChangelog | 2 +- .../method/help.getAppConfig | 2 +- .../method/help.getAppUpdate | 2 +- .../method/help.getCdnConfig | 2 +- .../method/help.getConfig | 2 +- .../method/help.getCountriesList | 2 +- .../method/help.getDeepLinkInfo | 2 +- .../method/help.getInviteText | 2 +- .../method/help.getNearestDc | 2 +- .../method/help.getPassportConfig | 2 +- .../method/help.getPromoData | 2 +- .../method/help.getProxyData | 2 +- .../method/help.getRecentMeUrls | 2 +- .../method/help.getSupport | 2 +- .../method/help.getSupportName | 2 +- .../method/help.getTermsOfServiceUpdate | 2 +- .../method/help.getUserInfo | 2 +- .../method/help.hidePromoData | 2 +- .../method/help.saveAppLog | 2 +- .../method/help.setBotUpdatesStatus | 2 +- .../method/invokeAfterMsg.html | 2 +- .../method/invokeWithLayer.html | 2 +- .../method/invokeWithMessagesRange.html | 2 +- .../method/invokeWithTakeout.html | 2 +- .../method/invokeWithoutUpdates.html | 2 +- .../method/langpack.getDifference | 2 +- .../method/langpack.getLangPack | 2 +- .../method/langpack.getLanguage | 2 +- .../method/langpack.getLanguages | 2 +- .../method/langpack.getStrings | 2 +- .../method/messages.acceptEncryption | 2 +- .../method/messages.acceptUrlAuth | 2 +- .../method/messages.addChatUser | 2 +- .../method/messages.checkChatInvite | 2 +- .../method/messages.checkHistoryImport | 2 +- .../method/messages.checkHistoryImportPeer | 2 +- .../method/messages.clearAllDrafts | 2 +- .../method/messages.clearRecentStickers | 2 +- .../method/messages.createChat | 2 +- .../method/messages.deleteChat | 2 +- .../method/messages.deleteChatUser | 2 +- .../method/messages.deleteExportedChatInvite | 2 +- .../method/messages.deleteHistory | 2 +- .../method/messages.deleteMessages | 2 +- .../method/messages.deletePhoneCallHistory | 2 +- .../messages.deleteRevokedExportedChatInvites | 2 +- .../method/messages.deleteScheduledMessages | 2 +- .../method/messages.discardEncryption | 2 +- .../method/messages.editChatAbout | 2 +- .../method/messages.editChatAdmin | 2 +- .../messages.editChatDefaultBannedRights | 2 +- .../method/messages.editChatPhoto | 2 +- .../method/messages.editChatTitle | 2 +- .../method/messages.editExportedChatInvite | 2 +- .../method/messages.editInlineBotMessage | 2 +- .../method/messages.editMessage | 2 +- .../method/messages.exportChatInvite | 2 +- .../method/messages.faveSticker | 2 +- .../method/messages.forwardMessages | 2 +- .../method/messages.getAdminsWithInvites | 2 +- .../method/messages.getAllChats | 2 +- .../method/messages.getAllDrafts | 2 +- .../method/messages.getAllStickers | 2 +- .../method/messages.getArchivedStickers | 2 +- .../method/messages.getAttachedStickers | 2 +- .../method/messages.getBotCallbackAnswer | 2 +- .../method/messages.getChatInviteImporters | 2 +- .../method/messages.getChats | 2 +- .../method/messages.getCommonChats | 2 +- .../method/messages.getDhConfig | 2 +- .../method/messages.getDialogFilters | 2 +- .../method/messages.getDialogUnreadMarks | 2 +- .../method/messages.getDialogs | 2 +- .../method/messages.getDiscussionMessage | 2 +- .../method/messages.getDocumentByHash | 2 +- .../method/messages.getEmojiKeywords | 2 +- .../messages.getEmojiKeywordsDifference | 2 +- .../method/messages.getEmojiKeywordsLanguages | 2 +- .../method/messages.getEmojiURL | 2 +- .../method/messages.getExportedChatInvite | 2 +- .../method/messages.getExportedChatInvites | 2 +- .../method/messages.getFeaturedStickers | 2 +- .../method/messages.getFullChat | 2 +- .../method/messages.getGameHighScores | 2 +- .../method/messages.getHistory | 2 +- .../method/messages.getInlineBotResults | 2 +- .../method/messages.getInlineGameHighScores | 2 +- .../method/messages.getMaskStickers | 2 +- .../method/messages.getMessageEditData | 2 +- .../messages.getMessageReadParticipants | 2 +- .../method/messages.getMessages | 2 +- .../method/messages.getMessagesReactions | 2 +- .../method/messages.getMessagesViews | 2 +- .../method/messages.getOldFeaturedStickers | 2 +- .../method/messages.getPeerDialogs | 2 +- .../method/messages.getPeerSettings | 2 +- .../method/messages.getPinnedDialogs | 2 +- .../method/messages.getPollResults | 2 +- .../method/messages.getPollVotes | 2 +- .../method/messages.getRecentLocations | 2 +- .../method/messages.getRecentStickers | 2 +- .../method/messages.getReplies | 2 +- .../method/messages.getSavedGifs | 2 +- .../method/messages.getScheduledHistory | 2 +- .../method/messages.getScheduledMessages | 2 +- .../method/messages.getSearchCounters | 2 +- .../method/messages.getSplitRanges | 2 +- .../method/messages.getStickerSet | 2 +- .../method/messages.getStickers | 2 +- .../method/messages.getSuggestedDialogFilters | 2 +- .../method/messages.getUnreadMentions | 2 +- .../method/messages.getWebPage | 2 +- .../method/messages.getWebPagePreview | 2 +- .../method/messages.hidePeerSettingsBar | 2 +- .../method/messages.importChatInvite | 2 +- .../method/messages.initHistoryImport | 2 +- .../method/messages.installStickerSet | 2 +- .../method/messages.markDialogUnread | 2 +- .../method/messages.migrateChat | 2 +- .../method/messages.readDiscussion | 2 +- .../method/messages.readEncryptedHistory | 2 +- .../method/messages.readFeaturedStickers | 2 +- .../method/messages.readHistory | 2 +- .../method/messages.readMentions | 2 +- .../method/messages.readMessageContents | 2 +- .../method/messages.receivedMessages | 2 +- .../method/messages.receivedQueue | 2 +- .../method/messages.reorderPinnedDialogs | 2 +- .../method/messages.reorderStickerSets | 2 +- .../method/messages.reportEncryptedSpam | 2 +- .../method/messages.reportSpam | 2 +- .../method/messages.requestEncryption | 2 +- .../method/messages.requestUrlAuth | 2 +- .../method/messages.saveDraft | 2 +- .../method/messages.saveGif | 2 +- .../method/messages.saveRecentSticker | 2 +- .../method/messages.search | 2 +- .../method/messages.searchGifs | 2 +- .../method/messages.searchStickerSets | 2 +- .../method/messages.sendEncrypted | 2 +- .../method/messages.sendEncryptedFile | 2 +- .../method/messages.sendEncryptedService | 2 +- .../method/messages.sendInlineBotResult | 2 +- .../method/messages.sendMedia | 2 +- .../method/messages.sendMessage | 2 +- .../method/messages.sendMultiMedia | 2 +- .../method/messages.sendReaction | 2 +- .../method/messages.sendScheduledMessages | 2 +- .../messages.sendScreenshotNotification | 2 +- .../method/messages.sendVote | 2 +- .../method/messages.setBotCallbackAnswer | 2 +- .../method/messages.setBotPrecheckoutResults | 2 +- .../method/messages.setBotShippingResults | 2 +- .../method/messages.setChatTheme | 2 +- .../method/messages.setEncryptedTyping | 2 +- .../method/messages.setGameScore | 2 +- .../method/messages.setHistoryTTL | 2 +- .../method/messages.setInlineBotResults | 2 +- .../method/messages.setInlineGameScore | 2 +- .../method/messages.setTyping | 2 +- .../method/messages.startBot | 2 +- .../method/messages.startHistoryImport | 2 +- .../method/messages.toggleDialogPin | 2 +- .../method/messages.toggleStickerSets | 2 +- .../method/messages.uninstallStickerSet | 2 +- .../method/messages.unpinAllMessages | 2 +- .../method/messages.updateDialogFilter | 2 +- .../method/messages.updateDialogFiltersOrder | 2 +- .../method/messages.updatePinnedMessage | 2 +- .../method/messages.uploadEncryptedFile | 2 +- .../method/messages.uploadImportedMedia | 2 +- .../method/messages.uploadMedia | 2 +- .../method/payments.clearSavedInfo | 2 +- .../method/payments.getBankCardData | 2 +- .../method/payments.getPaymentForm | 2 +- .../method/payments.getPaymentReceipt | 2 +- .../method/payments.getSavedInfo | 2 +- .../method/payments.sendPaymentForm | 2 +- .../method/payments.validateRequestedInfo | 2 +- .../method/phone.acceptCall | 2 +- .../method/phone.checkGroupCall | 2 +- .../method/phone.confirmCall | 2 +- .../method/phone.createGroupCall | 2 +- .../method/phone.discardCall | 2 +- .../method/phone.discardGroupCall | 2 +- .../method/phone.editGroupCallMember | 2 +- .../method/phone.editGroupCallParticipant | 2 +- .../method/phone.editGroupCallTitle | 2 +- .../method/phone.exportGroupCallInvite | 2 +- .../method/phone.getCallConfig | 2 +- .../method/phone.getGroupCall | 2 +- .../method/phone.getGroupCallJoinAs | 2 +- .../method/phone.getGroupParticipants | 2 +- .../method/phone.inviteToGroupCall | 2 +- .../method/phone.joinGroupCall | 2 +- .../method/phone.joinGroupCallPresentation | 2 +- .../method/phone.leaveGroupCall | 2 +- .../method/phone.leaveGroupCallPresentation | 2 +- .../method/phone.receivedCall | 2 +- .../method/phone.requestCall | 2 +- .../method/phone.saveCallDebug | 2 +- .../method/phone.saveDefaultGroupCallJoinAs | 2 +- .../method/phone.sendSignalingData | 2 +- .../method/phone.setCallRating | 2 +- .../method/phone.startScheduledGroupCall | 2 +- .../method/phone.toggleGroupCallRecord | 2 +- .../method/phone.toggleGroupCallSettings | 2 +- .../phone.toggleGroupCallStartSubscription | 2 +- .../method/photos.deletePhotos | 2 +- .../method/photos.getUserPhotos | 2 +- .../method/photos.updateProfilePhoto | 2 +- .../method/photos.uploadProfilePhoto | 2 +- .../method/stats.getBroadcastStats | 2 +- .../method/stats.getMegagroupStats | 2 +- .../method/stats.getMessagePublicForwards | 2 +- .../method/stats.getMessageStats | 2 +- .../method/stats.loadAsyncGraph | 2 +- .../method/stickers.addStickerToSet | 2 +- .../method/stickers.changeStickerPosition | 2 +- .../method/stickers.checkShortName | 2 +- .../method/stickers.createStickerSet | 2 +- .../method/stickers.removeStickerFromSet | 2 +- .../method/stickers.setStickerSetThumb | 2 +- .../method/stickers.suggestShortName | 2 +- .../method/updates.getChannelDifference | 2 +- .../method/updates.getDifference | 2 +- .../method/updates.getState | 2 +- .../method/upload.getCdnFile | 2 +- .../method/upload.getFile | 2 +- .../method/upload.getFileHashes | 2 +- .../method/upload.getWebFile | 2 +- .../method/upload.reuploadCdnFile | 2 +- .../method/upload.saveBigFilePart | 2 +- .../method/upload.saveFilePart | 2 +- .../method/users.getFullUser | 2 +- .../method/users.getUsers | 2 +- .../method/users.setSecureValueErrors | 2 +- data/corefork.telegram.org/schema.html | 2 +- .../schema/end-to-end.html | 2 +- .../type/AccountDaysTTL.html | 2 +- data/corefork.telegram.org/type/Audio.html | 2 +- .../type/Authorization.html | 2 +- .../type/AutoDownloadSettings.html | 2 +- .../type/BankCardOpenUrl.html | 2 +- .../corefork.telegram.org/type/BaseTheme.html | 2 +- data/corefork.telegram.org/type/Bool.html | 2 +- .../type/BotCommand.html | 2 +- .../type/BotCommandScope.html | 2 +- data/corefork.telegram.org/type/BotInfo.html | 2 +- .../type/BotInlineMessage.html | 2 +- .../type/BotInlineResult.html | 2 +- .../corefork.telegram.org/type/CdnConfig.html | 2 +- .../type/CdnPublicKey.html | 2 +- .../type/ChannelAdminLogEvent.html | 2 +- .../type/ChannelAdminLogEventAction.html | 2 +- .../type/ChannelAdminLogEventsFilter.html | 2 +- .../type/ChannelLocation.html | 2 +- .../type/ChannelMessagesFilter.html | 2 +- .../type/ChannelParticipant.html | 2 +- .../type/ChannelParticipantsFilter.html | 2 +- data/corefork.telegram.org/type/Chat.html | 2 +- .../type/ChatAdminRights.html | 2 +- .../type/ChatAdminWithInvites.html | 2 +- .../type/ChatBannedRights.html | 2 +- data/corefork.telegram.org/type/ChatFull.html | 2 +- .../type/ChatInvite.html | 2 +- .../type/ChatInviteImporter.html | 2 +- .../type/ChatOnlines.html | 2 +- .../type/ChatParticipant.html | 2 +- .../type/ChatParticipants.html | 2 +- .../corefork.telegram.org/type/ChatPhoto.html | 2 +- .../corefork.telegram.org/type/ChatTheme.html | 2 +- .../type/CodeSettings.html | 2 +- data/corefork.telegram.org/type/Config.html | 2 +- data/corefork.telegram.org/type/Contact.html | 2 +- .../type/ContactStatus.html | 2 +- data/corefork.telegram.org/type/DataJSON.html | 2 +- data/corefork.telegram.org/type/DcOption.html | 2 +- .../type/DecryptedDataBlock.html | 2 +- .../type/DecryptedMessage.html | 2 +- .../type/DecryptedMessageAction.html | 2 +- .../type/DecryptedMessageLayer.html | 2 +- .../type/DecryptedMessageMedia.html | 2 +- data/corefork.telegram.org/type/Dialog.html | 2 +- .../type/DialogFilter.html | 2 +- .../type/DialogFilterSuggested.html | 2 +- .../type/DialogPeer.html | 2 +- .../type/DisabledFeature.html | 2 +- data/corefork.telegram.org/type/Document.html | 2 +- .../type/DocumentAttribute.html | 2 +- .../type/DraftMessage.html | 2 +- .../type/EmojiKeyword.html | 2 +- .../type/EmojiKeywordsDifference.html | 2 +- .../type/EmojiLanguage.html | 2 +- data/corefork.telegram.org/type/EmojiURL.html | 2 +- .../type/EncryptedChat.html | 2 +- .../type/EncryptedFile.html | 2 +- .../type/EncryptedMessage.html | 2 +- data/corefork.telegram.org/type/Error.html | 2 +- .../type/ExportedMessageLink.html | 2 +- data/corefork.telegram.org/type/FileHash.html | 2 +- .../type/FileLocation.html | 2 +- data/corefork.telegram.org/type/Folder.html | 2 +- .../type/FolderPeer.html | 2 +- data/corefork.telegram.org/type/Game.html | 2 +- data/corefork.telegram.org/type/GeoPoint.html | 2 +- .../type/GlobalPrivacySettings.html | 2 +- .../corefork.telegram.org/type/GroupCall.html | 2 +- .../type/GroupCallParticipant.html | 2 +- .../GroupCallParticipantVideoSourceGroup.html | 2 +- .../corefork.telegram.org/type/HighScore.html | 2 +- .../type/ImportedContact.html | 2 +- .../type/InlineBotSwitchPM.html | 2 +- .../type/InlineQueryPeerType.html | 2 +- .../type/InputAppEvent.html | 2 +- .../type/InputBotInlineMessage.html | 2 +- .../type/InputBotInlineResult.html | 2 +- .../type/InputChannel.html | 2 +- .../type/InputChatPhoto.html | 2 +- .../type/InputCheckPasswordSRP.html | 2 +- .../type/InputClientProxy.html | 2 +- .../type/InputContact.html | 2 +- .../type/InputDialogPeer.html | 2 +- .../type/InputDocument.html | 2 +- .../type/InputEncryptedChat.html | 2 +- .../type/InputEncryptedFile.html | 2 +- .../corefork.telegram.org/type/InputFile.html | 2 +- .../type/InputFileLocation.html | 2 +- .../type/InputFolderPeer.html | 2 +- .../corefork.telegram.org/type/InputGame.html | 2 +- .../type/InputGeoPoint.html | 2 +- .../type/InputGroupCall.html | 2 +- .../type/InputMessage.html | 2 +- .../type/InputNotifyPeer.html | 2 +- .../type/InputPaymentCredentials.html | 2 +- .../corefork.telegram.org/type/InputPeer.html | 2 +- .../type/InputPeerNotifySettings.html | 2 +- .../type/InputPhoneCall.html | 2 +- .../type/InputPhoto.html | 2 +- .../type/InputPrivacyKey.html | 2 +- .../type/InputPrivacyRule.html | 2 +- .../type/InputSecureFile.html | 2 +- .../type/InputSecureValue.html | 2 +- .../type/InputSingleMedia.html | 2 +- .../type/InputStickerSet.html | 2 +- .../type/InputStickerSetItem.html | 2 +- .../type/InputStickeredMedia.html | 2 +- .../type/InputTheme.html | 2 +- .../type/InputThemeSettings.html | 2 +- .../corefork.telegram.org/type/InputUser.html | 2 +- .../type/InputWallPaper.html | 2 +- .../type/InputWebFileLocation.html | 2 +- data/corefork.telegram.org/type/Invoice.html | 2 +- .../type/JSONObjectValue.html | 2 +- .../corefork.telegram.org/type/JSONValue.html | 2 +- .../type/KeyboardButton.html | 2 +- .../type/KeyboardButtonRow.html | 2 +- .../type/LabeledPrice.html | 2 +- .../type/LangPackDifference.html | 2 +- .../type/MaskCoords.html | 2 +- .../type/MessageEntity.html | 2 +- .../type/MessageFwdHeader.html | 2 +- .../type/MessageInteractionCounters.html | 2 +- .../type/MessageMedia.html | 2 +- .../type/MessageRange.html | 2 +- .../type/MessageReactionsList.html | 2 +- .../type/MessageReplies.html | 2 +- .../type/MessageReplyHeader.html | 2 +- .../type/MessageUserVote.html | 2 +- .../type/MessageViews.html | 2 +- .../type/MessagesFilter.html | 2 +- .../corefork.telegram.org/type/NearestDc.html | 2 +- .../type/NotifyPeer.html | 2 +- data/corefork.telegram.org/type/Null.html | 2 +- data/corefork.telegram.org/type/Page.html | 2 +- .../corefork.telegram.org/type/PageBlock.html | 2 +- .../type/PageCaption.html | 2 +- .../type/PageListItem.html | 2 +- .../type/PageListOrderedItem.html | 2 +- .../type/PageRelatedArticle.html | 2 +- .../type/PageTableCell.html | 2 +- .../type/PageTableRow.html | 2 +- .../type/PasswordKdfAlgo.html | 2 +- .../type/PaymentCharge.html | 2 +- .../type/PaymentRequestedInfo.html | 2 +- .../type/PaymentSavedCredentials.html | 2 +- .../type/PeerBlocked.html | 2 +- .../type/PeerLocated.html | 2 +- .../type/PeerNotifySettings.html | 2 +- .../type/PeerSettings.html | 2 +- .../corefork.telegram.org/type/PhoneCall.html | 2 +- .../type/PhoneCallDiscardReason.html | 2 +- .../type/PhoneCallProtocol.html | 2 +- .../type/PhoneConnection.html | 2 +- data/corefork.telegram.org/type/Photo.html | 2 +- .../corefork.telegram.org/type/PhotoSize.html | 2 +- data/corefork.telegram.org/type/Poll.html | 2 +- .../type/PollAnswer.html | 2 +- .../type/PollAnswerVoters.html | 2 +- .../type/PollResults.html | 2 +- .../type/PopularContact.html | 2 +- .../type/PostAddress.html | 2 +- .../type/PrivacyKey.html | 2 +- .../type/PrivacyRule.html | 2 +- .../type/ReceivedNotifyMessage.html | 2 +- .../type/RecentMeUrl.html | 2 +- .../type/ReplyMarkup.html | 2 +- .../type/ReportReason.html | 2 +- .../type/RestrictionReason.html | 2 +- data/corefork.telegram.org/type/RichText.html | 2 +- .../type/SecureCredentialsEncrypted.html | 2 +- .../type/SecureData.html | 2 +- .../type/SecureFile.html | 2 +- .../type/SecurePasswordKdfAlgo.html | 2 +- .../type/SecurePlainData.html | 2 +- .../type/SecureRequiredType.html | 2 +- .../type/SecureSecretSettings.html | 2 +- .../type/SecureValue.html | 2 +- .../type/SecureValueHash.html | 2 +- .../type/SecureValueType.html | 2 +- .../type/SendMessageAction.html | 2 +- .../type/ShippingOption.html | 2 +- .../type/SponsoredMessage.html | 2 +- .../type/StatsAbsValueAndPrev.html | 2 +- .../type/StatsDateRangeDays.html | 2 +- .../type/StatsGraph.html | 2 +- .../type/StatsGroupTopAdmin.html | 2 +- .../type/StatsGroupTopInviter.html | 2 +- .../type/StatsGroupTopPoster.html | 2 +- .../type/StatsPercentValue.html | 2 +- data/corefork.telegram.org/type/StatsURL.html | 2 +- .../type/StickerPack.html | 2 +- .../type/StickerSet.html | 2 +- .../type/StickerSetCovered.html | 2 +- data/corefork.telegram.org/type/Theme.html | 2 +- data/corefork.telegram.org/type/TopPeer.html | 2 +- .../type/TopPeerCategory.html | 2 +- .../type/TopPeerCategoryPeers.html | 2 +- data/corefork.telegram.org/type/True.html | 2 +- data/corefork.telegram.org/type/Update.html | 2 +- data/corefork.telegram.org/type/Updates.html | 2 +- .../type/UrlAuthResult.html | 2 +- data/corefork.telegram.org/type/UserFull.html | 2 +- .../type/UserProfilePhoto.html | 2 +- .../type/UserStatus.html | 2 +- data/corefork.telegram.org/type/Vector t.html | 2 +- data/corefork.telegram.org/type/Video.html | 2 +- .../corefork.telegram.org/type/VideoSize.html | 2 +- .../corefork.telegram.org/type/WallPaper.html | 2 +- .../type/WallPaperSettings.html | 2 +- .../type/WebAuthorization.html | 2 +- .../type/WebDocument.html | 2 +- data/corefork.telegram.org/type/WebPage.html | 2 +- .../type/WebPageAttribute.html | 2 +- .../type/account.Authorizations | 2 +- .../type/account.AutoDownloadSettings | 2 +- .../type/account.ChatThemes | 2 +- .../type/account.ContentSettings | 2 +- .../type/account.Password | 2 +- .../type/account.PasswordInputSettings | 2 +- .../type/account.PasswordSettings | 2 +- .../type/account.PrivacyRules | 2 +- .../type/account.ResetPasswordResult | 2 +- .../type/account.SentChangePhoneCode | 2 +- .../type/account.SentEmailCode | 2 +- .../type/account.Takeout | 2 +- .../corefork.telegram.org/type/account.Themes | 2 +- .../type/account.TmpPassword | 2 +- .../type/account.WebAuthorizations | 2 +- .../type/auth.Authorization | 2 +- .../type/auth.CheckedPhone | 2 +- data/corefork.telegram.org/type/auth.CodeType | 2 +- .../type/auth.LoginToken | 2 +- .../type/auth.PasswordRecovery | 2 +- data/corefork.telegram.org/type/auth.SentCode | 2 +- .../type/auth.SentCodeType | 2 +- .../type/channels.AdminLogResults | 2 +- .../type/channels.ChannelParticipant | 2 +- .../type/channels.ChannelParticipants | 2 +- .../type/contacts.Blocked | 2 +- .../type/contacts.Contacts | 2 +- .../corefork.telegram.org/type/contacts.Found | 2 +- .../type/contacts.ImportedContacts | 2 +- data/corefork.telegram.org/type/contacts.Link | 2 +- .../type/contacts.ResolvedPeer | 2 +- .../type/contacts.TopPeers | 2 +- .../corefork.telegram.org/type/help.AppUpdate | 2 +- .../type/help.CountriesList | 2 +- data/corefork.telegram.org/type/help.Country | 2 +- .../type/help.CountryCode | 2 +- .../type/help.DeepLinkInfo | 2 +- .../type/help.InviteText | 2 +- .../type/help.PassportConfig | 2 +- .../corefork.telegram.org/type/help.PromoData | 2 +- .../corefork.telegram.org/type/help.ProxyData | 2 +- .../type/help.RecentMeUrls | 2 +- data/corefork.telegram.org/type/help.Support | 2 +- .../type/help.SupportName | 2 +- .../type/help.TermsOfService | 2 +- .../type/help.TermsOfServiceUpdate | 2 +- data/corefork.telegram.org/type/help.UserInfo | 2 +- .../type/messages.AffectedFoundMessages | 2 +- .../type/messages.AffectedHistory | 2 +- .../type/messages.AffectedMessages | 2 +- .../type/messages.AllStickers | 2 +- .../type/messages.BotCallbackAnswer | 2 +- .../type/messages.BotResults | 2 +- .../type/messages.ChatAdminsWithInvites | 2 +- .../type/messages.ChatFull | 2 +- .../type/messages.ChatInviteImporters | 2 +- .../corefork.telegram.org/type/messages.Chats | 2 +- .../type/messages.CheckedHistoryImportPeer | 2 +- .../type/messages.DhConfig | 2 +- .../type/messages.Dialogs | 2 +- .../type/messages.DiscussionMessage | 2 +- .../type/messages.ExportedChatInvite | 2 +- .../type/messages.ExportedChatInvites | 2 +- .../type/messages.FavedStickers | 2 +- .../type/messages.FeaturedStickers | 2 +- .../type/messages.FoundGifs | 2 +- .../type/messages.FoundStickerSets | 2 +- .../type/messages.HighScores | 2 +- .../type/messages.HistoryImport | 2 +- .../type/messages.HistoryImportParsed | 2 +- .../type/messages.InactiveChats | 2 +- .../type/messages.MessageEditData | 2 +- .../type/messages.Messages | 2 +- .../type/messages.PeerDialogs | 2 +- .../type/messages.RecentStickers | 2 +- .../type/messages.SavedGifs | 2 +- .../type/messages.SearchCounter | 2 +- .../type/messages.SentEncryptedMessage | 2 +- .../type/messages.SentMessage | 2 +- .../type/messages.SponsoredMessages | 2 +- .../type/messages.StatedMessages | 2 +- .../type/messages.StickerSet | 2 +- .../type/messages.StickerSetInstallResult | 2 +- .../type/messages.Stickers | 2 +- .../type/messages.VotesList | 2 +- .../type/payments.BankCardData | 2 +- .../type/payments.PaymentForm | 2 +- .../type/payments.PaymentReceipt | 2 +- .../type/payments.PaymentResult | 2 +- .../type/payments.SavedInfo | 2 +- .../type/payments.ValidatedRequestedInfo | 2 +- .../type/phone.ExportedGroupCallInvite | 2 +- .../type/phone.GroupCall | 2 +- .../type/phone.GroupParticipants | 2 +- .../type/phone.JoinAsPeers | 2 +- .../type/phone.PhoneCall | 2 +- data/corefork.telegram.org/type/photos.Photo | 2 +- data/corefork.telegram.org/type/photos.Photos | 2 +- .../type/stats.BroadcastStats | 2 +- .../type/stats.MegagroupStats | 2 +- .../type/stats.MessageStats | 2 +- .../type/stickers.SuggestedShortName | 2 +- .../type/storage.FileType | 2 +- .../type/updates.ChannelDifference | 2 +- .../type/updates.Difference | 2 +- data/corefork.telegram.org/type/updates.State | 2 +- .../corefork.telegram.org/type/upload.CdnFile | 2 +- data/corefork.telegram.org/type/upload.File | 2 +- .../corefork.telegram.org/type/upload.WebFile | 2 +- data/promote.telegram.org.html | 20 +- data/promote.telegram.org/auth.html | 20 +- data/promote.telegram.org/basics.html | 20 +- data/promote.telegram.org/css/promote.css | 1011 ++++++++-------- .../promote.telegram.org/getting-started.html | 22 +- data/promote.telegram.org/guidelines.html | 22 +- data/promote.telegram.org/js/promote.js | 116 +- data/promote.telegram.org/tos.html | 22 +- 3369 files changed, 36420 insertions(+), 8935 deletions(-) create mode 100644 data/core.telegram.org/api/import.html delete mode 100644 data/core.telegram.org/api/requests.html create mode 100644 data/core.telegram.org/blog/chat-themes-interactive-emoji-read-receipts.html create mode 100644 data/core.telegram.org/constructor/account.chatThemes create mode 100644 data/core.telegram.org/constructor/account.chatThemesNotModified create mode 100644 data/core.telegram.org/constructor/account.resetPasswordFailedWait create mode 100644 data/core.telegram.org/constructor/account.resetPasswordOk create mode 100644 data/core.telegram.org/constructor/account.resetPasswordRequestedWait create mode 100644 data/core.telegram.org/constructor/botCommandScopeChatAdmins.html create mode 100644 data/core.telegram.org/constructor/botCommandScopeChats.html create mode 100644 data/core.telegram.org/constructor/botCommandScopeDefault.html create mode 100644 data/core.telegram.org/constructor/botCommandScopePeer.html create mode 100644 data/core.telegram.org/constructor/botCommandScopePeerAdmins.html create mode 100644 data/core.telegram.org/constructor/botCommandScopePeerUser.html create mode 100644 data/core.telegram.org/constructor/botCommandScopeUsers.html create mode 100644 data/core.telegram.org/constructor/botInlineMessageMediaInvoice.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionChangeHistoryTTL.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionDiscardGroupCall.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionExportedInviteDelete.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionExportedInviteEdit.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionExportedInviteRevoke.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionParticipantJoinByInvite.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionParticipantMute.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionParticipantUnmute.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionParticipantVolume.html rename data/core.telegram.org/constructor/{userRequest.html => channelAdminLogEventActionStartGroupCall.html} (79%) create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionToggleGroupCallSetting.html create mode 100644 data/core.telegram.org/constructor/chatAdminWithInvites.html create mode 100644 data/core.telegram.org/constructor/chatInviteImporter.html create mode 100644 data/core.telegram.org/constructor/chatTheme.html create mode 100644 data/core.telegram.org/constructor/groupCall.html create mode 100644 data/core.telegram.org/constructor/groupCallDiscarded.html create mode 100644 data/core.telegram.org/constructor/groupCallParticipant.html create mode 100644 data/core.telegram.org/constructor/groupCallParticipantVideo.html create mode 100644 data/core.telegram.org/constructor/groupCallParticipantVideoSourceGroup.html create mode 100644 data/core.telegram.org/constructor/inlineQueryPeerTypeBroadcast.html create mode 100644 data/core.telegram.org/constructor/inlineQueryPeerTypeChat.html create mode 100644 data/core.telegram.org/constructor/inlineQueryPeerTypeMegagroup.html create mode 100644 data/core.telegram.org/constructor/inlineQueryPeerTypePM.html create mode 100644 data/core.telegram.org/constructor/inlineQueryPeerTypeSameBotPM.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageID64.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageMediaInvoice.html create mode 100644 data/core.telegram.org/constructor/inputGroupCall.html create mode 100644 data/core.telegram.org/constructor/inputGroupCallStream.html create mode 100644 data/core.telegram.org/constructor/inputPaymentCredentialsGooglePay.html create mode 100644 data/core.telegram.org/constructor/inputReportReasonFake.html create mode 100644 data/core.telegram.org/constructor/inputStickerSetAnimatedEmojiAnimations.html create mode 100644 data/core.telegram.org/constructor/messageActionGroupCall.html create mode 100644 data/core.telegram.org/constructor/messageActionGroupCallScheduled.html create mode 100644 data/core.telegram.org/constructor/messageActionInviteToGroupCall.html rename data/core.telegram.org/constructor/{userForeign.html => messageActionSetChatTheme.html} (82%) create mode 100644 data/core.telegram.org/constructor/messageActionSetMessagesTTL.html create mode 100644 data/core.telegram.org/constructor/messages.affectedFoundMessages create mode 100644 data/core.telegram.org/constructor/messages.chatAdminsWithInvites create mode 100644 data/core.telegram.org/constructor/messages.chatInviteImporters create mode 100644 data/core.telegram.org/constructor/messages.checkedHistoryImportPeer create mode 100644 data/core.telegram.org/constructor/messages.exportedChatInvite create mode 100644 data/core.telegram.org/constructor/messages.exportedChatInviteReplaced create mode 100644 data/core.telegram.org/constructor/messages.exportedChatInvites create mode 100644 data/core.telegram.org/constructor/messages.historyImport create mode 100644 data/core.telegram.org/constructor/messages.historyImportParsed create mode 100644 data/core.telegram.org/constructor/messages.sponsoredMessages create mode 100644 data/core.telegram.org/constructor/phone.exportedGroupCallInvite create mode 100644 data/core.telegram.org/constructor/phone.groupCall create mode 100644 data/core.telegram.org/constructor/phone.groupParticipants create mode 100644 data/core.telegram.org/constructor/phone.joinAsPeers create mode 100644 data/core.telegram.org/constructor/sendMessageChooseStickerAction.html create mode 100644 data/core.telegram.org/constructor/sendMessageEmojiInteraction.html create mode 100644 data/core.telegram.org/constructor/sendMessageEmojiInteractionSeen.html create mode 100644 data/core.telegram.org/constructor/sendMessageHistoryImportAction.html create mode 100644 data/core.telegram.org/constructor/speakingInGroupCallAction.html create mode 100644 data/core.telegram.org/constructor/sponsoredMessage.html create mode 100644 data/core.telegram.org/constructor/stickers.suggestedShortName create mode 100644 data/core.telegram.org/constructor/updateBotCommands.html create mode 100644 data/core.telegram.org/constructor/updateBotStopped.html create mode 100644 data/core.telegram.org/constructor/updateChat.html create mode 100644 data/core.telegram.org/constructor/updateChatParticipant.html create mode 100644 data/core.telegram.org/constructor/updateGroupCall.html create mode 100644 data/core.telegram.org/constructor/updateGroupCallConnection.html create mode 100644 data/core.telegram.org/constructor/updateGroupCallParticipants.html create mode 100644 data/core.telegram.org/constructor/updatePeerHistoryTTL.html create mode 100644 data/core.telegram.org/method/account.declinePasswordReset create mode 100644 data/core.telegram.org/method/account.getChatThemes create mode 100644 data/core.telegram.org/method/account.reportProfilePhoto create mode 100644 data/core.telegram.org/method/account.resetPassword create mode 100644 data/core.telegram.org/method/auth.checkRecoveryPassword create mode 100644 data/core.telegram.org/method/bots.getBotCommands create mode 100644 data/core.telegram.org/method/bots.resetBotCommands create mode 100644 data/core.telegram.org/method/channels.convertToGigagroup create mode 100644 data/core.telegram.org/method/channels.getSponsoredMessages create mode 100644 data/core.telegram.org/method/channels.viewSponsoredMessage create mode 100644 data/core.telegram.org/method/messages.checkHistoryImport create mode 100644 data/core.telegram.org/method/messages.checkHistoryImportPeer create mode 100644 data/core.telegram.org/method/messages.deleteChat create mode 100644 data/core.telegram.org/method/messages.deleteExportedChatInvite create mode 100644 data/core.telegram.org/method/messages.deletePhoneCallHistory create mode 100644 data/core.telegram.org/method/messages.deleteRevokedExportedChatInvites create mode 100644 data/core.telegram.org/method/messages.editExportedChatInvite create mode 100644 data/core.telegram.org/method/messages.getAdminsWithInvites create mode 100644 data/core.telegram.org/method/messages.getChatInviteImporters create mode 100644 data/core.telegram.org/method/messages.getExportedChatInvite create mode 100644 data/core.telegram.org/method/messages.getExportedChatInvites create mode 100644 data/core.telegram.org/method/messages.getMessageReadParticipants create mode 100644 data/core.telegram.org/method/messages.initHistoryImport create mode 100644 data/core.telegram.org/method/messages.setChatTheme create mode 100644 data/core.telegram.org/method/messages.setHistoryTTL create mode 100644 data/core.telegram.org/method/messages.startHistoryImport create mode 100644 data/core.telegram.org/method/messages.uploadImportedMedia create mode 100644 data/core.telegram.org/method/phone.checkGroupCall create mode 100644 data/core.telegram.org/method/phone.createGroupCall create mode 100644 data/core.telegram.org/method/phone.discardGroupCall create mode 100644 data/core.telegram.org/method/phone.editGroupCallMember create mode 100644 data/core.telegram.org/method/phone.editGroupCallParticipant create mode 100644 data/core.telegram.org/method/phone.editGroupCallTitle create mode 100644 data/core.telegram.org/method/phone.exportGroupCallInvite create mode 100644 data/core.telegram.org/method/phone.getGroupCall create mode 100644 data/core.telegram.org/method/phone.getGroupCallJoinAs create mode 100644 data/core.telegram.org/method/phone.getGroupParticipants create mode 100644 data/core.telegram.org/method/phone.inviteToGroupCall create mode 100644 data/core.telegram.org/method/phone.joinGroupCall create mode 100644 data/core.telegram.org/method/phone.joinGroupCallPresentation create mode 100644 data/core.telegram.org/method/phone.leaveGroupCall create mode 100644 data/core.telegram.org/method/phone.leaveGroupCallPresentation create mode 100644 data/core.telegram.org/method/phone.saveDefaultGroupCallJoinAs create mode 100644 data/core.telegram.org/method/phone.startScheduledGroupCall create mode 100644 data/core.telegram.org/method/phone.toggleGroupCallRecord create mode 100644 data/core.telegram.org/method/phone.toggleGroupCallSettings create mode 100644 data/core.telegram.org/method/phone.toggleGroupCallStartSubscription create mode 100644 data/core.telegram.org/method/stickers.checkShortName create mode 100644 data/core.telegram.org/method/stickers.suggestShortName create mode 100644 data/core.telegram.org/type/BotCommandScope.html create mode 100644 data/core.telegram.org/type/ChatAdminWithInvites.html create mode 100644 data/core.telegram.org/type/ChatInviteImporter.html create mode 100644 data/core.telegram.org/type/ChatTheme.html create mode 100644 data/core.telegram.org/type/GroupCall.html create mode 100644 data/core.telegram.org/type/GroupCallParticipant.html create mode 100644 data/core.telegram.org/type/GroupCallParticipantVideo.html create mode 100644 data/core.telegram.org/type/GroupCallParticipantVideoSourceGroup.html create mode 100644 data/core.telegram.org/type/InlineQueryPeerType.html create mode 100644 data/core.telegram.org/type/InputGroupCall.html create mode 100644 data/core.telegram.org/type/SponsoredMessage.html create mode 100644 data/core.telegram.org/type/account.ChatThemes create mode 100644 data/core.telegram.org/type/account.ResetPasswordResult create mode 100644 data/core.telegram.org/type/messages.AffectedFoundMessages create mode 100644 data/core.telegram.org/type/messages.ChatAdminsWithInvites create mode 100644 data/core.telegram.org/type/messages.ChatInviteImporters create mode 100644 data/core.telegram.org/type/messages.CheckedHistoryImportPeer create mode 100644 data/core.telegram.org/type/messages.ExportedChatInvite create mode 100644 data/core.telegram.org/type/messages.ExportedChatInvites create mode 100644 data/core.telegram.org/type/messages.HistoryImport create mode 100644 data/core.telegram.org/type/messages.HistoryImportParsed create mode 100644 data/core.telegram.org/type/messages.SponsoredMessages create mode 100644 data/core.telegram.org/type/phone.ExportedGroupCallInvite create mode 100644 data/core.telegram.org/type/phone.GroupCall create mode 100644 data/core.telegram.org/type/phone.GroupParticipants create mode 100644 data/core.telegram.org/type/phone.JoinAsPeers create mode 100644 data/core.telegram.org/type/stickers.SuggestedShortName diff --git a/data/core.telegram.org.html b/data/core.telegram.org.html index 3aecca7fd6..98beb71af1 100644 --- a/data/core.telegram.org.html +++ b/data/core.telegram.org.html @@ -43,140 +43,141 @@

You can also add Telegram Widgets to your website.

Designers are welcome to create Animated Stickers or Custom Themes for Telegram.


-

Bot API

+

Bot API

- +
-

This API allows you to connect bots to our system. Telegram Bots are special accounts that do not require an additional phone number to set up. These accounts serve as an interface for code running somewhere on your server.

-

To use this, you don't need to know anything about how our MTProto encryption protocol works — our intermediary server will handle all encryption and communication with the Telegram API for you. You communicate with this server via a simple HTTPS-interface that offers a simplified version of the Telegram API.

+

To use this, you don't need to know anything about how our MTProto encryption protocol works — our intermediary server will handle all encryption and communication with the Telegram API for you. You communicate with this server via a simple HTTPS-interface that offers a simplified version of the Telegram API.

-

Learn more about the Bot API here »

+

Learn more about the Bot API here »

Bot developers can also make use of our Payments API to accept payments from Telegram users around the world.


-

TDLib – build your own Telegram

-

Even if you're looking for maximum customization, you don't have to create your app from scratch. Try our Telegram Database Library (or simply TDLib), a tool for third-party developers that makes it easy to build fast, secure and feature-rich Telegram apps.

+

TDLib – build your own Telegram

+

Even if you're looking for maximum customization, you don't have to create your app from scratch. Try our Telegram Database Library (or simply TDLib), a tool for third-party developers that makes it easy to build fast, secure and feature-rich Telegram apps.

TDLib takes care of all network implementation details, encryption and local data storage, so that you can dedicate more time to design, responsive interfaces and beautiful animations.

TDLib supports all Telegram features and makes developing Telegram apps a breeze on any platform. It can be used on Android, iOS, Windows, macOS, Linux and virtually any other system. The library is open source and compatible with virtually any programming language.

Learn more about TDLib here »


-

Telegram API

-

This API allows you to build your own customized Telegram clients. It is 100% open for all developers who wish to create Telegram applications on our platform. Feel free to study the open source code of existing Telegram applications for examples of how things work here. Don't forget to register your application in our system.

+

Telegram API

+

This API allows you to build your own customized Telegram clients. It is 100% open for all developers who wish to create Telegram applications on our platform. Feel free to study the open source code of existing Telegram applications for examples of how things work here. Don't forget to register your application in our system.

-

Getting started

-

Creating an application

+

Getting started

+

Creating an application

How to get your application identifier and create a new Telegram app.

-

User authorization

-

How to register a user's phone to start using the API.

-

Two-factor authentication

-

How to login to a user's account if they have enabled 2FA, how to change password.

-

QR code login

+

User authorization

+

How to register a user's phone to start using the API.

+

Two-factor authentication

+

How to login to a user's account if they have enabled 2FA, how to change password.

+

QR code login

QR code login flow

-

Error handling

+

Error handling

How to handle API return errors correctly.

-

Handling different data centers

+

Handling different data centers

How to connect to the closest DC access point for faster interaction with the API, and things to watch out for when developing a client.

-

Handling updates

+

Handling updates

How to subscribe to updates and handle them properly.

-

Handling PUSH-notifications

+

Handling PUSH-notifications

How to subscribe and handle them properly.

-

Channels, supergroups and groups

-

How to handle channels, supergroups, groups, and what's the difference between them.

-

Channel statistics

+

Channels, supergroups and groups

+

How to handle channels, supergroups, groups, and what's the difference between them.

+

Channel statistics

Telegram offers detailed channel statistics for channels and supergroups.

-

Calling methods

+

Calling methods

Additional options for calling methods.

-

Uploading and Downloading Files

+

Uploading and Downloading Files

How to transfer large data batches correctly.

-

Pagination

+

Pagination

How to fetch results from large lists of objects.

-

Client configuration

+

Client configuration

The MTProto API has multiple client configuration parameters that can be fetched with the appropriate methods.

-

Security

-

Secret chats, end-to-end encryption

+

Security

+

Secret chats, end-to-end encryption

End-to-end-encrypted messaging.

-

Security guidelines

+

Security guidelines

Important checks required in your client application.

-

Perfect Forward Secrecy

+

Perfect Forward Secrecy

Binding temporary authorization key to permanent ones.

-

End-to-End Encryption in Voice and Video Calls

+

End-to-End Encryption in Voice and Video Calls

End-to-end-encrypted calls.

-

Optimization

-

Client optimization

+

Optimization

+

Client optimization

Ways to boost API interactions.

-

API methods

-

Available method list

+

API methods

+

Available method list

A list of available high-level methods.

-

API TL-schema, as JSON

+

API TL-schema, as JSON

Text and JSON-presentation of types and methods used in API.

-

Available layer list

+

Available layer list

A list of available schema versions.

-

Other articles

-

Working with bots, using the MTProto API

+

Other articles

+

Working with bots, using the MTProto API

How to work with bots using the MTProto API.

-

Commands

+

Commands

Bots offer a set of commands that can be used by users in private, or in a chat.

-

Buttons

+

Buttons

Users can interact with your bot via buttons or even inline buttons, straight from inline messages in any chat.

-

Inline queries

+

Inline queries

Users can interact with your bot via inline queries, straight from the text input field in any chat.

-

Games

+

Games

Bots can offer users HTML5 games to play solo or to compete against each other in groups and one-on-one chats; how to work with games in the MTProto API.

-

Search & filters

-

Telegram allows applying detailed message filters while looking for messages in chats.
This allows the server to filter messages based on a text query, and even on their type, and this feature is often used by graphical clients to implement features like the chat gallery, chat profile pictures and more.

-

Polls

+

Search & filters

+

Telegram allows applying detailed message filters while looking for messages in chats. +This allows the server to filter messages based on a text query, and even on their type, and this feature is often used by graphical clients to implement features like the chat gallery, chat profile pictures and more.

+

Polls

Telegram allows sending polls and quizes, that can be voted on by thousands, if not milions of users in chats and channels.

-

Admin, banned and default rights for channels, supergroups and groups

+

Admin, banned and default rights for channels, supergroups and groups

How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.

-

Discussion groups

+

Discussion groups

Groups can be associated to a channel as a discussion group, to allow users to discuss about posts.

-

Channel comments and message threads

+

Channel comments and message threads

Telegram allows commenting on a channel post or on a generic group message, thanks to message threads.

-

Admin log

+

Admin log

Both supergroups and channels offer a so-called admin log, a log of recent relevant supergroup and channel actions, like the modification of group/channel settings or information on behalf of an admin, user kicks and bans, and more.

-

Pinned messages

+

Pinned messages

Telegram allows pinning multiple messages on top of a specific chat.

-

Mentions

+

Mentions

Telegram allows mentioning other users in case of urgent duckling matters, and quickly navigating to those mentions in order to read them as swiftly as possible.

-

Scheduled messages

+

Scheduled messages

Telegram allows scheduling messages.

-

Live geolocations

+

Live geolocations

Telegram allows sending the live geolocation of a user in a chat, optionally setting a proximity alert.

-

Min constructors

+

Min constructors

Sometimes, user and channel constructors met in group chat updates may not contain full info about the user: how to handle such constructors.

-

Account deletion

+

Account deletion

How to reset an account if the 2FA password was forgotten.

-

Telegram Passport

+

Imported messages

+

Telegram allows importing messages and media from foreign chat apps.

+

Telegram Passport

How to work with Telegram Passport directly using the MTProto API.

-

Telegram Payments

+

Telegram Payments

How to work with Telegram Payments directly using the MTProto API.

-

Styled text with message entities

+

Styled text with message entities

How to create styled text with message entities

-

Working with animated emojis

+

Working with animated emojis

Graphical telegram clients should transform emojis into their respective animated version.

-

Working with animated dice

+

Working with animated dice

Telegram supports sending animated dice emojis.

-

Message drafts

+

Message drafts

How to handle message drafts

-

Folders

+

Folders

Working with folders

-

Top peer rating

+

Top peer rating

If enabled, the rating of top peers indicates the relevance of a frequently used peer in a certain category (frequently messaged users, frequently used bots, inline bots, frequently visited channels and so on).

-

Handling file references

+

Handling file references

How to handle file references.

-

Seamless Telegram Login

+

Seamless Telegram Login

Handle Seamless Telegram Login URL authorization requests.

-

Web events

-

When interacting with HTML5 games and the websites of payment gateways, Telegram apps should expose the following JS APIs.

- +

Web events

+

When interacting with HTML5 games and the websites of payment gateways, Telegram apps should expose the following JS APIs.

diff --git a/data/core.telegram.org/api.html b/data/core.telegram.org/api.html index 3aecca7fd6..98beb71af1 100644 --- a/data/core.telegram.org/api.html +++ b/data/core.telegram.org/api.html @@ -43,140 +43,141 @@

You can also add Telegram Widgets to your website.

Designers are welcome to create Animated Stickers or Custom Themes for Telegram.


-

Bot API

+

Bot API

- +
-

This API allows you to connect bots to our system. Telegram Bots are special accounts that do not require an additional phone number to set up. These accounts serve as an interface for code running somewhere on your server.

-

To use this, you don't need to know anything about how our MTProto encryption protocol works — our intermediary server will handle all encryption and communication with the Telegram API for you. You communicate with this server via a simple HTTPS-interface that offers a simplified version of the Telegram API.

+

To use this, you don't need to know anything about how our MTProto encryption protocol works — our intermediary server will handle all encryption and communication with the Telegram API for you. You communicate with this server via a simple HTTPS-interface that offers a simplified version of the Telegram API.

-

Learn more about the Bot API here »

+

Learn more about the Bot API here »

Bot developers can also make use of our Payments API to accept payments from Telegram users around the world.


-

TDLib – build your own Telegram

-

Even if you're looking for maximum customization, you don't have to create your app from scratch. Try our Telegram Database Library (or simply TDLib), a tool for third-party developers that makes it easy to build fast, secure and feature-rich Telegram apps.

+

TDLib – build your own Telegram

+

Even if you're looking for maximum customization, you don't have to create your app from scratch. Try our Telegram Database Library (or simply TDLib), a tool for third-party developers that makes it easy to build fast, secure and feature-rich Telegram apps.

TDLib takes care of all network implementation details, encryption and local data storage, so that you can dedicate more time to design, responsive interfaces and beautiful animations.

TDLib supports all Telegram features and makes developing Telegram apps a breeze on any platform. It can be used on Android, iOS, Windows, macOS, Linux and virtually any other system. The library is open source and compatible with virtually any programming language.

Learn more about TDLib here »


-

Telegram API

-

This API allows you to build your own customized Telegram clients. It is 100% open for all developers who wish to create Telegram applications on our platform. Feel free to study the open source code of existing Telegram applications for examples of how things work here. Don't forget to register your application in our system.

+

Telegram API

+

This API allows you to build your own customized Telegram clients. It is 100% open for all developers who wish to create Telegram applications on our platform. Feel free to study the open source code of existing Telegram applications for examples of how things work here. Don't forget to register your application in our system.

-

Getting started

-

Creating an application

+

Getting started

+

Creating an application

How to get your application identifier and create a new Telegram app.

-

User authorization

-

How to register a user's phone to start using the API.

-

Two-factor authentication

-

How to login to a user's account if they have enabled 2FA, how to change password.

-

QR code login

+

User authorization

+

How to register a user's phone to start using the API.

+

Two-factor authentication

+

How to login to a user's account if they have enabled 2FA, how to change password.

+

QR code login

QR code login flow

-

Error handling

+

Error handling

How to handle API return errors correctly.

-

Handling different data centers

+

Handling different data centers

How to connect to the closest DC access point for faster interaction with the API, and things to watch out for when developing a client.

-

Handling updates

+

Handling updates

How to subscribe to updates and handle them properly.

-

Handling PUSH-notifications

+

Handling PUSH-notifications

How to subscribe and handle them properly.

-

Channels, supergroups and groups

-

How to handle channels, supergroups, groups, and what's the difference between them.

-

Channel statistics

+

Channels, supergroups and groups

+

How to handle channels, supergroups, groups, and what's the difference between them.

+

Channel statistics

Telegram offers detailed channel statistics for channels and supergroups.

-

Calling methods

+

Calling methods

Additional options for calling methods.

-

Uploading and Downloading Files

+

Uploading and Downloading Files

How to transfer large data batches correctly.

-

Pagination

+

Pagination

How to fetch results from large lists of objects.

-

Client configuration

+

Client configuration

The MTProto API has multiple client configuration parameters that can be fetched with the appropriate methods.

-

Security

-

Secret chats, end-to-end encryption

+

Security

+

Secret chats, end-to-end encryption

End-to-end-encrypted messaging.

-

Security guidelines

+

Security guidelines

Important checks required in your client application.

-

Perfect Forward Secrecy

+

Perfect Forward Secrecy

Binding temporary authorization key to permanent ones.

-

End-to-End Encryption in Voice and Video Calls

+

End-to-End Encryption in Voice and Video Calls

End-to-end-encrypted calls.

-

Optimization

-

Client optimization

+

Optimization

+

Client optimization

Ways to boost API interactions.

-

API methods

-

Available method list

+

API methods

+

Available method list

A list of available high-level methods.

-

API TL-schema, as JSON

+

API TL-schema, as JSON

Text and JSON-presentation of types and methods used in API.

-

Available layer list

+

Available layer list

A list of available schema versions.

-

Other articles

-

Working with bots, using the MTProto API

+

Other articles

+

Working with bots, using the MTProto API

How to work with bots using the MTProto API.

-

Commands

+

Commands

Bots offer a set of commands that can be used by users in private, or in a chat.

-

Buttons

+

Buttons

Users can interact with your bot via buttons or even inline buttons, straight from inline messages in any chat.

-

Inline queries

+

Inline queries

Users can interact with your bot via inline queries, straight from the text input field in any chat.

-

Games

+

Games

Bots can offer users HTML5 games to play solo or to compete against each other in groups and one-on-one chats; how to work with games in the MTProto API.

-

Search & filters

-

Telegram allows applying detailed message filters while looking for messages in chats.
This allows the server to filter messages based on a text query, and even on their type, and this feature is often used by graphical clients to implement features like the chat gallery, chat profile pictures and more.

-

Polls

+

Search & filters

+

Telegram allows applying detailed message filters while looking for messages in chats. +This allows the server to filter messages based on a text query, and even on their type, and this feature is often used by graphical clients to implement features like the chat gallery, chat profile pictures and more.

+

Polls

Telegram allows sending polls and quizes, that can be voted on by thousands, if not milions of users in chats and channels.

-

Admin, banned and default rights for channels, supergroups and groups

+

Admin, banned and default rights for channels, supergroups and groups

How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.

-

Discussion groups

+

Discussion groups

Groups can be associated to a channel as a discussion group, to allow users to discuss about posts.

-

Channel comments and message threads

+

Channel comments and message threads

Telegram allows commenting on a channel post or on a generic group message, thanks to message threads.

-

Admin log

+

Admin log

Both supergroups and channels offer a so-called admin log, a log of recent relevant supergroup and channel actions, like the modification of group/channel settings or information on behalf of an admin, user kicks and bans, and more.

-

Pinned messages

+

Pinned messages

Telegram allows pinning multiple messages on top of a specific chat.

-

Mentions

+

Mentions

Telegram allows mentioning other users in case of urgent duckling matters, and quickly navigating to those mentions in order to read them as swiftly as possible.

-

Scheduled messages

+

Scheduled messages

Telegram allows scheduling messages.

-

Live geolocations

+

Live geolocations

Telegram allows sending the live geolocation of a user in a chat, optionally setting a proximity alert.

-

Min constructors

+

Min constructors

Sometimes, user and channel constructors met in group chat updates may not contain full info about the user: how to handle such constructors.

-

Account deletion

+

Account deletion

How to reset an account if the 2FA password was forgotten.

-

Telegram Passport

+

Imported messages

+

Telegram allows importing messages and media from foreign chat apps.

+

Telegram Passport

How to work with Telegram Passport directly using the MTProto API.

-

Telegram Payments

+

Telegram Payments

How to work with Telegram Payments directly using the MTProto API.

-

Styled text with message entities

+

Styled text with message entities

How to create styled text with message entities

-

Working with animated emojis

+

Working with animated emojis

Graphical telegram clients should transform emojis into their respective animated version.

-

Working with animated dice

+

Working with animated dice

Telegram supports sending animated dice emojis.

-

Message drafts

+

Message drafts

How to handle message drafts

-

Folders

+

Folders

Working with folders

-

Top peer rating

+

Top peer rating

If enabled, the rating of top peers indicates the relevance of a frequently used peer in a certain category (frequently messaged users, frequently used bots, inline bots, frequently visited channels and so on).

-

Handling file references

+

Handling file references

How to handle file references.

-

Seamless Telegram Login

+

Seamless Telegram Login

Handle Seamless Telegram Login URL authorization requests.

-

Web events

-

When interacting with HTML5 games and the websites of payment gateways, Telegram apps should expose the following JS APIs.

- +

Web events

+

When interacting with HTML5 games and the websites of payment gateways, Telegram apps should expose the following JS APIs.

diff --git a/data/core.telegram.org/api/animated-emojis.html b/data/core.telegram.org/api/animated-emojis.html index b88fa154f4..b04d6b8b19 100644 --- a/data/core.telegram.org/api/animated-emojis.html +++ b/data/core.telegram.org/api/animated-emojis.html @@ -50,7 +50,8 @@

On startup, clients should fetch the animated emoji stickerset by calling the messages.getStickerSet method, providing inputStickerSetAnimatedEmoji to the stickerset field.
The returned stickerset will contain a set of animated stickers, one for each of the supported emojis.

Clients should substitute messages containing only one instance of one of the allowed emojis with the respective animated sticker.

-

Animated emojis should loop only once when first sent or received, or when clicked.

+

Animated emojis should loop only once when first sent or received, or when clicked.
+For supported emojis, clients on both sides of private chats with users are supposed to show a reaction animation when any of the two users clicks on the animated emoji: click here for more info ».

For special dice emojis like 🎲, 🎯, or 🏀, clients are supposed to behave differently both when sending and receiving such emojis: click here for more info ».

Emojis with sounds

Certained animated emojis should play sound when clicked, as specified by server-side configuration.

@@ -72,7 +73,45 @@ The returned stickerset will contain a set of animated stickers, one for each of "file_reference_base64": "AF-4ApAedNln3IMEHH-SUQuH8L9g" }, } -

The file reference field should be base64-decoded before downloading the file

+

The file reference field should be base64-decoded before downloading the file.

+

Emoji reactions

+
inputStickerSetAnimatedEmojiAnimations#cde3739 = InputStickerSet;
+
+messages.stickerSet#b60a24a6 set:StickerSet packs:Vector<StickerPack> documents:Vector<Document> = messages.StickerSet;
+
+stickerPack#12b299d4 emoticon:string documents:Vector<long> = StickerPack;
+
+sendMessageEmojiInteraction#25972bcb emoticon:string msg_id:int interaction:DataJSON = SendMessageAction;
+sendMessageEmojiInteractionSeen#b665902e emoticon:string = SendMessageAction;
+
+updateUserTyping#c01e857f user_id:long action:SendMessageAction = Update;
+
+---functions---
+
+messages.getStickerSet#2619a90e stickerset:InputStickerSet = messages.StickerSet;
+
+messages.setTyping#58943ee2 flags:# peer:InputPeer top_msg_id:flags.0?int action:SendMessageAction = Bool;
+

On startup, clients should fetch the animated reaction emoji stickerset by calling the messages.getStickerSet method, providing inputStickerSetAnimatedEmojiAnimations to the stickerset field.
+The returned stickerset will contain a set of animated emoji reactions, one or more for each of the supported emojis.
+If a set of reactions for the ❤ emoji is returned, the same reactions should also be assigned to the 🧡, 💛, 💚, 💙, 💜, 🖤, 🤍 and 🤎 emojis.

+

Clients on both sides of private chats with users should overlay one of the appropriate reaction animations over the animated sticker when any of the two users clicks on a supported animated emoji.
+The reaction animation for each separate tap should be chosen randomly from all the available reactions for a given emoji, and multiple taps should be aggregated and sent to the other user as follows:

+

At each tap, clients should store all occurred taps in a local list.
+After 1 second has elapsed with no more taps, the local list should be cleared and stored taps should be sent using messages.setTyping, passing a sendMessageEmojiInteraction constructor with the following fields:

+ +

1 second after the receiving user has seen the last reaction animation for a specific emoji, an acknowledgement must be sent using messages.setTyping, passing a sendMessageEmojiInteractionSeen with that emoji.

diff --git a/data/core.telegram.org/api/auth.html b/data/core.telegram.org/api/auth.html index 484a08a29f..0f6f5bb666 100644 --- a/data/core.telegram.org/api/auth.html +++ b/data/core.telegram.org/api/auth.html @@ -42,56 +42,64 @@

Authorization is associated with a client’s encryption key identifier: auth_key_id. No additional parameters need to be passed into methods following authorization.

-

To log in as a bot, follow these instructions ».

-

Sending a verification code

+

To log in as a bot, follow these instructions ».

+

Sending a verification code

Example implementations: telegram for android, tdlib.

-

To show a nicely formatted and validated phone number field, the help.countriesList constructor can be obtained using the help.getCountriesList method.
The help.countriesList config is then used as described here ».

-

Authorization requires that a text message containing an authorization code first be sent to the user’s phone.
This may be done using the auth.sendCode method.
The system will automatically choose how to send the authorization code; there are four possible ways the code can arrive:

+

To show a nicely formatted and validated phone number field, the help.countriesList constructor can be obtained using the help.getCountriesList method.
+The help.countriesList config is then used as described here ».

+

Authorization requires that a text message containing an authorization code first be sent to the user’s phone.
+This may be done using the auth.sendCode method. +The system will automatically choose how to send the authorization code; there are four possible ways the code can arrive:

-

The auth.sendCode method also has parameters for enabling/disabling use of flash calls, and allows passing an SMS token that will be included in the sent SMS.
For example, the latter is required in newer versions of android, to use the android SMS receiver APIs.

+

The auth.sendCode method also has parameters for enabling/disabling use of flash calls, and allows passing an SMS token that will be included in the sent SMS. +For example, the latter is required in newer versions of android, to use the android SMS receiver APIs.

The returned auth.SentCode object will contain multiple parameters:

- + - + - + - + - +
flags## Flags, see TL conditional fields
typeauth.SentCodeTypeauth.SentCodeType Phone code type
phone_code_hashstringstring Phone code hash, to be stored and later re-used with auth.signIn
next_typeflags.1?auth.CodeTypeflags.1?auth.CodeType Phone code type that will be sent next, if the phone code is not received within timeout seconds: to send it use auth.resendCode
timeoutflags.2?intflags.2?int Timeout for reception of the phone code
-

If the message takes too long (timeout seconds) to arrive at the phone, the auth.resendCode method may be invoked to resend a code of type next_type.
If the same happens again, you can use auth.resendCode with the next_type returned by the previous call to auth.resendCode.
To cancel the verification code use auth.cancelCode.

-

Sign in/sign up

+

If the message takes too long (timeout seconds) to arrive at the phone, the auth.resendCode method may be invoked to resend a code of type next_type. +If the same happens again, you can use auth.resendCode with the next_type returned by the previous call to auth.resendCode. +To cancel the verification code use auth.cancelCode.

+

Sign in/sign up

When user enters verification code, the auth.signIn method must be used to validate it and possibly sign user in.

-

If the code was entered correctly, but the method returns auth.authorizationSignUpRequired, it means that account with this phone number doesn't exist yet: user needs to provide basic information, accept terms of service and then the new user registration method (auth.signUp) must be invoked.

-

2FA

-

When trying to sign in using auth.signIn, an error 400 SESSION_PASSWORD_NEEDED may be returned, if the user has two-factor authentication enabled.
In this case, instructions for SRP 2FA authentication must be followed.

+

If the code was entered correctly, but the method returns auth.authorizationSignUpRequired, it means that account with this phone number doesn't exist yet: user needs to provide basic information, accept terms of service and then the new user registration method (auth.signUp) must be invoked.

+

2FA

+

When trying to sign in using auth.signIn, an error 400 SESSION_PASSWORD_NEEDED may be returned, if the user has two-factor authentication enabled. +In this case, instructions for SRP 2FA authentication must be followed.

To set up two-factor authorization on an already authorized account, follow the SRP 2FA authentication docs.

-

Test Phone Numbers

+

Test Phone Numbers

Each phone number is limited to only a certain amount of logins per day (e.g. 5, but this is subject to change) after which the API will return a FLOOD error until the next day. This might not be enough for testing the implementation of User Authorization flows in client applications.

There are several reserved phone number prefixes for testing that your application handles redirects between DCs, sign up, sign in and 2FA flows correctly. These numbers are only available on Test DCs (their IP addresses for TCP transport are availble in API development tools panel after api_id was obtained, URI format for HTTPS/Websocket transport).

If you wish to emulate an application of a user associated with DC number X, it is sufficient to specify the phone number as 99966XYYYY, where YYYY are random numbers, when registering the user. A user like this would always get XXXXXX as the login confirmation code (the DC number, repeated six times). Note that the value of X must be in the range of 1-3 because there are only 3 Test DCs. When the flood limit is reached for any particular test number, just choose another number (changing the YYYY random part).

@@ -100,7 +108,7 @@

To help you with working on production DCs, logins with the same phone number with which the api_id was registered have more generous flood limits.

-

We are authorized

+

We are authorized

As a result of authorization, the client key, auth_key_id, becomes associated with the user, and each subsequent API call with this key will be executed with that user’s identity. The authorization method itself returns the relevant user. It is best to immediately store the User ID locally in a binding with the key.

Only a small portion of the API methods are available to unauthorized users:

-

Other methods will result in an error: 401 UNAUTHORIZED.

-
+

Other methods will result in an error: 401 UNAUTHORIZED.

diff --git a/data/core.telegram.org/api/bots/buttons.html b/data/core.telegram.org/api/bots/buttons.html index fafef10e7e..caa63df0dc 100644 --- a/data/core.telegram.org/api/bots/buttons.html +++ b/data/core.telegram.org/api/bots/buttons.html @@ -60,11 +60,11 @@ This article describes the full button flow, using the MTProto API.

keyboardButtonRow#77608b83 buttons:Vector<KeyboardButton> = KeyboardButtonRow; replyKeyboardHide#a03e5b85 flags:# selective:flags.2?true = ReplyMarkup; -replyKeyboardForceReply#f4108aa0 flags:# single_use:flags.1?true selective:flags.2?true = ReplyMarkup; -replyKeyboardMarkup#3502758c flags:# resize:flags.0?true single_use:flags.1?true selective:flags.2?true rows:Vector<KeyboardButtonRow> = ReplyMarkup; +replyKeyboardForceReply#86b40b08 flags:# single_use:flags.1?true selective:flags.2?true placeholder:flags.3?string = ReplyMarkup; +replyKeyboardMarkup#85dd99d1 flags:# resize:flags.0?true single_use:flags.1?true selective:flags.2?true rows:Vector<KeyboardButtonRow> placeholder:flags.3?string = ReplyMarkup; replyInlineMarkup#48a30254 rows:Vector<KeyboardButtonRow> = ReplyMarkup; -message#58ae39c9 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true id:int from_id:flags.8?Peer peer_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long restriction_reason:flags.22?Vector<RestrictionReason> = Message; +message#85d6cbe2 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true id:int from_id:flags.8?Peer peer_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long restriction_reason:flags.22?Vector<RestrictionReason> ttl_period:flags.25?int = Message; ---functions--- @@ -148,9 +148,9 @@ The same should happen when clicking on @botfather bot to allow securely transferring the ownership of a bot to another user.

Answering a callback query

-
updateBotCallbackQuery#e73547e1 flags:# query_id:long user_id:int peer:Peer msg_id:int chat_instance:long data:flags.0?bytes game_short_name:flags.1?string = Update;
+
updateBotCallbackQuery#b9cfc48d flags:# query_id:long user_id:long peer:Peer msg_id:int chat_instance:long data:flags.0?bytes game_short_name:flags.1?string = Update;
 
-updateInlineBotCallbackQuery#f9d27a5a flags:# query_id:long user_id:int msg_id:InputBotInlineMessageID chat_instance:long data:flags.0?bytes game_short_name:flags.1?string = Update;
+updateInlineBotCallbackQuery#691e9052 flags:# query_id:long user_id:long msg_id:InputBotInlineMessageID chat_instance:long data:flags.0?bytes game_short_name:flags.1?string = Update;
 
 ---functions---
 
diff --git a/data/core.telegram.org/api/bots/commands.html b/data/core.telegram.org/api/bots/commands.html
index 145dcf980f..4f497fa2b8 100644
--- a/data/core.telegram.org/api/bots/commands.html
+++ b/data/core.telegram.org/api/bots/commands.html
@@ -46,12 +46,12 @@
 

Getting commands

botCommand#c27ac8c7 command:string description:string = BotCommand;
 
-botInfo#98e81d3a user_id:int description:string commands:Vector<BotCommand> = BotInfo;
+botInfo#1b74b335 user_id:long description:string commands:Vector<BotCommand> = BotInfo;
 
-channelFull#f0e6672a flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?int location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int = ChatFull;
-userFull#edf17c12 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true user:User about:flags.1?string settings:PeerSettings profile_photo:flags.2?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int = UserFull;
+channelFull#e9b27a17 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string = ChatFull;
+userFull#d697ff05 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true user:User about:flags.1?string settings:PeerSettings profile_photo:flags.2?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme_emoticon:flags.15?string = UserFull;
 
-user#938458c1 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true id:int access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string = User;
+user#3ff6ecb0 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string = User;

The botInfo constructors contained in the userFull, chatFull, channelFull contain a list of commands, and for groups, the ID and a description of each bot.

In graphical clients, when users begin a message with a /, a list of commands supported by all bots present in the current chat should be shown; the same should be done for one-to-one chats with the bot itself.

If the command list of a bot changes, the bot_info_version contained in the user constructor received in updates will change; this indicates that the client should refetch full bot information using users.getFullUser.

@@ -60,7 +60,7 @@ ---functions--- -bots.setBotCommands#805d46f6 commands:Vector<BotCommand> = Bool;
+bots.setBotCommands#517165a scope:BotCommandScope lang_code:string commands:Vector<BotCommand> = Bool;

The command list can be changed by the owner of the bot through @botfather, but bots can also change their own command list by invoking bots.setBotCommands.

diff --git a/data/core.telegram.org/api/bots/games.html b/data/core.telegram.org/api/bots/games.html index e2414edf79..bd41666be3 100644 --- a/data/core.telegram.org/api/bots/games.html +++ b/data/core.telegram.org/api/bots/games.html @@ -80,9 +80,9 @@ Instead, they should send highscores to an intermediate server, that will then r

Getting highscores

messageActionGameScore#92a72876 game_id:long score:int = MessageAction;
 
-messageService#286fa604 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true legacy:flags.19?true id:int from_id:flags.8?Peer peer_id:Peer reply_to:flags.3?MessageReplyHeader date:int action:MessageAction = Message;
+messageService#2b085862 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true legacy:flags.19?true id:int from_id:flags.8?Peer peer_id:Peer reply_to:flags.3?MessageReplyHeader date:int action:MessageAction ttl_period:flags.25?int = Message;
 
-highScore#58fffcd0 pos:int user_id:int score:int = HighScore;
+highScore#73a379eb pos:int user_id:long score:int = HighScore;
 
 messages.highScores#9a3bfd99 scores:Vector<HighScore> users:Vector<User> = messages.HighScores;
 
diff --git a/data/core.telegram.org/api/bots/inline.html b/data/core.telegram.org/api/bots/inline.html
index a62626c9c4..8646dea10b 100644
--- a/data/core.telegram.org/api/bots/inline.html
+++ b/data/core.telegram.org/api/bots/inline.html
@@ -79,7 +79,7 @@ This article describes the full inline bot flow, using the MTProto API.  

inputBotInlineResultDocument#fff8fdc4 flags:# id:string type:string title:flags.1?string description:flags.2?string document:InputDocument send_message:InputBotInlineMessage = InputBotInlineResult; inputBotInlineResultGame#4fa417f2 id:string short_name:string send_message:InputBotInlineMessage = InputBotInlineResult; -updateBotInlineQuery#54826690 flags:# query_id:long user_id:int query:string geo:flags.0?GeoPoint offset:string = Update; +updateBotInlineQuery#496f379c flags:# query_id:long user_id:long query:string geo:flags.0?GeoPoint peer_type:flags.1?InlineQueryPeerType offset:string = Update; ---functions--- @@ -114,7 +114,7 @@ Graphical clients should display the bot @username in the header of

Inline feedback

inputBotInlineMessageID#890c3d89 dc_id:int id:long access_hash:long = InputBotInlineMessageID;
 
-updateBotInlineSend#e48f964 flags:# user_id:int query:string geo:flags.0?GeoPoint id:string msg_id:flags.1?InputBotInlineMessageID = Update;
+updateBotInlineSend#12f12a07 flags:# user_id:long query:string geo:flags.0?GeoPoint id:string msg_id:flags.1?InputBotInlineMessageID = Update;

If feedback collection is enabled, the bot may receive an updateBotInlineSend when the user chooses and sends an inline result.

Even if the probability setting is set to 100%, not all inline results may be reported due to caching (see the cache_time parameter in Answering a callback query).
Feedback collection can also create load issues for popular bots, so adjust the probability setting to a lower value in such cases.

@@ -128,7 +128,7 @@ Graphical clients should display the bot @username in the header of
  • geo - For bots requiring location-based inline results, the user's location
  • Editing sent inline messages

    -
    updateInlineBotCallbackQuery#f9d27a5a flags:# query_id:long user_id:int msg_id:InputBotInlineMessageID chat_instance:long data:flags.0?bytes game_short_name:flags.1?string = Update;
    +
    updateInlineBotCallbackQuery#691e9052 flags:# query_id:long user_id:long msg_id:InputBotInlineMessageID chat_instance:long data:flags.0?bytes game_short_name:flags.1?string = Update;
     
     inputBotInlineMessageID#890c3d89 dc_id:int id:long access_hash:long = InputBotInlineMessageID;
     
    diff --git a/data/core.telegram.org/api/channel.html b/data/core.telegram.org/api/channel.html
    index ce16d9c590..b1415a7677 100644
    --- a/data/core.telegram.org/api/channel.html
    +++ b/data/core.telegram.org/api/channel.html
    @@ -41,13 +41,17 @@
       
       
    -

    Channels, chats & supergroups

    -

    Channels are a tool for broadcasting your messages to large audiences. They can have an unlimited number of subscribers, they can be public with a permanent URL and each post in a channel has its own view counter. -Technically, they are represented by channel constructors.

    -

    Supergroups are a powerful tool for building communities and can support up to 200,000 members each. -Technically, supergroups are actually channels: they are represented by channel constructors, with the megagroup flag set to true.

    -

    Channels and supergroup can be created using the channels.createChannel method, by setting the appropriate broadcast or megagroup flags. -Supergroups can also be assigned a geo_point to become geochats.

    +

    Channels, chats, supergroups & gigagroups

    +

    Channels are a tool for broadcasting your messages to large audiences. They can have an unlimited number of subscribers, they can be public with a permanent URL and each post in a channel has its own view counter.
    +Technically, they are represented by channel constructors.

    +

    Supergroups are a powerful tool for building communities and can support up to 200,000 members each.
    +Technically, supergroups are actually channels: they are represented by channel constructors, with the megagroup flag set to true.

    +

    Gigagroups are something inbetween a channel and a supergroup.
    +An admin, when prompted by the API using suggestions », can convert a megagroup into a gigagroup using channels.convertToGigagroup (one way only).
    +After that, only admins will be able to write in the group (like when send_messages rights are disabled for all group participants by default), but the participant limit is removed and the group can become much bigger than a supergroup (e.g. >200,000 currently).
    +Also, one can't invite people into gigagroups and participants of voice chats in gigagroups are muted by default.

    +

    Channels and supergroup can be created using the channels.createChannel method, by setting the appropriate broadcast or megagroup flags.
    +Supergroups can also be assigned a geo_point to become geochats.

    In previous versions of telegram, only normal groups (represented by chat constructors) could be created using messages.createChat: these groups have fewer features, and can only have 200 members at max.

    Migration

    To upgrade a legacy group to a supergroup, messages.migrateChat can be used. diff --git a/data/core.telegram.org/api/config.html b/data/core.telegram.org/api/config.html index cf24734f2e..79aef10041 100644 --- a/data/core.telegram.org/api/config.html +++ b/data/core.telegram.org/api/config.html @@ -42,7 +42,7 @@

    The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.

    -

    MTProto configuration

    +

    MTProto configuration

    config#330b4067 flags:# phonecalls_enabled:flags.1?true default_p2p_contacts:flags.3?true preload_featured_stickers:flags.4?true ignore_phone_entities:flags.5?true revoke_pm_inbox:flags.6?true blocked_mode:flags.8?true pfs_enabled:flags.13?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector<DcOption> dc_txt_domain_name:string chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int revoke_time_limit:int revoke_pm_time_limit:int rating_e_decay:int stickers_recent_limit:int stickers_faved_limit:int channels_read_media_period:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int pinned_infolder_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string autoupdate_url_prefix:flags.7?string gif_search_username:flags.9?string venue_search_username:flags.10?string img_search_username:flags.11?string static_maps_provider:flags.12?string caption_length_max:int message_length_max:int webfile_dc_id:int suggested_lang_code:flags.2?string lang_pack_version:flags.2?int base_lang_pack_version:flags.2?int = Config;
     nearestDc#8e1a1775 country:string this_dc:int nearest_dc:int = NearestDc;
     
    @@ -51,7 +51,7 @@
     help.getConfig#c4f9186b = Config;
     help.getNearestDc#1fb33026 = NearestDc;

    The huge config constructor contains lots of useful information, from chat and message size limitations, to privacy settings, online status refresh interval and timeout, VoIP configuration, default inline bot usernames for GIF, image and venue lookup, and lots of other global and user-specific information, check out the constructor page for more information.

    -

    Client configuration

    +

    Client configuration

    jsonObjectValue#c0de1bd9 key:string value:JSONValue = JSONObjectValue;
     
     jsonNull#3f6d7b68 = JSONValue;
    @@ -76,24 +76,33 @@ While help.getConfig returns MTProto-specif
     
  • emojies_sounds - A map of soundbites to be played when the user clicks on the specified animated emoji; the file reference field should be base64-decoded before downloading the file (map of file IDs, with emoji string keys)
  • gif_search_branding - Specifies the name of the service providing GIF search through gif_search_username (string)
  • gif_search_emojies - Specifies a list of emojies that should be suggested as search term in a bar above the GIF search box (array of string emojis)
  • +
  • stickers_emoji_suggest_only_api - Specifies that the app should not display local sticker suggestions for emojis at all and just use the result of messages.getStickers (bool)
  • +
  • stickers_emoji_cache_time - Specifies the validity period of the local cache of messages.getStickers, also relevant when generating the pagination hash when invoking the method. (int)
  • qr_login_camera - Whether the Settings->Devices menu should show an option to scan a QR login code (boolean)
  • qr_login_code - Whether the login screen should show a QR code login option, possibly as default login method (string, "disabled", "primary" or "secondary")
  • dialog_filters_enabled - Whether clients should show an option for managing dialog filters AKA folders (boolean)
  • dialog_filters_tooltip - Whether clients should actively show a tooltip, inviting the user to configure dialog filters AKA folders; typically this happens when the chat list is long enough to start getting cluttered. (boolean)
  • +
  • autoarchive_setting_available - Whether clients can invoke account.setGlobalPrivacySettings with globalPrivacySettings.archive_and_mute_new_noncontact_peers = boolTrue, to automatically archive and mute new incoming chats from non-contacts. (boolean)
  • +
  • pending_suggestions - Contains a list of suggestions that should be actively shown as a tooltip to the user. (Array of strings, possible values shown in the suggestions section ».
  • +
  • url_auth_domains - A list of domains that support automatic login with manual user confirmation, click here for more info on URL authorization ». (array of strings)
  • +
  • autologin_domains - A list of Telegram domains that support automatic login with no user confirmation, click here for more info on URL authorization ». (array of strings)
  • +
  • autologin_token - Autologin token, click here for more info on URL authorization ». (string)
  • +
  • round_video_encoding - Contains a set of recommended codec parameters for round videos.
  • +
  • chat_read_mark_size_threshold - Per-user read receipts, fetchable using messages.getMessageReadParticipants will be available in groups with less than chat_read_mark_size_threshold participants. (int)
  • +
  • chat_read_mark_expire_period - To protect user privacy, read receipts are only stored for chat_read_mark_expire_period seconds after the message was sent. (int)
  • Example value:

    -
    {
    +
    {
         "test": 1,
         "emojies_animated_zoom": 0.625,
    -    "keep_alive_service": true,
    -    "background_connection": true,
         "emojies_send_dice": [
             "\ud83c\udfb2",
             "\ud83c\udfaf",
             "\ud83c\udfc0",
             "\u26bd",
             "\u26bd\ufe0f",
    -        "\ud83c\udfb0"
    +        "\ud83c\udfb0",
    +        "\ud83c\udfb3"
         ],
         "emojies_send_dice_success": {
             "\ud83c\udfaf": {
    @@ -115,43 +124,57 @@ While help.getConfig returns MTProto-specif
             "\ud83c\udfb0": {
                 "value": 64,
                 "frame_start": 110
    +        },
    +        "\ud83c\udfb3": {
    +            "value": 6,
    +            "frame_start": 110
             }
         },
         "emojies_sounds": {
             "\ud83c\udf83": {
                 "id": "4956223179606458539",
                 "access_hash": "-2107001400913062971",
    -            "file_reference_base64": "AF-4ApC7ukC0UWEPZN0TeSJURe7T"
    +            "file_reference_base64": "AGFhvoKbftK5O9K9RpgN1ZtgSzWy"
             },
             "\u26b0": {
                 "id": "4956223179606458540",
                 "access_hash": "-1498869544183595185",
    -            "file_reference_base64": "AF-4ApCLKMGt96WCvLm58kbqZHd3"
    +            "file_reference_base64": "AGFhvoJIm8Uz0qSMIdm3AsKlK7wJ"
             },
             "\ud83e\udddf\u200d\u2642": {
                 "id": "4960929110848176331",
                 "access_hash": "3986395821757915468",
    -            "file_reference_base64": "AF-4ApAedNln3IMEHH-SUQuH8L9g"
    +            "file_reference_base64": "AGFhvoLtXSSIclmvfg6ePz3KsHQF"
             },
             "\ud83e\udddf": {
                 "id": "4960929110848176332",
                 "access_hash": "-8929417974289765626",
    -            "file_reference_base64": "AF-4ApArGURtGa2KVC-Yovh1kQoW"
    +            "file_reference_base64": "AGFhvoImaz5Umt4GvMUD5nocIu0W"
             },
             "\ud83e\udddf\u200d\u2640": {
                 "id": "4960929110848176333",
                 "access_hash": "9161696144162881753",
    -            "file_reference_base64": "AF-4ApD-eOqXvTBmcszAEkzQN615"
    +            "file_reference_base64": "AGFhvoIm1QZsb48xlpRfh4Mq7EMG"
             },
             "\ud83c\udf51": {
                 "id": "4963180910661861548",
                 "access_hash": "-7431729439735063448",
    -            "file_reference_base64": "AF-4ApBimvRxhcXg-iQ5Gw4Eelit"
    +            "file_reference_base64": "AGFhvoKLrwl_WKr5LR0Jjs7o3RyT"
             },
    -        "\u2764": {
    -            "id": "4978826754966683841",
    -            "access_hash": "3926211553285686901",
    -            "file_reference_base64": "AF-4ApDBkyjgN2Tk9zJvXPhfJXPA"
    +        "\ud83c\udf8a": {
    +            "id": "5094064004578410732",
    +            "access_hash": "8518192996098758509",
    +            "file_reference_base64": "AGFhvoKMNffRV2J3vKED0O6d8e42"
    +        },
    +        "\ud83c\udf84": {
    +            "id": "5094064004578410733",
    +            "access_hash": "-4142643820629256996",
    +            "file_reference_base64": "AGFhvoJ1ulPBbXEURlTZWwJFx6xZ"
    +        },
    +        "\ud83e\uddbe": {
    +            "id": "5094064004578410734",
    +            "access_hash": "-8934384022571962340",
    +            "file_reference_base64": "AGFhvoL4zdMRmYv9z3L8KPaX4JQL"
             }
         },
         "gif_search_branding": "tenor",
    @@ -167,13 +190,92 @@ While help.getConfig returns MTProto-specif
             "\ud83d\ude0e",
             "\ud83d\udc4e"
         ],
    -    "qr_login_camera": true,
    -    "qr_login_code": "secondary",
    +    "stickers_emoji_suggest_only_api": false,
    +    "stickers_emoji_cache_time": 86400,
    +    "qr_login_camera": false,
    +    "qr_login_code": "disabled",
         "dialog_filters_enabled": true,
    -    "dialog_filters_tooltip": false
    +    "dialog_filters_tooltip": false,
    +    "autoarchive_setting_available": false,
    +    "pending_suggestions": [
    +        "AUTOARCHIVE_POPULAR",
    +        "VALIDATE_PASSWORD",
    +        "VALIDATE_PHONE_NUMBER",
    +        "NEWCOMER_TICKS"
    +    ],
    +    "autologin_token": "string",
    +    "autologin_domains": [
    +        "instantview.telegram.org",
    +        "translations.telegram.org",
    +        "contest.dev",
    +        "contest.com",
    +        "bugs.telegram.org",
    +        "suggestions.telegram.org",
    +        "themes.telegram.org"
    +    ],
    +    "url_auth_domains": [
    +        "somedomain.telegram.org"
    +    ],
    +    "round_video_encoding": {
    +        "diameter": 384,
    +        "video_bitrate": 1000,
    +        "audio_bitrate": 64,
    +        "max_size": 12582912
    +    },
    +    "chat_read_mark_size_threshold": 50,
    +    "chat_read_mark_expire_period": 604800
     }
    -

    App-specific configuration

    -
    help.appUpdate#1da7158f flags:# can_not_skip:flags.0?true id:int version:string text:string entities:Vector<MessageEntity> document:flags.1?Document url:flags.2?string = help.AppUpdate;
    +

    Suggestions

    +

    The API can return a set of useful suggestions for users of graphical clients.

    +

    Basic suggestions

    +
    jsonObjectValue#c0de1bd9 key:string value:JSONValue = JSONObjectValue;
    +
    +jsonNull#3f6d7b68 = JSONValue;
    +jsonBool#c7345e6a value:Bool = JSONValue;
    +jsonNumber#2be0dfa4 value:double = JSONValue;
    +jsonString#b71e767a value:string = JSONValue;
    +jsonArray#f7444763 value:Vector<JSONValue> = JSONValue;
    +jsonObject#99c1d49d value:Vector<JSONObjectValue> = JSONValue;
    +
    +---functions---
    +
    +help.getAppConfig#98914110 = JSONValue;
    +

    The help.getAppConfig method returns a JSON object containing rapidly evolving, client-specific configuration parameters.
    +A full list of these parameters can be seen in the Client Configuration section », but we're mostly interested in the pending_suggestions and autoarchive_setting_available fields of the returned JSON object:

    + +

    Channel suggestions

    +
    messages.chatFull#e5d7d19c full_chat:ChatFull chats:Vector<Chat> users:Vector<User> = messages.ChatFull;
    +
    +channelFull#e9b27a17 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string = ChatFull;
    +
    +---functions---
    +
    +channels.getFullChannel#8736a09 channel:InputChannel = messages.ChatFull;
    +

    Some channel/supergroup-related suggestions can also be contained in the pending_suggestions field of the channelFull constructor, returned by channels.getFullChannel.
    +Here's a list of possible suggestions:

    + +

    Dismissing suggestions

    +
    boolFalse#bc799737 = Bool;
    +boolTrue#997275b5 = Bool;
    +
    +---functions---
    +
    +help.dismissSuggestion#f50dbaa1 peer:InputPeer suggestion:string = Bool;
    +

    help.dismissSuggestion can be used to dismiss a suggestion.
    +Pass inputPeerEmpty to peer for basic suggestions and the channel/supergroup's peer for channel suggestions.

    +

    App-specific configuration

    +
    help.appUpdate#ccbbce30 flags:# can_not_skip:flags.0?true id:int version:string text:string entities:Vector<MessageEntity> document:flags.1?Document url:flags.2?string sticker:flags.3?Document = help.AppUpdate;
     help.noAppUpdate#c45a6536 = help.AppUpdate;
     
     updates#74ae4240 updates:Vector<Update> users:Vector<User> chats:Vector<Chat> date:int seq:int = Updates;
    @@ -192,7 +294,7 @@ While help.getConfig returns MTProto-specif
     
  • help.getAppChangelog - Get a list of service messages with app-specific changelogs
  • help.getInviteText - Returns a localized invitation message that can be sent via SMS to contacts that haven't signed up to Telegram yet
  • -

    Terms of service

    +

    Terms of service

    help.termsOfServiceUpdateEmpty#e3309f7f expires:int = help.TermsOfServiceUpdate;
     help.termsOfServiceUpdate#28ecf961 expires:int terms_of_service:help.TermsOfService = help.TermsOfServiceUpdate;
     
    @@ -214,8 +316,8 @@ While help.getConfig returns MTProto-specif
     

    After signing up, or when logging in as an existing user, apps are supposed to call help.getTermsOfServiceUpdate to check for any updates to the Terms of Service; this call should be repeated after expires seconds have elapsed.
    If an update to the Terms Of Service is available, clients are supposed to show a consent popup; if accepted, clients should call help.acceptTermsOfService, providing the termsOfService id JSON object; in case of denial, clients are to delete the account using account.deleteAccount, providing Decline ToS update as deletion reason.

    Example implementation: android (signup), android (after login)

    -

    Telegram support info

    -
    user#938458c1 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true id:int access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string = User;
    +

    Telegram support info

    +
    user#3ff6ecb0 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string = User;
     
     help.support#17c6b5f6 phone_number:string user:User = help.Support;
     help.supportName#8c05f1c9 name:string = help.SupportName;
    @@ -229,7 +331,7 @@ If an update to the Terms Of Service is available, clients are supposed to show
     
  • help.getSupport - Will return the user object that can be used for contacting support.
  • help.getSupportName - Will return a localized name for the support chat.
  • -

    Country information and login phone patterns

    +

    Country information and login phone patterns

    help.countryCode#4203c5ef flags:# country_code:string prefixes:flags.0?Vector<string> patterns:flags.1?Vector<string> = help.CountryCode;
     
     help.country#c3878e23 flags:# hidden:flags.0?true iso2:string default_name:string name:flags.1?string country_codes:Vector<help.CountryCode> = help.Country;
    @@ -241,7 +343,7 @@ If an update to the Terms Of Service is available, clients are supposed to show
     help.getCountriesList#735787a8 lang_code:string hash:int = help.CountriesList;

    help.getCountriesList can be used to fetch a list of localized names for all available countries and phone code patterns for logging in.

    The phone code pattern should be used when showing the login screen, or when changing phone number: for example, a pattern value of XXX XXX XXX with country_code +39 indicates that the phone field for login should accept a spaced pattern like +39 123 456 789.
    -Also, the beginning of the national part of the phone number (123 456 789) should with match one of the prefixes, if any were returned.

    +Also, the beginning of the national part of the phone number (123 456 789) should match one of the prefixes, if any were returned.

    diff --git a/data/core.telegram.org/api/datacenter.html b/data/core.telegram.org/api/datacenter.html index 11cfe243a0..fedf8a90f9 100644 --- a/data/core.telegram.org/api/datacenter.html +++ b/data/core.telegram.org/api/datacenter.html @@ -45,7 +45,8 @@ A complete list of proxy access points for these DCs may be obtained using config#330b4067 flags:# phonecalls_enabled:flags.1?true default_p2p_contacts:flags.3?true preload_featured_stickers:flags.4?true ignore_phone_entities:flags.5?true revoke_pm_inbox:flags.6?true blocked_mode:flags.8?true pfs_enabled:flags.13?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector<DcOption> dc_txt_domain_name:string chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int revoke_time_limit:int revoke_pm_time_limit:int rating_e_decay:int stickers_recent_limit:int stickers_faved_limit:int channels_read_media_period:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int pinned_infolder_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string autoupdate_url_prefix:flags.7?string gif_search_username:flags.9?string venue_search_username:flags.10?string img_search_username:flags.11?string static_maps_provider:flags.12?string caption_length_max:int message_length_max:int webfile_dc_id:int suggested_lang_code:flags.2?string lang_pack_version:flags.2?int base_lang_pack_version:flags.2?int = Config; ---functions--- help.getConfig#c4f9186b = Config;
    -

    In this context, this_dc is the number of the current DC, dc_options is a list of all DCs available at the moment, each of which has an id, ip, and port for establishing a connection. Please note that ip and port may change frequently, based on proxy server load and the user's current location.

    +

    In this context, this_dc is the number of the current DC, dc_options is a list of all DCs available at the moment, each of which has an id, ip, and port for establishing a connection. Please note that ip and port may change frequently, based on proxy server load and the user's current location.
    +Typically, each DC has at least one IPv4 and one IPv6 endpoint available.

    To optimize client communication with the API, each client must use the connection to the closest access point for its main queries (sending messages, getting contacts, etc.). Therefore, knowing how to select a DC is required before communicating with the API.

    Registration/Authorization

    The auth.sendCode method is the basic entry point when registering a new user or authorizing an existing user. 95% of all redirection cases to a different DC will occure when invoking this method.

    @@ -61,8 +62,8 @@ If we do not yet have a user with this number, we examine its IP-address. We can encryptedFile#4a70994c id:long access_hash:long size:int dc_id:int key_fingerprint:int = EncryptedFile; -userProfilePhoto#69d3ab26 flags:# has_video:flags.0?true photo_id:long photo_small:FileLocation photo_big:FileLocation dc_id:int = UserProfilePhoto; -chatPhoto#d20b9f3c flags:# has_video:flags.0?true photo_small:FileLocation photo_big:FileLocation dc_id:int = ChatPhoto;
    +userProfilePhoto#82d1f706 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = UserProfilePhoto; +chatPhoto#1c6e1c11 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = ChatPhoto;

    To download the file, an encrypted connection to DC dc_id must be established and used to execute the upload.getFile query. If an attempt is made to download the file over a wrong connection, the FILE_MIGRATE_X error will be returned.

    Please note that encryption keys are not copied between DCs; therefore, the process of establishing an encrypted connection is started from the very beginning for each new DC. An issued auth_key can be associated with the current authorized user by using an authorization transfer.

    @@ -70,10 +71,10 @@ If an attempt is made to download the file over a wrong connection, the FILE_MIG

    During the process of working with the API, user information is accumulated in the DC with which the user is associated. This is the reason a user cannot be associated with a different DC by means of the client. However, in the future, during prolonged communication from an unusual location, we may decide that the user’s data must be moved to a different DC. After some time, the data will be copied and the association will be updated. Once this happens, when executing any query transmitted to the old DC, the API will return the USER_MIGRATE_X error. The client will then have to establish a connection with the new DC and repeat the query.

    Authorization Transfer

    The following methods can be used to eliminate the need for users to enter the code from a text message every time:

    -
    auth.exportedAuthorization#df969c2d id:int bytes:bytes = auth.ExportedAuthorization;
    +
    auth.exportedAuthorization#b434e2b8 id:long bytes:bytes = auth.ExportedAuthorization;
     auth.authorization#cd050916 flags:# tmp_sessions:flags.0?int user:User = auth.Authorization;
     ---functions---
    -auth.importAuthorization#e3ef9613 id:int bytes:bytes = auth.Authorization;
    +auth.importAuthorization#a57a7dad id:long bytes:bytes = auth.Authorization;
     auth.exportAuthorization#e5bfffcd dc_id:int = auth.ExportedAuthorization;

    auth.exportAuthorization must be executed in the current DC (the DC with which a connection has already been established), passing in dc_id as the value for the new DC. The method should return the user identifier and a long string of random data. An import operation can be performed at the new DC by sending it what was received. Queries requiring authorization can then be successfully executed in the new DC.

    diff --git a/data/core.telegram.org/api/discussion.html b/data/core.telegram.org/api/discussion.html index f03d904938..aca23b08c6 100644 --- a/data/core.telegram.org/api/discussion.html +++ b/data/core.telegram.org/api/discussion.html @@ -45,7 +45,7 @@
    boolFalse#bc799737 = Bool;
     boolTrue#997275b5 = Bool;
     
    -channelFull#f0e6672a flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?int location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int = ChatFull;
    +channelFull#e9b27a17 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string = ChatFull;
     
     messages.chats#64ff9fd5 chats:Vector<Chat> = messages.Chats;
     
    diff --git a/data/core.telegram.org/api/end-to-end.html b/data/core.telegram.org/api/end-to-end.html
    index 7d9388a89e..acbd1bb700 100644
    --- a/data/core.telegram.org/api/end-to-end.html
    +++ b/data/core.telegram.org/api/end-to-end.html
    @@ -42,11 +42,15 @@
       
    -

    This article on MTProto's End-to-End encryption is meant for advanced users.
    If you want to learn more about Secret Chats from a less intimidating source, kindly see our general FAQ.

    -

    Note that as of version 4.6, major Telegram clients are using MTProto 2.0.
    MTProto v.1.0 is deprecated and is currently being phased out.

    +

    This article on MTProto's End-to-End encryption is meant for advanced users. +If you want to learn more about Secret Chats from a less intimidating source, kindly see our general FAQ.

    +
    +
    +

    Note that as of version 4.6, major Telegram clients are using MTProto 2.0. +MTProto v.1.0 is deprecated and is currently being phased out.


    -
    Related articles
    +
    Related articles

    • Security guidelines for developers
    • @@ -58,11 +62,11 @@

      Secret Chats are one-on-one chats wherein messages are encrypted with a key held only by the chat’s participants. Note that the schema for these end-to-end encrypted Secret Chats is different from what is used for cloud chats:

      - +
      - -

      A note on MTProto 2.0

      -

      This article describes the end-to-end encryption layer in the MTProto protocol version 2.0.
      The principal differences from version 1.0 (described here for reference) are as follows:

      +

      A note on MTProto 2.0

      +

      This article describes the end-to-end encryption layer in the MTProto protocol version 2.0. +The principal differences from version 1.0 (described here for reference) are as follows:

      • SHA-256 is used instead of SHA-1;
      • Padding bytes are involved in the computation of msg_key;
      • @@ -70,34 +74,35 @@
      • 12..1024 padding bytes are used instead of 0..15 padding bytes in v.1.0.

      See also: MTProto 2.0: Cloud Chats, server-client encryption

      -

      Key Generation

      +

      Key Generation

      Keys are generated using the Diffie-Hellman protocol.

      Let us consider the following scenario: User A would like to initiate end-to-end encrypted communication with User B.

      -

      Sending a Request

      +

      Sending a Request

      User A executes messages.getDhConfig to obtain the Diffie-Hellman parameters: a prime p, and a high order element g.

      Executing this method before each new key generation procedure is of vital importance. It makes sense to cache the values of the parameters together with the version in order to avoid having to receive all of the values every time. If the version stored on the client is still up-to-date, the server will return the constructor messages.dhConfigNotModified.

      -

      Client is expected to check whether p is a safe 2048-bit prime (meaning that both p and (p-1)/2 are prime, and that 22047 < p < 22048), and that g generates a cyclic subgroup of prime order (p-1)/2, i.e. is a quadratic residue mod p. Since g is always equal to 2, 3, 4, 5, 6 or 7, this is easily done using quadratic reciprocity law, yielding a simple condition on p mod 4g — namely, p mod 8 = 7 for g = 2; p mod 3 = 2 for g = 3; no extra condition for g = 4; p mod 5 = 1 or 4 for g = 5; p mod 24 = 19 or 23 for g = 6; and p mod 7 = 3, 5 or 6 for g = 7. After g and p have been checked by the client, it makes sense to cache the result, so as to avoid repeating lengthy computations in future. This cache might be shared with one used for Authorization Key generation.

      -

      If the client needs additional entropy for the random number generator, it can pass the random_length parameter (random_length> 0) so the server generates its own random sequence random of the appropriate length.
      Important: using the server’s random sequence in its raw form may be unsafe, it must be combined with a client sequence.

      +

      Client is expected to check whether p is a safe 2048-bit prime (meaning that both p and (p-1)/2 are prime, and that 2^2047 < p < 2^2048), and that g generates a cyclic subgroup of prime order (p-1)/2, i.e. is a quadratic residue mod p. Since g is always equal to 2, 3, 4, 5, 6 or 7, this is easily done using quadratic reciprocity law, yielding a simple condition on p mod 4g -- namely, p mod 8 = 7 for g = 2; p mod 3 = 2 for g = 3; no extra condition for g = 4; p mod 5 = 1 or 4 for g = 5; p mod 24 = 19 or 23 for g = 6; and p mod 7 = 3, 5 or 6 for g = 7. After g and p have been checked by the client, it makes sense to cache the result, so as to avoid repeating lengthy computations in future. This cache might be shared with one used for Authorization Key generation.

      +

      If the client needs additional entropy for the random number generator, it can pass the random_length parameter (random_length> 0) so the server generates its own random sequence random of the appropriate length. +Important: using the server’s random sequence in its raw form may be unsafe, it must be combined with a client sequence.

      Client A computes a 2048-bit number a (using sufficient entropy or the server’s random; see above) and executes messages.requestEncryption after passing in g_a := pow(g, a) mod dh_prime.

      User B receives the update updateEncryption for all associated authorization keys (all authorized devices) with the chat constructor encryptedChatRequested. The user must be shown basic information about User A and must be prompted to accept or reject the request.

      Both clients are to check that g, g_a and g_b are greater than one and smaller than p-1. We recommend checking that g_a and g_b are between 2^{2048-64} and p - 2^{2048-64} as well.

      -

      Accepting a Request

      +

      Accepting a Request

      After User B confirms the creation of a secret chat with A in the client interface, Client B also receives up-to-date configuration parameters for the Diffie-Hellman method. Thereafter, it generates a random 2048-bit number, b, using rules similar to those for a.

      Having received g_a from the update with encryptedChatRequested, it can immediately generate the final shared key: key = (pow(g_a, b) mod dh_prime). If key length < 256 bytes, add several leading zero bytes as padding — so that the key is exactly 256 bytes long. Its fingerprint, key_fingerprint, is equal to the 64 last bits of SHA1 (key).

      Note 1: in this particular case SHA1 is used here even for MTProto 2.0 secret chats.

      -

      Note 2: this fingerprint is used as a sanity check for the key exchange procedure to detect bugs when developing client software — it is not connected to the key visualization used on the clients as means of external authentication in secret chats. Key visualizations on the clients are generated using the first 128 bits of SHA1(intial key) followed by the first 160 bits of SHA256(key used when secret chat was updated to layer 46).

      +

      Note 2: this fingerprint is used as a sanity check for the key exchange procedure to detect bugs when developing client software — it is not connected to the key visualization used on the clients as means of external authentication in secret chats. Key visualizations on the clients are generated using the first 128 bits of SHA1(initial key) followed by the first 160 bits of SHA256(key used when secret chat was updated to layer 46).

      Client B executes messages.acceptEncryption after passing it g_b := pow(g, b) mod dh_prime and key_fingerprint.

      For all of Client B’s authorized devices, except the current one, updateEncryption updates are sent with the constructor encryptedChatDiscarded. Thereafter, the only device that will be able to access the secret chat is Device B, which made the call to messages.acceptEncryption.

      User A will be sent an updateEncryption update with the constructor encryptedChat, for the authorization key that initiated the chat.

      With g_b from the update, Client A can also compute the shared key key = (pow(g_b, a) mod dh_prime). If key length < 256 bytes, add several leading zero bytes as padding — so that the key is exactly 256 bytes long. If the fingerprint for the received key is identical to the one that was passed to encryptedChat, incoming messages can be sent and processed. Otherwise, messages.discardEncryption must be executed and the user notified.

      -

      Perfect Forward Secrecy

      +

      Perfect Forward Secrecy

      In order to keep past communications safe, official Telegram clients will initiate re-keying once a key has been used to decrypt and encrypt more than 100 messages, or has been in use for more than one week, provided the key has been used to encrypt at least one message. Old keys are then securely discarded and cannot be reconstructed, even with access to the new keys currently in use.

      The re-keying protocol is further described in this article: Perfect Forward Secrecy in Secret Chats.

      Please note that your client must support Forward Secrecy in Secret Chats to be compatible with official Telegram clients.

      -

      Sending and Receiving Messages in a Secret Chat

      -

      Serialization and Encryption of Outgoing Messages

      +

      Sending and Receiving Messages in a Secret Chat

      +

      Serialization and Encryption of Outgoing Messages

      A TL object of type DecryptedMessage is created and contains the message in plain text. For backward compatibility, the object must be wrapped in the constructor decryptedMessageLayer with an indication of the supported layer (starting with 46).

      The TL-Schema for the contents of end-to-end encrypted messages is available here »

      @@ -118,18 +123,20 @@

      For the obsolete MTProto 1.0, msg_key, aes_key, and aes_iv were computed differently (see this document for reference).

      Data is encrypted with a 256-bit key, aes_key, and a 256-bit initialization vector, aes-iv, using AES-256 encryption with infinite garble extension (IGE). Encryption key fingerprint key_fingerprint and the message key msg_key are added at the top of the resulting byte array.

      Encrypted data is embedded into a messages.sendEncrypted API call and passed to Telegram server for delivery to the other party of the Secret Chat.

      -

      Upgrading to MTProto 2.0 from MTProto 1.0

      +

      Upgrading to MTProto 2.0 from MTProto 1.0

      As soon as both parties in a secret chat are using at least Layer 73, they should only use MTProto 2.0 for all outgoing messages. Some of the first received messages may use MTProto 1.0, if a sufficiently high starting layer has not been negotiated during the creation of the secret chat. After the first message encrypted with MTProto 2.0 (or the first message with Layer 73 or higher) is received, all messages with higher sequence numbers must be encrypted with MTProto 2.0 as well.

      As long as the current layer is lower than 73, each party should try to decrypt received messages with MTProto 1.0, and if this is not successfull (msg_key does not match), try MTProto 2.0. Once the first MTProto 2.0-encrypted message arrives (or the layer is upgraded to 73), there is no need to try MTProto 1.0 decryption for any of the further messages (unless the client is still waiting for some gaps to be closed).

      -

      Decrypting an Incoming Message

      -

      The steps above are performed in reverse order.
      When an encrypted message is received, you must check that msg_key is in fact equal to the 128 middle bits of the SHA256 hash of the decrypted message, prepended by 32 bytes taken from the shared key.
      If the message layer is greater than the one supported by the client, the user must be notified that the client version is out of date and prompted to update.

      -

      Sequence numbers

      +

      Decrypting an Incoming Message

      +

      The steps above are performed in reverse order. +When an encrypted message is received, you must check that msg_key is in fact equal to the 128 middle bits of the SHA256 hash of the decrypted message, prepended by 32 bytes taken from the shared key. +If the message layer is greater than the one supported by the client, the user must be notified that the client version is out of date and prompted to update.

      +

      Sequence numbers

      It is necessary to interpret all messages in their original order to protect against possible manipulations. Secret chats support a special mechanism for handling seq_no counters independently from the server.

      Proper handling of these counters is further described in this article: Sequence numbers in Secret Chats.

      Please note that your client must support sequence numbers in Secret Chats to be compatible with official Telegram clients.

      -

      Sending Encrypted Files

      +

      Sending Encrypted Files

      All files sent to secret chats are encrypted with one-time keys that are in no way related to the chat’s shared key. Before an encrypted file is sent, it is assumed that the encrypted file’s address will be attached to the outside of an encrypted message using the file parameter of the messages.sendEncryptedFile method and that the key for direct decryption will be sent in the body of the message (the key parameter in the constructors decryptedMessageMediaPhoto, decryptedMessageMediaVideo and decryptedMessageMediaFile.

      Prior to a file being sent to a secret chat, 2 random 256-bit numbers are computed which will serve as the AES key and initialization vector used to encrypt the file. AES-256 encryption with infinite garble extension (IGE) is used in like manner.

      The key fingerprint is computed as follows:

      @@ -137,28 +144,28 @@
    • digest = md5(key + iv)
    • fingerprint = substr(digest, 0, 4) XOR substr(digest, 4, 4)
    -

    The encrypted contents of a file are stored on the server in much the same way as those of a file in cloud chats: piece by piece using calls to upload.saveFilePart.
    A subsequent call to messages.sendEncryptedFile will assign an identifier to the stored file and send the address together with the message. The recipient will receive an update with encryptedMessage, and the file parameter will contain file information.

    +

    The encrypted contents of a file are stored on the server in much the same way as those of a file in cloud chats: piece by piece using calls to upload.saveFilePart. +A subsequent call to messages.sendEncryptedFile will assign an identifier to the stored file and send the address together with the message. The recipient will receive an update with encryptedMessage, and the file parameter will contain file information.

    Incoming and outgoing encrypted files can be forwarded to other secret chats using the constructor inputEncryptedFile to avoid saving the same content on the server twice.

    -

    Working with an Update Box

    +

    Working with an Update Box

    Secret chats are associated with specific devices (or rather with authorization keys), not users. A conventional message box, which uses pts to describe the client’s status, is not suitable, because it is designed for long-term message storage and message access from different devices.

    An additional temporary message queue is introduced as a solution to this problem. When an update regarding a message from a secret chat is sent, a new value of qts is sent, which helps reconstruct the difference if there has been a long break in the connection or in case of loss of an update.

    As the number of events increases, the value of qts increases by 1 with each new event. The initial value may not (and will not) be equal to 0.

    The fact that events from the temporary queue have been received and stored by the client is acknowledged explicitly by a call to the messages.receivedQueue method or implicitly by a call to updates.getDifference (the value of qts passed, not the final state). All messages acknowledged as delivered by the client, as well as any messages older than 7 days, may (and will) be deleted from the server.

    Upon de-authorization, the event queue of the corresponding device will be forcibly cleared, and the value of qts will become irrelevant.

    -

    Updating to new layers

    +

    Updating to new layers

    Your client should always store the maximal layer that is known to be supported by the client on the other side of a secret chat. When the secret chat is first created, this value should be initialized to 46. This remote layer value must always be updated immediately after receiving any packet containing information of an upper layer, i.e.:

    • any secret chat message containing layer_no in its decryptedMessageLayer with layer>=46, or
    • a decryptedMessageActionNotifyLayer service message, wrapped as if it were the decryptedMessageService constructor of the obsolete layer 8 (constructor decryptedMessageService#aa48327d).
    -

    Notifying the remote client about your local layer

    +

    Notifying the remote client about your local layer

    In order to notify the remote client of your local layer, your client must send a message of the decryptedMessageActionNotifyLayer type. This notification must be wrapped in a constructor of an appropriate layer.

    There are two cases when your client must notify the remote client about its local layer:

    1. As soon as a new secret chat has been created, immediately after the secret key has been successfully exchanged.
    2. Immediately after the local client has been updated to support a new secret chat layer. In this case notifications must be sent to all currently existing secret chats. Note that this is only necessary when updating to new layers that contain changes in the secret chats implementation (e.g. you don’t need to do this when your client is updated from Layer 46 to Layer 47).
    3. -
    -
    +
    diff --git a/data/core.telegram.org/api/end-to-end_v1.html b/data/core.telegram.org/api/end-to-end_v1.html index 28fd6bd30d..40f3cc5538 100644 --- a/data/core.telegram.org/api/end-to-end_v1.html +++ b/data/core.telegram.org/api/end-to-end_v1.html @@ -76,7 +76,7 @@ For information on end-to-end encryption used in up-to-date Telegram clients, ki

    Accepting a Request

    After User B confirms the creation of a secret chat with A in the client interface, Client B also receives up-to-date configuration parameters for the Diffie-Hellman method. Thereafter, it generates a random 2048-bit number, b, using rules similar to those for a.

    Having received g_a from the update with encryptedChatRequested, it can immediately generate the final shared key: key = (pow(g_a, b) mod dh_prime). If key length < 256 bytes, add several leading zero bytes as padding — so that the key is exactly 256 bytes long. Its fingerprint, key_fingerprint, is equal to the 64 last bits of SHA1 (key).

    -

    Note: this fingerprint is used as a sanity check for the key exchange procedure to detect bugs while developing client software — it is not connected to the key visualization used on the clients as means of external authentication in secret chats. Key visualizations on the clients are generated using the first 128 bits of SHA1(intial key) followed by the first 160 bits of SHA256(key used when secret chat was updated to layer 46).

    +

    Note: this fingerprint is used as a sanity check for the key exchange procedure to detect bugs while developing client software — it is not connected to the key visualization used on the clients as means of external authentication in secret chats. Key visualizations on the clients are generated using the first 128 bits of SHA1(initial key) followed by the first 160 bits of SHA256(key used when secret chat was updated to layer 46).

    Client B executes messages.acceptEncryption after passing it g_b := pow(g, b) mod dh_prime and key_fingerprint.

    For all of Client B’s authorized devices, except the current one, updateEncryption updates are sent with the constructor encryptedChatDiscarded. Thereafter, the only device that will be able to access the secret chat is Device B, which made the call to messages.acceptEncryption.

    User A will be sent an updateEncryption update with the constructor encryptedChat, for the authorization key that initiated the chat.

    @@ -128,7 +128,7 @@ If the message layer is greater than the one supported by the client, the user m A subsequent call to messages.sendEncryptedFile will assign an identifier to the stored file and send the address together with the message. The recipient will receive an update with encryptedMessage, and the file parameter will contain file information.

    Incoming and outgoing encrypted files can be forwarded to other secret chats using the constructor inputEncryptedFile to avoid saving the same content on the server twice.

    Working with an Update Box

    -

    Secret chats are associated with specific devices (or rather with authorization keys), not users. A conventional message box, which uses pts to describe the client’s status, is not suitable, because it is designed for long-term message storage and message access from different devices.

    +

    Secret chats are associated with specific devices (or rather with authorization keys), not users. A conventional message box, which uses pts to describe the client’s status, is not suitable, because it is designed for long-term message storage and message access from different devices.

    An additional temporary message queue is introduced as a solution to this problem. When an update regarding a message from a secret chat is sent, a new value of qts is sent, which helps reconstruct the difference if there has been a long break in the connection or in case of loss of an update.

    As the number of events increases, the value of qts increases monotonically (not always by 1). The initial value may not (and will not) be equal to 0.

    The fact that events from the temporary queue have been received and stored by the client is acknowledged explicitly by a call to the messages.receivedQueue method or implicitly by a call to updates.getDifference (the value of qts passed, not the final state). All messages acknowledged as delivered by the client, as well as any messages older than 7 days, may (and will) be deleted from the server.

    diff --git a/data/core.telegram.org/api/errors.html b/data/core.telegram.org/api/errors.html index 11e7b48406..c1f5812165 100644 --- a/data/core.telegram.org/api/errors.html +++ b/data/core.telegram.org/api/errors.html @@ -41,27 +41,28 @@

    There will be errors when working with the API, and they must be correctly handled on the client.

    An error is characterized by several parameters:

    -

    Error Code

    +

    Error Code

    Numerical value similar to HTTP status. Contains information on the type of error that occurred: for example, a data input error, privacy error, or server error. This is a required parameter.

    -

    Error Type

    +

    Error Type

    A string literal in the form of /[A-Z_0-9]+/, which summarizes the problem. For example, AUTH_KEY_UNREGISTERED. This is an optional parameter.


    -

    Error Constructors

    +

    Error Constructors

    There should be a way to handle errors that are returned in rpc_error constructors.

    Below is a list of error codes and their meanings:

    -

    303 SEE_OTHER

    +

    303 SEE_OTHER

    The request must be repeated, but directed to a different data center.

    -

    Examples of Errors:

    +

    Examples of Errors:

    • FILE_MIGRATE_X: the file to be accessed is currently stored in a different data center.
    • PHONE_MIGRATE_X: the phone number a user is trying to use for authorization is associated with a different data center.
    • NETWORK_MIGRATE_X: the source IP address is associated with a different data center (for registration)
    • USER_MIGRATE_X: the user whose identity is being used to execute queries is associated with a different data center (for registration)
    -

    In all these cases, the error description’s string literal contains the number of the data center (instead of the X) to which the repeated query must be sent.
    More information about redirects between data centers »

    -

    400 BAD_REQUEST

    +

    In all these cases, the error description’s string literal contains the number of the data center (instead of the X) to which the repeated query must be sent. +More information about redirects between data centers »

    +

    400 BAD_REQUEST

    The query contains errors. In the event that a request was created using a form and contains user generated data, the user should be notified that the data must be corrected before the query is repeated.

    -

    Examples of Errors:

    +

    Examples of Errors:

    • FIRSTNAME_INVALID: The first name is invalid
    • LASTNAME_INVALID: The last name is invalid
    • @@ -83,11 +84,11 @@
    • FIELD_NAME_INVALID: The field with the name FIELD_NAME is invalid
    • FIELD_NAME_EMPTY: The field with the name FIELD_NAME is missing
    • MSG_WAIT_FAILED: A request that must be completed before processing the current request returned an error
    • -
    • MSG_WAIT_TIMEOUT: A request that must be completed before processing the current request didn't finish processing yet
    • +
    • MSG_WAIT_TIMEOUT: A request that must be completed before processing the current request didn't finish processing yet
    -

    401 UNAUTHORIZED

    +

    401 UNAUTHORIZED

    There was an unauthorized attempt to use functionality available only to authorized users.

    -

    Examples of Errors:

    +

    Examples of Errors:

    • AUTH_KEY_UNREGISTERED: The key is not registered in the system
    • AUTH_KEY_INVALID: The key is invalid
    • @@ -96,24 +97,23 @@
    • SESSION_EXPIRED: The authorization has expired
    • AUTH_KEY_PERM_EMPTY: The method is unavailble for temporary authorization key, not bound to permanent
    -

    403 FORBIDDEN

    +

    403 FORBIDDEN

    Privacy violation. For example, an attempt to write a message to someone who has blacklisted the current user.

    -

    404 NOT_FOUND

    +

    404 NOT_FOUND

    An attempt to invoke a non-existent object, such as a method.

    -

    406 NOT_ACCEPTABLE

    +

    406 NOT_ACCEPTABLE

    Similar to 400 BAD_REQUEST, but the app should not display any error messages to user in UI as a result of this response. The error message will be delivered via updateServiceNotification instead.

    -

    420 FLOOD

    +

    420 FLOOD

    The maximum allowed number of attempts to invoke the given method with the given input parameters has been exceeded. For example, in an attempt to request a large number of text messages (SMS) for the same phone number.

    -

    Error Example:

    +

    Error Example:

    • FLOOD_WAIT_X: A wait of X seconds is required (where X is a number)
    -

    500 INTERNAL

    +

    500 INTERNAL

    An internal server error occurred while a request was being processed; for example, there was a disruption while accessing a database or file storage.

    If a client receives a 500 error, or you believe this error should not have occurred, please collect as much information as possible about the query and error and send it to the developers.

    -

    Other Error Codes

    -

    If a server returns an error with a code other than the ones listed above, it may be considered the same as a 500 error and treated as an internal server error.

    -
    +

    Other Error Codes

    +

    If a server returns an error with a code other than the ones listed above, it may be considered the same as a 500 error and treated as an internal server error.

    diff --git a/data/core.telegram.org/api/files.html b/data/core.telegram.org/api/files.html index 5d3ebb8eff..498d0845cb 100644 --- a/data/core.telegram.org/api/files.html +++ b/data/core.telegram.org/api/files.html @@ -140,7 +140,7 @@ The SHA256 hash of the file is computed, and it is passed along with the file's photos.updateProfilePhoto#72d4742c id:InputPhoto = photos.Photo; photos.uploadProfilePhoto#89f30f69 flags:# file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double = photos.Photo; -messages.editChatPhoto#ca4c79d8 chat_id:int photo:InputChatPhoto = Updates; +messages.editChatPhoto#35ddd674 chat_id:long photo:InputChatPhoto = Updates; channels.editPhoto#f12e57c9 channel:InputChannel photo:InputChatPhoto = Updates;

    User profile pictures can be uploaded using the photos.uploadProfilePhoto method: the actual profile picture has to be uploaded as for normal files.
    @@ -177,23 +177,30 @@ The data for the input parameter of the InputF inputTakeoutFileLocation#29be5899 = InputFileLocation; inputPhotoFileLocation#40181ffe id:long access_hash:long file_reference:bytes thumb_size:string = InputFileLocation; inputPhotoLegacyFileLocation#d83466f3 id:long access_hash:long file_reference:bytes volume_id:long local_id:int secret:long = InputFileLocation; -inputPeerPhotoFileLocation#27d69997 flags:# big:flags.0?true peer:InputPeer volume_id:long local_id:int = InputFileLocation; -inputStickerSetThumb#dbaeae9 stickerset:InputStickerSet volume_id:long local_id:int = InputFileLocation; +inputPeerPhotoFileLocation#37257e99 flags:# big:flags.0?true peer:InputPeer photo_id:long = InputFileLocation; +inputStickerSetThumb#9d84f3db stickerset:InputStickerSet thumb_version:int = InputFileLocation; +inputGroupCallStream#598a92a flags:# call:InputGroupCall time_ms:long scale:int video_channel:flags.0?int video_quality:flags.0?int = InputFileLocation; inputStickerSetEmpty#ffb62b95 = InputStickerSet; inputStickerSetID#9de7a269 id:long access_hash:long = InputStickerSet; inputStickerSetShortName#861cc8a0 short_name:string = InputStickerSet; +inputStickerSetAnimatedEmoji#28703c8 = InputStickerSet; +inputStickerSetDice#e67f520e emoticon:string = InputStickerSet; +inputStickerSetAnimatedEmojiAnimations#cde3739 = InputStickerSet; inputPeerSelf#7da07ec9 = InputPeer; -inputPeerChat#179be863 chat_id:int = InputPeer; -inputPeerUser#7b8e7de6 user_id:int access_hash:long = InputPeer; -inputPeerChannel#20adaef8 channel_id:int access_hash:long = InputPeer; +inputPeerChat#35a95cb9 chat_id:long = InputPeer; +inputPeerUser#dde8a54c user_id:long access_hash:long = InputPeer; +inputPeerChannel#27bcbbfc channel_id:long access_hash:long = InputPeer; photo#fb197a65 flags:# has_stickers:flags.0?true id:long access_hash:long file_reference:bytes date:int sizes:Vector<PhotoSize> video_sizes:flags.1?Vector<VideoSize> dc_id:int = Photo; document#1e87342b flags:# id:long access_hash:long file_reference:bytes date:int mime_type:string size:int thumbs:flags.0?Vector<PhotoSize> video_thumbs:flags.1?Vector<VideoSize> dc_id:int attributes:Vector<DocumentAttribute> = Document; -photoSize#77bfb61b type:string location:FileLocation w:int h:int size:int = PhotoSize; -photoCachedSize#e9a734fa type:string location:FileLocation w:int h:int bytes:bytes = PhotoSize;

    +photoSize#75c78e60 type:string w:int h:int size:int = PhotoSize; +photoCachedSize#21e1ad6 type:string w:int h:int bytes:bytes = PhotoSize; + +chatPhoto#1c6e1c11 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = ChatPhoto; +userProfilePhoto#82d1f706 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = UserProfilePhoto;
  • -

    For profile pictures of users, channels, supergroups and groups, since in most occasions they are encountered as simple fileLocationToBeDeprecated constructors without an associated photo, inputPeerPhotoFileLocation has to be used:

    +

    For profile pictures of users, channels, supergroups and groups, inputPeerPhotoFileLocation has to be used:

  • @@ -217,19 +225,29 @@ The data for the input parameter of the InputF
  • -

    For encrypted secret chat and telegram passport documents, respectively inputEncryptedFileLocation and inputSecureFileLocation have to be used, with parameters extracted from encryptedFile and secureFile (passport docs).

    -
  • -
  • -

    For previews of sticker sets, inputStickerSetThumb is used (note: to download stickers and previews of stickers use the document method described above):

    +

    For previews of sticker sets, inputStickerSetThumb is used (note: to download stickers and previews of stickers use the document method described above for documents):

  • -

    For old deprecated photos, if the client has cached some old fileLocations with the deprecated secret identifier, inputFileLocation is used (this is mainly used for backwards compatiblity with bot API file IDs, all user clients must use the modern inputPhotoFileLocation file IDs):

    +

    For encrypted secret chat and telegram passport documents, respectively inputEncryptedFileLocation and inputSecureFileLocation have to be used, with parameters extracted from encryptedFile and secureFile (passport docs).

    +
  • +
  • +

    For livestream chunks, inputGroupCallStream is used:

    +
  • +
  • +

    For old deprecated photos, if the client has cached some old fileLocations with the deprecated secret identifier, inputFileLocation or inputPhotoLegacyFileLocation is used (this is mainly used for backwards compatiblity with bot API file IDs, all user clients must use the modern inputPhotoFileLocation file IDs):

    +
  • @@ -269,15 +287,15 @@ The file download operation may also return one of the following upload.getFileHashes contain FileHash constructors. Each of these constructors contains the SHA-256 hash of a part of the file that starts with offset and takes limit bytes.

    Before saving each portion of the data received from the DC into the file, the client can confirm that its hash matches the hash that was received from the master DC. If missing a hash for any file part, client developers must use the upload.getFileHashes method to obtain the missing hash.

    Handling audio, video and vector previews

    -

    Scheme:

    +

    Schema:

    photoSizeEmpty#e17e23c type:string = PhotoSize;
    -photoSize#77bfb61b type:string location:FileLocation w:int h:int size:int = PhotoSize;
    -photoCachedSize#e9a734fa type:string location:FileLocation w:int h:int bytes:bytes = PhotoSize;
    +photoSize#75c78e60 type:string w:int h:int size:int = PhotoSize;
    +photoCachedSize#21e1ad6 type:string w:int h:int bytes:bytes = PhotoSize;
     photoStrippedSize#e0b0bc2e type:string bytes:bytes = PhotoSize;
    -photoSizeProgressive#5aa86a51 type:string location:FileLocation w:int h:int sizes:Vector<int> = PhotoSize;
    +photoSizeProgressive#fa3efb95 type:string w:int h:int sizes:Vector<int> = PhotoSize;
     photoPathSize#d8214d41 type:string bytes:bytes = PhotoSize;
     
    -videoSize#e831c556 flags:# type:string location:FileLocation w:int h:int size:int video_start_ts:flags.0?double = VideoSize;
    +videoSize#de33b094 flags:# type:string w:int h:int size:int video_start_ts:flags.0?double = VideoSize;
     
     document#1e87342b flags:# id:long access_hash:long file_reference:bytes date:int mime_type:string size:int thumbs:flags.0?Vector<PhotoSize> video_thumbs:flags.1?Vector<VideoSize> dc_id:int attributes:Vector<DocumentAttribute> = Document;
     photo#fb197a65 flags:# has_stickers:flags.0?true id:long access_hash:long file_reference:bytes date:int sizes:Vector<PhotoSize> video_sizes:flags.1?Vector<VideoSize> dc_id:int = Photo;
    @@ -402,8 +420,8 @@ path += "z"
    <path d="{$path}"/> </svg>

    Video types

    -
    videoSize#e831c556 flags:# type:string location:FileLocation w:int h:int size:int video_start_ts:flags.0?double = VideoSize;
    -

    A videoSize constructor is typically used for [animated profile pictures]() and video previews.

    +
    videoSize#de33b094 flags:# type:string w:int h:int size:int video_start_ts:flags.0?double = VideoSize;
    +

    A videoSize constructor is typically used for animated profile pictures and video previews.

    diff --git a/data/core.telegram.org/api/folders.html b/data/core.telegram.org/api/folders.html index 93daeb805d..ab994cc04b 100644 --- a/data/core.telegram.org/api/folders.html +++ b/data/core.telegram.org/api/folders.html @@ -43,7 +43,7 @@

    Telegram allows placing chats into folders, based on their type, mute status, or other custom criteria, thanks to folder blacklists and whitelists.
    In the API, folders are called "dialog filters"; in the UI, they are typically represented as tabs.

    -

    Scheme:

    +

    Schema:

    dialogFilter#7438f7e8 flags:# contacts:flags.0?true non_contacts:flags.1?true groups:flags.2?true broadcasts:flags.3?true bots:flags.4?true exclude_muted:flags.11?true exclude_read:flags.12?true exclude_archived:flags.13?true id:int title:string emoticon:flags.25?string pinned_peers:Vector<InputPeer> include_peers:Vector<InputPeer> exclude_peers:Vector<InputPeer> = DialogFilter;
     
     dialogFilterSuggested#77744d4a filter:DialogFilter description:string = DialogFilterSuggested;
    @@ -60,7 +60,7 @@ In the API, folders are called "dialog filters"; in the UI, they are typically r
     messages.updateDialogFiltersOrder#c563c1e4 order:Vector<int> = Bool;
     
     help.getAppConfig#98914110 = JSONValue;
    -

    Folders

    +

    Folders

    On startup, clients call:

    Layer 3

    -

    Support for link changes for a contact when a message is sent. Now, if user X has user Y in the contact list and if user Y writes a message to user X, number X will become available for him. More...

    +

    Support for link changes for a contact when a message is sent. Now, if user X has user Y in the contact list and if user Y writes a message to user X, number X will become available for him.

    Schema changes

    @@ -191,7 +200,7 @@ messageActionSecureValuesSentMe#1b287353 values:Vector<SecureValue> creden
    -

    Here's a list of possible SecureValueTypes, and the parameters that can be set/requested when using each type.

    +

    Here's a list of possible SecureValueTypes, and the parameters that can be set/requested when using each type.

    @@ -254,8 +263,8 @@ messageActionSecureValuesSentMe#1b287353 values:Vector<SecureValue> creden
    -
    SecureData
    -
    secureData#8aeabec3 data:bytes data_hash:bytes secret:bytes = SecureData;
    +
    SecureData
    +
    secureData#8aeabec3 data:bytes data_hash:bytes secret:bytes = SecureData;

    Data is an encrypted and padded JSON-serialized object of one of the specified JSON types, depending on the chosen type.

    @@ -291,48 +300,51 @@ messageActionSecureValuesSentMe#1b287353 values:Vector<SecureValue> creden
    -

    DataCredentials extracted from the credentials can then be used to decrypt encrypted data from the data field in secureData.
    For more info on how to decrypt the data field, see the passport manual.

    -
    SecureFile
    -
    secureFile#e0277a62 id:long access_hash:long size:int dc_id:int date:int file_hash:bytes secret:bytes = SecureFile;    
    +

    DataCredentials extracted from the credentials can then be used to decrypt encrypted data from the data field in secureData. +For more info on how to decrypt the data field, see the passport manual.

    +
    SecureFile
    +
    secureFile#e0277a62 id:long access_hash:long size:int dc_id:int date:int file_hash:bytes secret:bytes = SecureFile; 
     
    -inputSecureFileLocation#cbc7ee28 id:long access_hash:long = InputFileLocation;
    +inputSecureFileLocation#cbc7ee28 id:long access_hash:long = InputFileLocation;
     
     ---functions---
     
    -upload.getFile#b15a9afc flags:# precise:flags.0?true cdn_supported:flags.1?true location:InputFileLocation offset:int limit:int = upload.File;
    -

    Files (JPG format when decrypted, max. 10MB) are downloaded chunk by chunk as described in files », except that instead of generating an inputFileLocation, an inputFileLocation should be generated, instead.

    +upload.getFile#b15a9afc flags:# precise:flags.0?true cdn_supported:flags.1?true location:InputFileLocation offset:int limit:int = upload.File;
    +

    Files (JPG format when decrypted, max. 10MB) are downloaded chunk by chunk as described in files », except that instead of generating an inputFileLocation, an inputFileLocation should be generated, instead.

    -

    FileCredentials extracted from the credentials can then be used to decrypt downloaded encrypted data.
    For more info on how to decrypt passport files, see the passport manual.

    -
    SecurePlainData
    -
    securePlainPhone#7d6099dd phone:string = SecurePlainData;
    -securePlainEmail#21ec5a5f email:string = SecurePlainData;
    -

    The email/phone is passed in plaintext using the respective SecurePlainData constructor.
    Emails and phone numbers sent using telegram passport are already verified as described in the passport manual.

    -

    Fixing errors

    -
    secureValueErrorData#e8a40bd9 type:SecureValueType data_hash:bytes field:string text:string = SecureValueError;
    -secureValueErrorFrontSide#be3dfa type:SecureValueType file_hash:bytes text:string = SecureValueError;
    -secureValueErrorReverseSide#868a2aa5 type:SecureValueType file_hash:bytes text:string = SecureValueError;
    -secureValueErrorSelfie#e537ced6 type:SecureValueType file_hash:bytes text:string = SecureValueError;
    -secureValueErrorFile#7a700873 type:SecureValueType file_hash:bytes text:string = SecureValueError;
    -secureValueErrorFiles#666220e9 type:SecureValueType file_hash:Vector<bytes> text:string = SecureValueError;
    -secureValueError#869d758f type:SecureValueType hash:bytes text:string = SecureValueError;
    -secureValueErrorTranslationFile#a1144770 type:SecureValueType file_hash:bytes text:string = SecureValueError;
    -secureValueErrorTranslationFiles#34636dd8 type:SecureValueType file_hash:Vector<bytes> text:string = SecureValueError;
    +

    FileCredentials extracted from the credentials can then be used to decrypt downloaded encrypted data. +For more info on how to decrypt passport files, see the passport manual.

    +
    SecurePlainData
    +
    securePlainPhone#7d6099dd phone:string = SecurePlainData;
    +securePlainEmail#21ec5a5f email:string = SecurePlainData;
    +

    The email/phone is passed in plaintext using the respective SecurePlainData constructor. +Emails and phone numbers sent using telegram passport are already verified as described in the passport manual.

    +

    Fixing errors

    +
    secureValueErrorData#e8a40bd9 type:SecureValueType data_hash:bytes field:string text:string = SecureValueError;
    +secureValueErrorFrontSide#be3dfa type:SecureValueType file_hash:bytes text:string = SecureValueError;
    +secureValueErrorReverseSide#868a2aa5 type:SecureValueType file_hash:bytes text:string = SecureValueError;
    +secureValueErrorSelfie#e537ced6 type:SecureValueType file_hash:bytes text:string = SecureValueError;
    +secureValueErrorFile#7a700873 type:SecureValueType file_hash:bytes text:string = SecureValueError;
    +secureValueErrorFiles#666220e9 type:SecureValueType file_hash:Vector<bytes> text:string = SecureValueError;
    +secureValueError#869d758f type:SecureValueType hash:bytes text:string = SecureValueError;
    +secureValueErrorTranslationFile#a1144770 type:SecureValueType file_hash:bytes text:string = SecureValueError;
    +secureValueErrorTranslationFiles#34636dd8 type:SecureValueType file_hash:Vector<bytes> text:string = SecureValueError;
     
    -inputUser#d8292816 user_id:int access_hash:long = InputUser;
    +inputUser#f21158c6 user_id:long access_hash:long = InputUser;
     
     
     ---functions---
     
    -users.setSecureValueErrors#90c894b5 id:InputUser errors:Vector<SecureValueError> = Bool;
    +users.setSecureValueErrors#90c894b5 id:InputUser errors:Vector<SecureValueError> = Bool;

    If the data you received contains errors, the bot can use the users.setSecureValueErrors method to inform the user and request information again. The user will not be able to resend the data, until all errors are fixed.

    -

    Descriptions of the method parameters can be found in the method's documentation page ».

    -

    As a user

    -

    Receiving requests

    +

    Descriptions of the method parameters can be found in the method's documentation page ».

    +

    As a user

    +

    Receiving requests

    The process starts when your app receives an event from one of the SDKs, or from a custom source.

    -

    URI format

    +

    URI format

    The SDKs trigger a passport authorization request by opening the following Telegram-specific URI:

    tg://resolve?params

    With the following query string parameters:

    @@ -342,55 +354,47 @@ users.setSecureValueErrors#90c894b5 id:InputUser errors:Vector<SecureValueErr Parameters Type Required -Description domain String Yes -Always telegrampassport for Passport authorization requests.
    tg:// URI are also used to resolve usernames, stickersets, translation packs and more, the domain parameter identifies the action to take when opening the link. bot_id Integer Yes -Unique identifier for the bot. You can get it from bot token. For example, for the bot token 1234567:4TT8bAc8GHUspu3ERYn-KGcvsvGB9u_n4ddy, the bot id is 1234567. scope UriPassportScope Yes -A more compact JSON-serialized object describing the data you want to request public_key String Yes -Public key of the bot nonce String Yes -Bot-specified nonce. Important: For security purposes it should be a cryptographically secure unique identifier of the request. In particular, it should be long enough and it should be generated using a cryptographically secure pseudorandom number generator. You should never accept credentials with the same nonce twice. callback_url String Optional -Supported by some Telegram clients, specifies a callback URL to open once the process is finished or canceled. payload String Optional -Deprecated parameter from Telegram Passport 1.0 that had the same function of the nonce parameter.
    Services that still use a legacy version of the SDK may provide this parameter instead of the nonce.
    In some cases, both the nonce and the payload parameters may be found in a URI, for backwards compatibility: in this case, the nonce parameter should always be used instead of payload.

    Example URI, generated by the Telegram Passport Example page:

    tg://resolve?domain=telegrampassport&bot_id=543260180&scope=%7B%22v%22%3A1%2C%22d%22%3A%5B%7B%22_%22%3A%22pd%22%2C%22n%22%3A1%7D%2C%22ad%22%2C%22pn%22%2C%22em%22%2C%7B%22_%22%3A%5B%7B%22_%22%3A%22pp%22%2C%22s%22%3A1%2C%22t%22%3A1%7D%2C%22ip%22%2C%22dl%22%2C%22ic%22%5D%7D%2C%7B%22_%22%3A%5B%22ub%22%2C%22bs%22%2C%22ra%22%2C%22pr%22%2C%22tr%22%5D%7D%5D%7D&public_key=-----BEGIN%20PUBLIC%20KEY-----%0AMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv6m1zBF8lZOCqcxf8hnj%0AkvHwuWdU8s4rBWaxKXH%2FvDDUklcCS5uhSnmjhxWca9suubaG3lW4HxlCilkeJPVf%0Ajimg5Q8ZqWrR3OoOihEpcG9iJZTOEpsEk7VtEiabgacBG3Quv9JslTrDe95Fn801%0At9d21HXwgMrHeHpWDOn31Dr%2BwoEH%2BkwySUWa6L%2FZbnGwSNP7eeDTE7Amz1RMDk3t%0A8EWGq58u0IQatPcEH09aUQlKzk6MIiALkZ9ILBKCBk6d2WCokKnsdBctovNbxwSx%0AhP1qst1r%2BYc8iPBZozsDC0ZsC5jXCkcODI3OC0tkNtYzN2XKalW5R0DjDRUDmGhT%0AzQIDAQAB%0A-----END%20PUBLIC%20KEY-----%0A&nonce=b8e892dc2e0afe63424d101b964f1256_32858210_708614a4585b84872e&callback_url=https%3A%2F%2Fcore.telegram.org%2Fpassport%2Fexample%3Fpassport_ssid%3Db8e892dc2e0afe63424d101b964f1256_32858210_db259b427f200751ce&payload=b8e892dc2e0afe63424d101b964f1256_32858210_708614a4585b84872e
    -

    UriPassportScope

    +

    UriPassportScope

    This object represents the data to be requested.

    @@ -411,7 +415,7 @@ users.setSecureValueErrors#90c894b5 id:InputUser errors:Vector<SecureValueErr
    -
    UriPassportScopeElement
    +
    UriPassportScopeElement

    This object represents a requested element, should be one of: