From b8aac2acf679dc7be99c96de8e9a0926fefb868b Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 2 Feb 2022 20:48:20 +0000 Subject: [PATCH] Update content of files --- data/core.telegram.org.html | 253 + data/core.telegram.org/api.html | 253 + .../api/account-deletion.html | 129 + .../api/animated-emojis.html | 187 + data/core.telegram.org/api/auth.html | 202 + data/core.telegram.org/api/bots.html | 142 + data/core.telegram.org/api/bots/games.html | 171 + data/core.telegram.org/api/bots/inline.html | 215 + data/core.telegram.org/api/channel.html | 154 + data/core.telegram.org/api/config.html | 422 + data/core.telegram.org/api/datacenter.html | 152 + data/core.telegram.org/api/dice.html | 149 + data/core.telegram.org/api/discussion.html | 151 + data/core.telegram.org/api/drafts.html | 131 + data/core.telegram.org/api/end-to-end.html | 244 + .../core.telegram.org/api/end-to-end/pfs.html | 176 + .../api/end-to-end/seq_no.html | 6 +- .../api/end-to-end/video-calls.html | 215 + .../api/end-to-end/voice-calls.html | 178 + data/core.telegram.org/api/end-to-end_v1.html | 225 + data/core.telegram.org/api/entities.html | 137 + .../api/errors.html | 6 +- .../core.telegram.org/api/file_reference.html | 125 + data/core.telegram.org/api/files.html | 568 + data/core.telegram.org/api/folders.html | 179 + data/core.telegram.org/api/geochats.html | 115 + data/core.telegram.org/api/import.html | 173 + data/core.telegram.org/api/invoking.html | 154 + data/core.telegram.org/api/layers.html | 2499 +++++ data/core.telegram.org/api/live-location.html | 178 + data/core.telegram.org/api/mentions.html | 152 + data/core.telegram.org/api/min.html | 142 + .../api/obtaining_api_id.html | 140 + data/core.telegram.org/api/offsets.html | 170 + .../api/optimisation.html | 6 +- data/core.telegram.org/api/passport.html | 674 ++ data/core.telegram.org/api/pattern.html | 122 + data/core.telegram.org/api/payments.html | 366 + data/core.telegram.org/api/pfs.html | 138 + data/core.telegram.org/api/pin.html | 149 + data/core.telegram.org/api/poll.html | 199 + data/core.telegram.org/api/push-updates.html | 1009 ++ data/core.telegram.org/api/qr-login.html | 154 + .../core.telegram.org/api/recent-actions.html | 154 + data/core.telegram.org/api/rights.html | 133 + .../api/scheduled-messages.html | 156 + data/core.telegram.org/api/search.html | 179 + .../api/sponsored-messages.html | 146 + data/core.telegram.org/api/srp.html | 307 + .../api/stats.html | 6 +- .../api/terms.html | 6 +- data/core.telegram.org/api/threads.html | 182 + data/core.telegram.org/api/updates.html | 226 + .../api/url-authorization.html | 160 + data/core.telegram.org/api/web-events.html | 177 + ...hemes-interactive-emoji-read-receipts.html | 115 + data/core.telegram.org/bots/2-0-intro.html | 230 + data/core.telegram.org/bots/api.html | 9488 +++++++++++++++++ data/core.telegram.org/bots/faq.html | 243 + data/core.telegram.org/bots/games.html | 185 + data/core.telegram.org/bots/inline.html | 182 + data/core.telegram.org/bots/samples.html | 249 + .../bots/samples/hellobot.html | 287 + data/core.telegram.org/bots/self-signed.html | 161 + data/core.telegram.org/bots/webhooks.html | 827 ++ data/core.telegram.org/cdn.html | 210 + data/core.telegram.org/cdn/faq_ir.html | 142 + data/core.telegram.org/cdn/faq_ir/durov.html | 133 + .../constructor/account.authorizationForm | 6 +- .../constructor/account.autoDownloadSettings | 157 + .../constructor/account.chatThemes | 155 + .../constructor/account.chatThemesNotModified | 132 + .../constructor/account.contentSettings | 157 + .../constructor/account.password | 213 + .../constructor/account.passwordInputSettings | 176 + .../constructor/account.passwordSettings | 161 + .../constructor/account.privacyRules | 157 + .../account.resetPasswordFailedWait | 147 + .../constructor/account.resetPasswordOk | 132 + .../account.resetPasswordRequestedWait | 147 + .../constructor/account.sentChangePhoneCode | 161 + .../constructor/account.sentEmailCode | 155 + .../constructor/account.takeout | 147 + .../constructor/account.themes | 6 +- .../constructor/account.themesNotModified | 132 + .../constructor/account.tmpPassword | 152 + .../constructor/account.wallPapers | 155 + .../constructor/account.wallPapersNotModified | 132 + .../constructor/account.webAuthorizations | 152 + .../constructor/accountDaysTTL.html | 147 + .../constructor/auth.authorization | 6 +- .../auth.authorizationSignUpRequired | 155 + .../constructor/auth.codeTypeCall | 132 + .../constructor/auth.codeTypeSms | 132 + .../constructor/auth.exportedAuthorization | 152 + .../constructor/auth.loginToken | 155 + .../constructor/auth.loginTokenMigrateTo | 152 + .../constructor/auth.loginTokenSuccess | 147 + .../constructor/auth.passwordRecovery | 152 + .../constructor/auth.sentAppCode | 163 + .../constructor/auth.sentCode | 172 + .../constructor/auth.sentCodeTypeApp | 147 + .../constructor/auth.sentCodeTypeCall | 147 + .../constructor/auth.sentCodeTypeFlashCall | 150 + .../constructor/auth.sentCodeTypeSms | 147 + .../constructor/autoDownloadSettings.html | 187 + .../constructor/bankCardOpenUrl.html | 152 + .../constructor/baseThemeArctic.html | 132 + .../constructor/baseThemeClassic.html | 132 + .../constructor/baseThemeDay.html | 132 + .../constructor/baseThemeNight.html | 132 + .../constructor/baseThemeTinted.html | 132 + .../constructor/boolFalse.html | 132 + .../constructor/boolTrue.html | 132 + .../constructor/botCommand.html | 152 + .../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 | 157 + .../constructor/botInlineMediaResult.html | 186 + .../botInlineMessageMediaAuto.html | 167 + .../botInlineMessageMediaContact.html | 172 + .../constructor/botInlineMessageMediaGeo.html | 175 + .../botInlineMessageMediaInvoice.html | 189 + .../botInlineMessageMediaVenue.html | 182 + .../constructor/botInlineMessageText.html | 170 + .../constructor/botInlineResult.html | 189 + .../constructor/cdnConfig.html | 149 + .../constructor/cdnPublicKey.html | 154 + .../constructor/channel.html | 289 + .../constructor/channelAdminLogEvent.html | 162 + ...channelAdminLogEventActionChangeAbout.html | 152 + ...elAdminLogEventActionChangeLinkedChat.html | 152 + ...nnelAdminLogEventActionChangeLocation.html | 152 + ...channelAdminLogEventActionChangePhoto.html | 152 + ...elAdminLogEventActionChangeStickerSet.html | 152 + ...channelAdminLogEventActionChangeTitle.html | 152 + ...nnelAdminLogEventActionChangeUsername.html | 152 + ...dminLogEventActionDefaultBannedRights.html | 155 + ...annelAdminLogEventActionDeleteMessage.html | 6 +- ...elAdminLogEventActionDiscardGroupCall.html | 147 + ...channelAdminLogEventActionEditMessage.html | 152 + ...minLogEventActionExportedInviteDelete.html | 147 + ...AdminLogEventActionExportedInviteEdit.html | 152 + ...minLogEventActionExportedInviteRevoke.html | 147 + ...lAdminLogEventActionParticipantInvite.html | 147 + ...LogEventActionParticipantJoinByInvite.html | 150 + ...elAdminLogEventActionParticipantLeave.html | 132 + ...nelAdminLogEventActionParticipantMute.html | 6 +- ...nLogEventActionParticipantToggleAdmin.html | 6 +- ...minLogEventActionParticipantToggleBan.html | 155 + ...lAdminLogEventActionParticipantUnmute.html | 147 + ...lAdminLogEventActionParticipantVolume.html | 147 + ...nnelAdminLogEventActionStartGroupCall.html | 147 + .../channelAdminLogEventActionStopPoll.html | 147 + ...nLogEventActionToggleGroupCallSetting.html | 147 + ...annelAdminLogEventActionToggleInvites.html | 147 + ...nLogEventActionTogglePreHistoryHidden.html | 150 + ...elAdminLogEventActionToggleSignatures.html | 147 + ...nnelAdminLogEventActionToggleSlowMode.html | 155 + .../channelAdminLogEventsFilter.html | 266 + .../constructor/channelForbidden.html | 177 + .../constructor/channelFull.html | 363 + .../constructor/channelLocation.html | 152 + .../constructor/channelLocationEmpty.html | 132 + .../constructor/channelMessagesFilter.html | 157 + .../channelMessagesFilterEmpty.html | 132 + .../constructor/channelParticipant.html | 152 + .../constructor/channelParticipantAdmin.html | 190 + .../constructor/channelParticipantBanned.html | 175 + .../channelParticipantCreator.html | 162 + .../constructor/channelParticipantLeft.html | 147 + .../constructor/channelParticipantSelf.html | 157 + .../channelParticipantsAdmins.html | 132 + .../channelParticipantsBanned.html | 147 + .../constructor/channelParticipantsBots.html | 132 + .../channelParticipantsContacts.html | 147 + .../channelParticipantsKicked.html | 147 + .../channelParticipantsMentions.html | 161 + .../channelParticipantsSearch.html | 147 + .../constructor/channels.adminLogResults | 6 +- .../constructor/channels.channelParticipant | 157 + .../constructor/channels.channelParticipants | 162 + .../channels.channelParticipantsNotModified | 132 + data/core.telegram.org/constructor/chat.html | 227 + .../constructor/chatAdminRights.html | 205 + .../constructor/chatAdminWithInvites.html | 6 +- .../constructor/chatBannedRights.html | 216 + .../constructor/chatEmpty.html | 147 + .../constructor/chatForbidden.html | 152 + .../constructor/chatFull.html | 231 + .../constructor/chatInviteAlready.html | 147 + .../constructor/chatInviteExported.html | 192 + .../constructor/chatInviteImporter.html | 152 + .../constructor/chatInvitePeek.html | 152 + .../constructor/chatOnlines.html | 147 + .../constructor/chatParticipant.html | 157 + .../constructor/chatParticipantAdmin.html | 157 + .../constructor/chatParticipantCreator.html | 147 + .../constructor/chatParticipants.html | 157 + .../chatParticipantsForbidden.html | 6 +- .../constructor/chatPhoto.html | 170 + .../constructor/chatPhotoEmpty.html | 132 + .../constructor/chatTheme.html | 157 + .../constructor/codeSettings.html | 166 + .../core.telegram.org/constructor/config.html | 420 + .../constructor/contact.html | 152 + .../constructor/contactStatus.html | 152 + .../constructor/contacts.blocked | 157 + .../constructor/contacts.blockedSlice | 162 + .../constructor/contacts.contacts | 157 + .../constructor/contacts.importedContacts | 165 + .../constructor/contacts.resolvedPeer | 157 + .../constructor/contacts.topPeersDisabled | 132 + .../constructor/contacts.topPeersNotModified | 132 + .../constructor/dataJSON.html | 147 + .../constructor/dcOption.html | 197 + .../constructor/decryptedMessage.html | 217 + .../decryptedMessageActionAbortKey.html | 148 + .../decryptedMessageActionAcceptKey.html | 160 + .../decryptedMessageActionCommitKey.html | 155 + .../decryptedMessageActionDeleteMessages.html | 148 + .../decryptedMessageActionFlushHistory.html | 133 + .../decryptedMessageActionNoop.html | 133 + .../decryptedMessageActionNotifyLayer.html | 151 + .../decryptedMessageActionReadMessages.html | 148 + .../decryptedMessageActionRequestKey.html | 6 +- .../decryptedMessageActionResend.html | 155 + ...ryptedMessageActionScreenshotMessages.html | 148 + .../decryptedMessageActionSetMessageTTL.html | 149 + .../decryptedMessageActionTyping.html | 148 + .../constructor/decryptedMessageLayer.html | 173 + .../decryptedMessageMediaAudio.html | 174 + .../decryptedMessageMediaContact.html | 163 + .../decryptedMessageMediaDocument.html | 191 + .../decryptedMessageMediaEmpty.html | 133 + ...decryptedMessageMediaExternalDocument.html | 183 + .../decryptedMessageMediaGeoPoint.html | 153 + .../decryptedMessageMediaPhoto.html | 191 + .../decryptedMessageMediaVenue.html | 173 + .../decryptedMessageMediaVideo.html | 207 + .../decryptedMessageMediaWebPage.html | 148 + .../constructor/decryptedMessageService.html | 156 + .../constructor/dialogFilterSuggested.html | 155 + .../constructor/dialogFolder.html | 187 + .../constructor/dialogPeer.html | 6 +- .../constructor/dialogPeerFolder.html | 150 + .../constructor/disabledFeature.html | 163 + .../constructor/document.html | 200 + .../documentAttributeAnimated.html | 132 + .../constructor/documentAttributeAudio.html | 172 + .../documentAttributeFilename.html | 147 + .../documentAttributeHasStickers.html | 132 + .../documentAttributeImageSize.html | 152 + .../constructor/documentAttributeSticker.html | 167 + .../constructor/documentAttributeVideo.html | 172 + .../constructor/documentEmpty.html | 147 + .../constructor/draftMessage.html | 177 + .../constructor/draftMessageEmpty.html | 152 + .../constructor/emojiKeyword.html | 152 + .../constructor/emojiKeywordDeleted.html | 6 +- .../constructor/emojiKeywordsDifference.html | 162 + .../constructor/emojiURL.html | 147 + .../constructor/encryptedChat.html | 177 + .../constructor/encryptedChatDiscarded.html | 157 + .../constructor/encryptedChatEmpty.html | 147 + .../constructor/encryptedChatRequested.html | 185 + .../constructor/encryptedChatWaiting.html | 167 + .../constructor/encryptedFile.html | 167 + .../constructor/encryptedFileEmpty.html | 132 + .../constructor/encryptedMessage.html | 170 + .../constructor/encryptedMessageService.html | 6 +- data/core.telegram.org/constructor/error.html | 152 + .../constructor/exportedMessageLink.html | 152 + .../constructor/fileHash.html | 171 + .../constructor/fileLocation.html | 182 + .../constructor/fileLocationUnavailable.html | 179 + .../core.telegram.org/constructor/folder.html | 177 + .../constructor/folderPeer.html | 155 + data/core.telegram.org/constructor/game.html | 182 + .../constructor/geoPoint.html | 167 + .../constructor/geoPointEmpty.html | 132 + .../constructor/globalPrivacySettings.html | 152 + .../constructor/groupCall.html | 230 + .../constructor/groupCallDiscarded.html | 157 + .../constructor/groupCallParticipant.html | 247 + .../groupCallParticipantVideo.html | 167 + .../groupCallParticipantVideoSourceGroup.html | 152 + .../constructor/help.appUpdate | 190 + .../constructor/help.countriesList | 155 + .../constructor/help.countriesListNotModified | 132 + .../constructor/help.country | 172 + .../constructor/help.countryCode | 6 +- .../constructor/help.deepLinkInfo | 165 + .../constructor/help.deepLinkInfoEmpty | 132 + .../constructor/help.inviteText | 147 + .../constructor/help.noAppUpdate | 132 + .../constructor/help.passportConfig | 156 + .../help.passportConfigNotModified | 132 + .../constructor/help.promoData | 182 + .../constructor/help.promoDataEmpty | 147 + .../constructor/help.recentMeUrls | 157 + .../constructor/help.support | 6 +- .../constructor/help.supportName | 147 + .../constructor/help.termsOfService | 175 + .../constructor/help.termsOfServiceUpdate | 6 +- .../help.termsOfServiceUpdateEmpty | 150 + .../constructor/help.userInfo | 165 + .../constructor/help.userInfoEmpty | 132 + .../constructor/highScore.html | 6 +- .../constructor/importedContact.html | 155 + .../inlineQueryPeerTypeBroadcast.html | 135 + .../constructor/inlineQueryPeerTypeChat.html | 135 + .../inlineQueryPeerTypeMegagroup.html | 135 + .../constructor/inlineQueryPeerTypePM.html | 132 + .../inlineQueryPeerTypeSameBotPM.html | 132 + .../constructor/inputAppEvent.html | 162 + .../inputBotInlineMessageGame.html | 152 + .../constructor/inputBotInlineMessageID.html | 157 + .../inputBotInlineMessageID64.html | 162 + .../inputBotInlineMessageMediaAuto.html | 165 + .../inputBotInlineMessageMediaContact.html | 172 + .../inputBotInlineMessageMediaGeo.html | 175 + .../inputBotInlineMessageMediaInvoice.html | 187 + .../inputBotInlineMessageMediaVenue.html | 182 + .../inputBotInlineMessageText.html | 170 + .../constructor/inputBotInlineResult.html | 6 +- .../inputBotInlineResultDocument.html | 179 + .../constructor/inputBotInlineResultGame.html | 157 + .../inputBotInlineResultPhoto.html | 164 + .../constructor/inputChannel.html | 155 + .../constructor/inputChannelEmpty.html | 132 + .../constructor/inputChannelFromMessage.html | 160 + .../constructor/inputChatPhoto.html | 147 + .../constructor/inputChatPhotoEmpty.html | 132 + .../constructor/inputChatUploadedPhoto.html | 165 + .../constructor/inputCheckPasswordEmpty.html | 6 +- .../constructor/inputCheckPasswordSRP.html | 160 + .../constructor/inputClientProxy.html | 154 + .../constructor/inputDialogPeer.html | 147 + .../constructor/inputDialogPeerFolder.html | 150 + .../constructor/inputDocument.html | 162 + .../constructor/inputDocumentEmpty.html | 132 + .../constructor/inputEncryptedChat.html | 159 + .../constructor/inputEncryptedFile.html | 155 + .../inputEncryptedFileBigUploaded.html | 160 + .../inputEncryptedFileLocation.html | 155 + .../inputEncryptedFileUploaded.html | 162 + .../constructor/inputFile.html | 165 + .../constructor/inputFileBig.html | 160 + .../constructor/inputFileLocation.html | 165 + .../constructor/inputFolderPeer.html | 155 + .../constructor/inputGameID.html | 155 + .../constructor/inputGameShortName.html | 152 + .../constructor/inputGeoPoint.html | 162 + .../constructor/inputGeoPointEmpty.html | 132 + .../constructor/inputGroupCall.html | 152 + .../constructor/inputGroupCallStream.html | 172 + .../inputKeyboardButtonUrlAuth.html | 176 + .../constructor/inputMediaContact.html | 162 + .../constructor/inputMediaDocument.html | 162 + .../inputMediaDocumentExternal.html | 157 + .../constructor/inputMediaEmpty.html | 132 + .../constructor/inputMediaGeoPoint.html | 147 + .../constructor/inputMediaInvoice.html | 189 + .../constructor/inputMediaPhoto.html | 157 + .../constructor/inputMediaPhotoExternal.html | 157 + .../constructor/inputMediaPoll.html | 170 + .../inputMediaUploadedDocument.html | 190 + .../constructor/inputMediaUploadedPhoto.html | 165 + .../inputMediaUploadedThumbDocument.html | 6 +- .../constructor/inputMediaVenue.html | 172 + .../inputMessageCallbackQuery.html | 6 +- .../constructor/inputMessageID.html | 147 + .../constructor/inputMessagePinned.html | 132 + .../constructor/inputMessageReplyTo.html | 147 + .../inputMessagesFilterChatPhotos.html | 132 + .../inputMessagesFilterContacts.html | 132 + .../inputMessagesFilterDocument.html | 132 + .../constructor/inputMessagesFilterEmpty.html | 132 + .../constructor/inputMessagesFilterGeo.html | 132 + .../constructor/inputMessagesFilterMusic.html | 132 + .../inputMessagesFilterMyMentions.html | 135 + .../inputMessagesFilterPhoneCalls.html | 152 + .../inputMessagesFilterPhotoVideo.html | 132 + .../inputMessagesFilterPhotos.html | 132 + .../inputMessagesFilterPinned.html | 132 + .../inputMessagesFilterRoundVideo.html | 132 + .../inputMessagesFilterRoundVoice.html | 132 + .../constructor/inputMessagesFilterUrl.html | 132 + .../constructor/inputMessagesFilterVideo.html | 132 + .../constructor/inputMessagesFilterVoice.html | 132 + .../constructor/inputNotifyBroadcasts.html | 135 + .../constructor/inputNotifyChats.html | 6 +- .../constructor/inputNotifyPeer.html | 147 + .../constructor/inputNotifyUsers.html | 132 + .../constructor/inputPaymentCredentials.html | 157 + .../inputPaymentCredentialsApplePay.html | 147 + .../inputPaymentCredentialsGooglePay.html | 6 +- .../inputPaymentCredentialsSaved.html | 152 + .../constructor/inputPeerChannel.html | 6 +- .../inputPeerChannelFromMessage.html | 160 + .../constructor/inputPeerChat.html | 147 + .../constructor/inputPeerEmpty.html | 132 + .../constructor/inputPeerNotifySettings.html | 167 + .../inputPeerPhotoFileLocation.html | 162 + .../constructor/inputPeerSelf.html | 132 + .../constructor/inputPeerUser.html | 6 +- .../constructor/inputPeerUserFromMessage.html | 160 + .../constructor/inputPhoneCall.html | 152 + .../constructor/inputPhoneContact.html | 166 + .../constructor/inputPhoto.html | 162 + .../constructor/inputPhotoEmpty.html | 132 + .../constructor/inputPhotoFileLocation.html | 171 + .../inputPhotoLegacyFileLocation.html | 172 + .../inputPrivacyKeyAddedByPhone.html | 132 + .../inputPrivacyKeyChatInvite.html | 132 + .../constructor/inputPrivacyKeyForwards.html | 132 + .../constructor/inputPrivacyKeyPhoneCall.html | 132 + .../inputPrivacyKeyPhoneNumber.html | 132 + .../constructor/inputPrivacyKeyPhoneP2P.html | 132 + .../inputPrivacyKeyProfilePhoto.html | 132 + .../inputPrivacyKeyStatusTimestamp.html | 132 + .../inputPrivacyValueAllowAll.html | 132 + .../inputPrivacyValueAllowContacts.html | 132 + .../inputPrivacyValueAllowUsers.html | 147 + .../inputPrivacyValueDisallowAll.html | 132 + ...tPrivacyValueDisallowChatParticipants.html | 147 + .../inputPrivacyValueDisallowContacts.html | 132 + .../inputPrivacyValueDisallowUsers.html | 147 + .../inputReportReasonChildAbuse.html | 132 + .../inputReportReasonCopyright.html | 132 + .../constructor/inputReportReasonFake.html | 132 + .../inputReportReasonPornography.html | 132 + .../constructor/inputReportReasonSpam.html | 132 + .../inputReportReasonViolence.html | 132 + .../constructor/inputSecureFileLocation.html | 6 +- .../constructor/inputSecureFileUploaded.html | 169 + .../constructor/inputSecureValue.html | 190 + .../constructor/inputSingleMedia.html | 174 + .../inputStickerSetAnimatedEmoji.html | 6 +- ...nputStickerSetAnimatedEmojiAnimations.html | 6 +- .../constructor/inputStickerSetID.html | 152 + .../constructor/inputStickerSetItem.html | 162 + .../constructor/inputStickerSetShortName.html | 147 + .../constructor/inputStickerSetThumb.html | 155 + .../inputStickeredMediaDocument.html | 147 + .../constructor/inputStickeredMediaPhoto.html | 147 + .../constructor/inputTakeoutFileLocation.html | 132 + .../constructor/inputTheme.html | 152 + .../constructor/inputThemeSettings.html | 182 + .../constructor/inputThemeSlug.html | 147 + .../constructor/inputUser.html | 155 + .../constructor/inputUserEmpty.html | 6 +- .../constructor/inputUserFromMessage.html | 160 + .../constructor/inputUserSelf.html | 132 + .../constructor/inputWallPaperSlug.html | 147 + .../constructor/inputWebDocument.html | 165 + .../inputWebFileGeoPointLocation.html | 172 + .../constructor/inputWebFileLocation.html | 152 + .../constructor/invoice.html | 6 +- .../constructor/jsonArray.html} | 26 +- .../constructor/jsonBool.html | 147 + .../constructor/jsonNull.html | 132 + .../constructor/jsonNumber.html | 147 + .../constructor/jsonObjectValue.html | 152 + .../constructor/keyboardButton.html | 147 + .../constructor/keyboardButtonBuy.html | 147 + .../constructor/keyboardButtonCallback.html | 167 + .../constructor/keyboardButtonGame.html | 147 + .../keyboardButtonRequestGeoLocation.html | 147 + .../keyboardButtonRequestPhone.html | 147 + .../keyboardButtonRequestPoll.html | 157 + .../constructor/keyboardButtonRow.html | 147 + .../keyboardButtonSwitchInline.html | 162 + .../constructor/keyboardButtonUrlAuth.html | 179 + .../constructor/labeledPrice.html | 154 + .../constructor/langPackDifference.html | 162 + .../constructor/langPackLanguage.html | 202 + .../constructor/langPackString.html | 152 + .../constructor/langPackStringDeleted.html | 147 + .../constructor/langPackStringPluralized.html | 182 + .../constructor/maskCoords.html | 169 + .../constructor/message.html | 302 + .../constructor/messageActionBotAllowed.html | 6 +- .../messageActionChannelCreate.html | 147 + .../messageActionChannelMigrateFrom.html | 155 + .../constructor/messageActionChatAddUser.html | 147 + .../constructor/messageActionChatCreate.html | 152 + .../messageActionChatDeletePhoto.html | 132 + .../messageActionChatDeleteUser.html | 147 + .../messageActionChatEditPhoto.html | 6 +- .../messageActionChatEditTitle.html | 147 + .../messageActionChatJoinedByLink.html | 147 + .../messageActionChatMigrateTo.html | 150 + .../messageActionContactSignUp.html | 132 + .../messageActionCustomAction.html | 147 + .../constructor/messageActionEmpty.html | 132 + .../constructor/messageActionGameScore.html | 152 + .../messageActionGeoProximityReached.html | 160 + .../constructor/messageActionGroupCall.html | 157 + .../messageActionHistoryClear.html | 132 + .../messageActionInviteToGroupCall.html | 152 + .../constructor/messageActionPaymentSent.html | 154 + .../messageActionPaymentSentMe.html | 179 + .../constructor/messageActionPhoneCall.html | 167 + .../constructor/messageActionPinMessage.html | 132 + .../messageActionScreenshotTaken.html | 132 + .../messageActionSecureValuesSent.html | 149 + .../messageActionSecureValuesSentMe.html | 6 +- .../messageActionSetChatTheme.html | 147 + .../messageActionSetMessagesTTL.html | 147 + .../constructor/messageEmpty.html | 157 + .../constructor/messageEntityBankCard.html | 152 + .../constructor/messageEntityBlockquote.html | 152 + .../constructor/messageEntityBold.html | 152 + .../constructor/messageEntityBotCommand.html | 152 + .../constructor/messageEntityCashtag.html | 152 + .../constructor/messageEntityCode.html | 152 + .../constructor/messageEntityEmail.html | 152 + .../constructor/messageEntityHashtag.html | 152 + .../constructor/messageEntityItalic.html | 152 + .../constructor/messageEntityMention.html | 155 + .../constructor/messageEntityMentionName.html | 162 + .../constructor/messageEntityPhone.html | 152 + .../constructor/messageEntityPre.html | 157 + .../constructor/messageEntityStrike.html | 152 + .../constructor/messageEntityTextUrl.html | 160 + .../constructor/messageEntityUnderline.html | 152 + .../constructor/messageEntityUrl.html | 155 + .../constructor/messageFwdHeader.html | 195 + .../messageInteractionCounters.html | 157 + .../constructor/messageMediaAudio.html | 147 + .../constructor/messageMediaContact.html | 167 + .../constructor/messageMediaDice.html | 155 + .../constructor/messageMediaDocument.html | 157 + .../constructor/messageMediaEmpty.html} | 22 +- .../constructor/messageMediaGeo.html | 147 + .../constructor/messageMediaGeoLive.html | 170 + .../constructor/messageMediaInvoice.html | 198 + .../constructor/messageMediaPhoto.html | 157 + .../constructor/messageMediaPoll.html | 152 + .../constructor/messageMediaVenue.html | 172 + .../constructor/messageMediaVideo.html | 147 + .../constructor/messageMediaWebPage.html | 147 + .../constructor/messageRange.html | 152 + .../constructor/messageReplies.html | 189 + .../constructor/messageReplyHeader.html | 165 + .../constructor/messageService.html | 6 +- .../constructor/messageUserVote.html | 157 + .../messageUserVoteInputOption.html | 155 + .../constructor/messageUserVoteMultiple.html | 157 + .../constructor/messageViews.html | 165 + .../messages.affectedFoundMessages | 165 + .../constructor/messages.affectedMessages | 155 + .../constructor/messages.allStickers | 155 + .../messages.allStickersNotModified | 6 +- .../constructor/messages.archivedStickers | 152 + .../constructor/messages.botCallbackAnswer | 177 + .../constructor/messages.botResults | 182 + .../constructor/messages.channelMessages | 185 + .../messages.chatAdminsWithInvites | 152 + .../constructor/messages.chatFull | 6 +- .../constructor/messages.chatInviteImporters | 157 + .../constructor/messages.chatsSlice | 155 + .../messages.checkedHistoryImportPeer | 150 + .../constructor/messages.dhConfig | 162 + .../constructor/messages.dhConfigNotModified | 147 + .../constructor/messages.dialogs | 162 + .../constructor/messages.dialogsNotModified | 147 + .../constructor/messages.dialogsSlice | 167 + .../constructor/messages.discussionMessage | 185 + .../constructor/messages.exportedChatInvite | 152 + .../messages.exportedChatInviteReplaced | 157 + .../constructor/messages.exportedChatInvites | 157 + .../constructor/messages.favedStickers | 6 +- .../constructor/messages.featuredStickers | 165 + .../messages.featuredStickersNotModified | 147 + .../constructor/messages.foundStickerSets | 155 + .../messages.foundStickerSetsNotModified | 132 + .../constructor/messages.highScores | 152 + .../constructor/messages.historyImport | 150 + .../constructor/messages.historyImportParsed | 166 + .../constructor/messages.inactiveChats | 157 + .../constructor/messages.messageEditData | 152 + .../constructor/messages.messageViews | 6 +- .../constructor/messages.messages | 6 +- .../constructor/messages.messagesNotModified | 147 + .../constructor/messages.messagesSlice | 185 + .../constructor/messages.peerDialogs | 170 + .../constructor/messages.recentStickers | 165 + .../messages.recentStickersNotModified | 6 +- .../constructor/messages.savedGifs | 155 + .../constructor/messages.savedGifsNotModified | 132 + .../constructor/messages.sentEncryptedFile | 152 + .../constructor/messages.sentEncryptedMessage | 147 + .../constructor/messages.sentMessageLink | 167 + .../constructor/messages.sponsoredMessages | 157 + .../constructor/messages.statedMessageLink | 172 + .../constructor/messages.statedMessagesLinks | 172 + .../constructor/messages.stickerSet | 157 + .../messages.stickerSetInstallResultArchive | 6 +- .../messages.stickerSetInstallResultSuccess | 132 + .../constructor/messages.stickers | 155 + .../constructor/messages.stickersNotModified | 6 +- .../constructor/messages.votesList | 170 + .../constructor/notifyChats.html | 132 + .../constructor/notifyPeer.html | 147 + .../constructor/notifyUsers.html | 132 + .../constructor/null.html | 6 +- data/core.telegram.org/constructor/page.html | 190 + .../constructor/pageBlockAnchor.html | 147 + .../constructor/pageBlockAudio.html | 155 + .../constructor/pageBlockAuthorDate.html | 152 + .../constructor/pageBlockBlockquote.html | 152 + .../constructor/pageBlockChannel.html | 147 + .../constructor/pageBlockCollage.html | 152 + .../constructor/pageBlockDetails.html | 162 + .../constructor/pageBlockDivider.html | 132 + .../constructor/pageBlockEmbed.html | 187 + .../constructor/pageBlockEmbedPost.html | 177 + .../constructor/pageBlockFooter.html | 147 + .../constructor/pageBlockHeader.html | 147 + .../constructor/pageBlockKicker.html | 147 + .../constructor/pageBlockList.html | 147 + .../constructor/pageBlockMap.html | 167 + .../constructor/pageBlockOrderedList.html | 147 + .../constructor/pageBlockParagraph.html | 6 +- .../constructor/pageBlockPhoto.html | 167 + .../constructor/pageBlockPullquote.html | 152 + .../constructor/pageBlockSlideshow.html | 152 + .../constructor/pageBlockSubheader.html | 147 + .../constructor/pageBlockTitle.html | 147 + .../constructor/pageBlockUnsupported.html | 132 + .../constructor/pageBlockVideo.html | 167 + .../constructor/pageCaption.html | 152 + .../constructor/pageListItemBlocks.html | 147 + .../constructor/pageListItemText.html | 147 + .../pageListOrderedItemBlocks.html | 152 + .../constructor/pageListOrderedItemText.html | 152 + .../constructor/pageRelatedArticle.html | 182 + .../constructor/pageTableCell.html | 187 + .../constructor/pageTableRow.html | 147 + ...BKDF2HMACSHA512iter100000SHA256ModPow.html | 165 + .../constructor/passwordKdfAlgoUnknown.html | 132 + .../constructor/paymentCharge.html | 152 + .../paymentSavedCredentialsCard.html | 152 + .../payments.ValidatedRequestedInfo | 145 + .../constructor/payments.bankCardData | 152 + .../constructor/payments.paymentForm | 210 + .../constructor/payments.paymentReceipt | 219 + .../constructor/payments.paymentResult | 147 + .../constructor/peerBlocked.html | 152 + .../constructor/peerChannel.html | 147 + .../constructor/peerChat.html | 147 + .../constructor/peerLocated.html | 157 + .../constructor/peerNotifySettings.html | 182 + .../constructor/peerSelfLocated.html | 6 +- .../constructor/peerSettings.html | 197 + .../constructor/phone.exportedGroupCallInvite | 147 + .../constructor/phone.groupCall | 170 + .../constructor/phone.groupParticipants | 175 + .../constructor/phone.joinAsPeers | 157 + .../constructor/phone.phoneCall | 152 + .../constructor/phoneCall.html | 209 + .../constructor/phoneCallAccepted.html | 189 + .../phoneCallDiscardReasonBusy.html | 132 + .../phoneCallDiscardReasonDisconnect.html | 132 + .../phoneCallDiscardReasonHangup.html | 132 + .../phoneCallDiscardReasonMissed.html | 132 + .../constructor/phoneCallEmpty.html | 147 + .../constructor/phoneCallProtocol.html | 179 + .../constructor/phoneCallRequested.html | 189 + .../constructor/phoneCallWaiting.html | 187 + .../constructor/phoneConnection.html | 167 + .../constructor/phoneConnectionWebrtc.html | 187 + data/core.telegram.org/constructor/photo.html | 192 + .../constructor/photoCachedSize.html | 167 + .../constructor/photoEmpty.html | 147 + .../constructor/photoPathSize.html | 6 +- .../constructor/photoSize.html | 167 + .../constructor/photoSizeEmpty.html | 150 + .../constructor/photoSizeProgressive.html | 6 +- .../constructor/photoStrippedSize.html | 159 + .../constructor/photos.photo | 152 + .../constructor/photos.photos | 152 + .../constructor/photos.photosSlice | 157 + data/core.telegram.org/constructor/poll.html | 195 + .../constructor/pollAnswer.html | 6 +- .../constructor/pollAnswerVoters.html | 170 + .../constructor/pollResults.html | 184 + .../constructor/postAddress.html | 172 + .../constructor/privacyKeyAddedByPhone.html | 132 + .../constructor/privacyKeyChatInvite.html | 132 + .../constructor/privacyKeyForwards.html | 132 + .../constructor/privacyKeyPhoneCall.html | 132 + .../constructor/privacyKeyPhoneNumber.html | 6 +- .../constructor/privacyKeyPhoneP2P.html | 132 + .../constructor/privacyKeyProfilePhoto.html | 132 + .../privacyKeyStatusTimestamp.html | 132 + .../constructor/privacyValueAllowAll.html | 132 + .../privacyValueAllowChatParticipants.html | 147 + .../privacyValueAllowContacts.html | 132 + .../constructor/privacyValueAllowUsers.html | 147 + .../constructor/privacyValueDisallowAll.html | 6 +- .../privacyValueDisallowChatParticipants.html | 6 +- .../privacyValueDisallowContacts.html | 132 + .../privacyValueDisallowUsers.html | 147 + .../constructor/receivedNotifyMessage.html | 152 + .../constructor/recentMeUrlChat.html | 152 + .../constructor/recentMeUrlChatInvite.html | 6 +- .../constructor/recentMeUrlStickerSet.html | 6 +- .../constructor/recentMeUrlUnknown.html | 147 + .../constructor/recentMeUrlUser.html | 152 + .../constructor/replyInlineMarkup.html | 6 +- .../constructor/replyKeyboardForceReply.html | 162 + .../constructor/replyKeyboardHide.html | 152 + .../constructor/replyKeyboardMarkup.html | 6 +- .../constructor/restrictionReason.html | 158 + .../constructor/savedPhoneContact.html | 162 + .../secureCredentialsEncrypted.html | 159 + .../constructor/secureData.html | 6 +- .../constructor/secureFile.html | 180 + ...wordKdfAlgoPBKDF2HMACSHA512iter100000.html | 147 + .../securePasswordKdfAlgoSHA512.html | 147 + .../securePasswordKdfAlgoUnknown.html | 132 + .../constructor/securePlainPhone.html | 150 + .../constructor/secureRequiredType.html | 167 + .../constructor/secureRequiredTypeOneOf.html | 147 + .../constructor/secureSecretSettings.html | 157 + .../constructor/secureValue.html | 194 + .../constructor/secureValueError.html | 157 + .../constructor/secureValueErrorData.html | 175 + .../constructor/secureValueErrorFile.html | 168 + .../constructor/secureValueErrorFiles.html | 168 + .../secureValueErrorFrontSide.html | 166 + .../secureValueErrorReverseSide.html | 162 + .../constructor/secureValueErrorSelfie.html | 166 + .../secureValueErrorTranslationFile.html | 6 +- .../secureValueErrorTranslationFiles.html | 178 + .../constructor/secureValueHash.html | 152 + .../constructor/secureValueTypeAddress.html | 132 + .../secureValueTypeBankStatement.html | 132 + .../secureValueTypeDriverLicense.html | 132 + .../constructor/secureValueTypeEmail.html | 132 + .../secureValueTypeIdentityCard.html | 132 + .../secureValueTypeInternalPassport.html | 134 + .../constructor/secureValueTypePassport.html | 132 + .../secureValueTypePassportRegistration.html | 134 + .../secureValueTypePersonalDetails.html | 132 + .../constructor/secureValueTypePhone.html | 132 + .../secureValueTypeRentalAgreement.html | 132 + .../secureValueTypeTemporaryRegistration.html | 132 + .../secureValueTypeUtilityBill.html | 132 + .../sendMessageChooseStickerAction.html | 132 + .../sendMessageEmojiInteraction.html | 160 + .../sendMessageEmojiInteractionSeen.html | 150 + .../sendMessageGamePlayAction.html | 132 + .../sendMessageGeoLocationAction.html | 132 + .../sendMessageHistoryImportAction.html | 147 + .../sendMessageRecordAudioAction.html | 132 + .../sendMessageRecordVideoAction.html | 132 + .../constructor/sendMessageTypingAction.html | 132 + .../sendMessageUploadAudioAction.html | 6 +- .../sendMessageUploadDocumentAction.html | 147 + .../sendMessageUploadPhotoAction.html | 147 + .../sendMessageUploadVideoAction.html | 147 + .../constructor/shippingOption.html | 6 +- .../speakingInGroupCallAction.html | 132 + .../constructor/sponsoredMessage.html | 178 + .../constructor/stats.broadcastStats | 220 + .../constructor/stats.megagroupStats | 230 + .../constructor/stats.messageStats | 147 + .../constructor/statsAbsValueAndPrev.html | 152 + .../constructor/statsDateRangeDays.html | 155 + .../constructor/statsGraph.html | 160 + .../constructor/statsGraphError.html | 150 + .../constructor/statsGroupTopAdmin.html | 165 + .../constructor/statsGroupTopInviter.html | 155 + .../constructor/statsGroupTopPoster.html | 160 + .../constructor/statsPercentValue.html | 156 + .../constructor/statsURL.html | 147 + .../constructor/stickerPack.html | 156 + .../constructor/stickerSet.html | 217 + .../constructor/stickerSetCovered.html | 152 + .../constructor/stickerSetMultiCovered.html | 152 + .../constructor/stickers.suggestedShortName | 147 + .../constructor/storage.fileGif | 132 + .../constructor/storage.fileJpeg | 132 + .../constructor/storage.fileMov | 6 +- .../constructor/storage.fileMp3 | 132 + .../constructor/storage.fileMp4 | 132 + .../constructor/storage.filePartial | 132 + .../constructor/storage.filePdf | 132 + .../constructor/storage.filePng | 6 +- .../constructor/storage.fileUnknown | 132 + .../constructor/storage.fileWebp | 132 + .../constructor/textAnchor.html | 152 + .../constructor/textBold.html | 147 + .../constructor/textConcat.html | 147 + .../constructor/textEmail.html | 152 + .../constructor/textEmpty.html | 132 + .../constructor/textFixed.html | 147 + .../constructor/textImage.html | 157 + .../constructor/textItalic.html | 147 + .../constructor/textMarked.html | 147 + .../constructor/textPhone.html | 152 + .../constructor/textPlain.html | 147 + .../constructor/textStrike.html | 147 + .../constructor/textSubscript.html | 147 + .../constructor/textUnderline.html | 147 + .../constructor/textUrl.html | 157 + data/core.telegram.org/constructor/theme.html | 197 + .../constructor/themeSettings.html | 177 + .../constructor/topPeer.html | 155 + .../topPeerCategoryBotsInline.html | 132 + .../constructor/topPeerCategoryBotsPM.html | 132 + .../constructor/topPeerCategoryChannels.html | 132 + .../topPeerCategoryCorrespondents.html | 132 + .../topPeerCategoryForwardChats.html | 132 + .../topPeerCategoryForwardUsers.html | 132 + .../constructor/topPeerCategoryGroups.html | 132 + .../constructor/topPeerCategoryPeers.html | 157 + .../topPeerCategoryPhoneCalls.html | 132 + data/core.telegram.org/constructor/true.html | 134 + .../constructor/updateBotCallbackQuery.html | 182 + .../constructor/updateBotCommands.html | 159 + .../constructor/updateBotInlineQuery.html | 177 + .../constructor/updateBotInlineSend.html | 172 + .../updateBotPrecheckoutQuery.html | 184 + .../constructor/updateBotShippingQuery.html | 162 + .../constructor/updateBotStopped.html | 165 + .../updateBotWebhookJSONQuery.html | 157 + .../constructor/updateChannel.html | 147 + .../updateChannelAvailableMessages.html | 6 +- .../updateChannelMessageForwards.html | 157 + .../updateChannelMessageViews.html | 157 + .../constructor/updateChannelParticipant.html | 192 + .../constructor/updateChannelUserTyping.html | 172 + .../constructor/updateChannelWebPage.html | 167 + .../constructor/updateChat.html | 6 +- .../updateChatDefaultBannedRights.html} | 41 +- .../constructor/updateChatParticipant.html | 192 + .../constructor/updateChatParticipantAdd.html | 167 + .../updateChatParticipantDelete.html | 157 + .../constructor/updateChatParticipants.html | 147 + .../constructor/updateChatUserTyping.html | 160 + .../constructor/updateConfig.html | 135 + .../constructor/updateContactsReset.html | 132 + .../constructor/updateDcOptions.html | 147 + .../updateDeleteChannelMessages.html | 167 + .../constructor/updateDeleteMessages.html | 6 +- .../updateDeleteScheduledMessages.html | 6 +- .../constructor/updateDialogFilter.html | 160 + .../constructor/updateDialogFilterOrder.html | 150 + .../constructor/updateDialogFilters.html | 135 + .../constructor/updateDialogPinned.html | 165 + .../constructor/updateDialogUnreadMark.html | 157 + .../constructor/updateDraftMessage.html | 155 + .../constructor/updateEditChannelMessage.html | 162 + .../constructor/updateEditMessage.html | 160 + .../updateEncryptedChatTyping.html | 147 + .../updateEncryptedMessagesRead.html | 157 + .../constructor/updateEncryption.html | 152 + .../constructor/updateFavedStickers.html | 135 + .../constructor/updateFolderPeers.html | 162 + .../constructor/updateGeoLiveViewed.html | 152 + .../constructor/updateGroupCall.html | 155 + .../updateGroupCallConnection.html | 157 + .../constructor/updateLangPackTooLong.html | 150 + .../constructor/updateLoginToken.html | 132 + .../constructor/updateMessageID.html | 155 + .../constructor/updateMessagePoll.html | 162 + .../constructor/updateMessagePollVote.html | 165 + .../constructor/updateNewChannelMessage.html | 162 + .../updateNewEncryptedMessage.html | 155 + .../constructor/updateNewMessage.html | 157 + .../updateNewScheduledMessage.html | 150 + .../constructor/updateNewStickerSet.html | 147 + .../constructor/updateNotifySettings.html | 152 + .../constructor/updatePeerBlocked.html | 152 + .../constructor/updatePeerHistoryTTL.html | 157 + .../constructor/updatePeerLocated.html | 147 + .../constructor/updatePeerSettings.html | 6 +- .../constructor/updatePhoneCall.html | 147 + .../updatePhoneCallSignalingData.html | 152 + .../updatePinnedChannelMessages.html | 177 + .../constructor/updatePinnedDialogs.html | 160 + .../constructor/updatePinnedMessages.html | 175 + .../constructor/updatePrivacy.html | 152 + .../constructor/updatePtsChanged.html | 135 + .../updateReadChannelDiscussionOutbox.html | 162 + .../constructor/updateReadChannelInbox.html | 179 + .../constructor/updateReadChannelOutbox.html | 155 + .../updateReadFeaturedStickers.html | 132 + .../constructor/updateReadHistoryInbox.html | 182 + .../constructor/updateReadHistoryOutbox.html | 165 + .../updateReadMessagesContents.html | 160 + .../constructor/updateRecentStickers.html | 132 + .../constructor/updateSavedGifs.html | 132 + .../updateServiceNotification.html | 183 + .../constructor/updateShort.html | 152 + .../constructor/updateShortChatMessage.html | 6 +- .../constructor/updateShortMessage.html | 229 + .../constructor/updateShortSentMessage.html | 192 + .../constructor/updateStickerSets.html | 132 + .../constructor/updateTheme.html | 147 + .../constructor/updateUserBlocked.html | 159 + .../constructor/updateUserName.html | 167 + .../constructor/updateUserPhone.html | 152 + .../constructor/updateUserPhoto.html | 165 + .../constructor/updateUserStatus.html | 152 + .../constructor/updateWebPage.html | 160 + .../constructor/updates.channelDifference | 185 + .../updates.channelDifferenceEmpty | 165 + .../updates.channelDifferenceTooLong | 190 + .../constructor/updates.difference | 172 + .../constructor/updates.differenceEmpty | 152 + .../constructor/updates.differenceSlice | 175 + .../constructor/updates.html | 167 + .../constructor/updates.state | 172 + .../constructor/updatesCombined.html | 172 + .../constructor/updatesTooLong.html | 6 +- .../constructor/upload.cdnFile | 149 + .../constructor/upload.cdnFileReuploadNeeded | 149 + .../constructor/upload.fileCdnRedirect | 169 + .../constructor/upload.webFile | 170 + .../constructor/urlAuthResultAccepted.html | 150 + .../constructor/urlAuthResultRequest.html | 165 + .../constructor/userEmpty.html | 147 + .../constructor/userFull.html | 239 + .../constructor/userProfilePhoto.html | 172 + .../constructor/userStatusEmpty.html | 132 + .../constructor/userStatusLastMonth.html | 132 + .../constructor/userStatusLastWeek.html | 132 + .../constructor/userStatusOffline.html | 147 + .../constructor/userStatusOnline.html | 147 + .../constructor/userStatusRecently.html | 132 + .../core.telegram.org/constructor/vector.html | 134 + .../constructor/videoSize.html | 175 + .../constructor/wallPaperNoFile.html | 171 + .../constructor/wallPaperSettings.html | 187 + .../constructor/wallPaperSolid.html | 162 + .../constructor/webAuthorization.html | 189 + .../constructor/webDocument.html | 167 + .../constructor/webDocumentNoProxy.html | 6 +- .../constructor/webPage.html | 6 +- .../constructor/webPageAttributeTheme.html | 157 + .../constructor/webPageEmpty.html | 147 + .../constructor/webPageNotModified.html | 152 + .../constructor/webPagePending.html | 152 + data/core.telegram.org/contest300K.html | 237 + .../import-stickers.html | 6 +- .../method/account.acceptAuthorization | 170 + .../method/account.cancelPasswordEmail | 138 + .../method/account.changePhone | 190 + .../method/account.checkUsername | 167 + .../method/account.confirmPasswordEmail | 6 +- .../method/account.confirmPhone | 180 + .../method/account.createTheme | 186 + .../method/account.declinePasswordReset | 155 + .../method/account.deleteAccount | 170 + .../method/account.deleteSecureValue | 6 +- .../method/account.finishTakeoutSession | 172 + .../method/account.getAccountTTL | 134 + .../method/account.getAllSecureValues | 6 +- .../method/account.getAuthorizationForm | 176 + .../method/account.getAuthorizations | 134 + .../method/account.getAutoDownloadSettings | 134 + .../method/account.getChatThemes | 153 + .../account.getContactSignUpNotification | 135 + .../method/account.getContentSettings | 134 + .../method/account.getGlobalPrivacySettings | 134 + .../method/account.getMultiWallPapers | 148 + .../method/account.getNotifyExceptions | 165 + .../method/account.getNotifySettings | 166 + .../method/account.getPassword | 134 + .../method/account.getPasswordSettings | 170 + .../method/account.getPrivacy | 166 + .../method/account.getSecureValue | 151 + .../core.telegram.org/method/account.getTheme | 181 + .../method/account.getThemes | 158 + .../method/account.getTmpPassword | 176 + .../method/account.getWebAuthorizations | 136 + .../method/account.initTakeoutSession | 204 + .../method/account.installTheme | 165 + .../method/account.installWallPaper | 172 + .../method/account.registerDevice | 217 + .../method/account.reportPeer | 182 + .../method/account.reportProfilePhoto | 165 + .../method/account.resendPasswordEmail | 138 + .../method/account.resetAuthorization | 175 + .../method/account.resetNotifySettings | 135 + .../method/account.resetWallPapers | 135 + .../method/account.resetWebAuthorization | 171 + .../method/account.resetWebAuthorizations | 137 + .../method/account.saveAutoDownloadSettings | 165 + .../method/account.saveSecureValue | 174 + .../method/account.saveTheme | 155 + .../method/account.saveWallPaper | 177 + .../method/account.sendChangePhoneCode | 186 + .../method/account.sendConfirmPhoneCode | 174 + .../method/account.sendVerifyPhoneCode | 173 + .../method/account.setAccountTTL | 167 + .../account.setContactSignUpNotification | 150 + .../method/account.setContentSettings | 172 + .../method/account.setGlobalPrivacySettings | 166 + .../method/account.setPrivacy | 181 + .../method/account.unregisterDevice | 180 + .../method/account.updateDeviceLocked | 153 + .../method/account.updateNotifySettings | 192 + .../method/account.updatePasswordSettings | 207 + .../method/account.updateStatus | 6 +- .../method/account.updateTheme | 196 + .../method/account.updateUsername} | 65 +- .../method/account.uploadTheme | 190 + .../method/account.uploadWallPaper | 182 + .../method/account.verifyEmail | 6 +- .../method/account.verifyPhone | 191 + .../method/auth.acceptLoginToken | 171 + .../method/auth.bindTempAuthKey | 252 + .../method/auth.cancelCode | 6 +- .../method/auth.checkPassword | 180 + data/core.telegram.org/method/auth.checkPhone | 176 + .../method/auth.checkRecoveryPassword | 174 + .../method/auth.dropTempAuthKeys | 151 + .../method/auth.exportLoginToken | 183 + .../method/auth.importAuthorization | 178 + .../method/auth.importBotAuthorization | 205 + .../method/auth.importLoginToken | 187 + data/core.telegram.org/method/auth.logOut | 140 + .../method/auth.recoverPassword | 187 + .../method/auth.requestPasswordRecovery | 159 + .../method/auth.resendCode | 6 +- .../method/auth.resetAuthorizations | 156 + data/core.telegram.org/method/auth.sendCall | 175 + data/core.telegram.org/method/auth.sendCode | 236 + .../core.telegram.org/method/auth.sendInvites | 157 + data/core.telegram.org/method/auth.signIn | 219 + .../method/bots.answerWebhookJSONQuery | 178 + .../method/bots.getBotCommands | 154 + .../method/bots.resetBotCommands | 156 + .../method/bots.sendCustomRequest | 177 + .../method/bots.setBotCommands | 188 + .../method/channels.checkUsername | 190 + .../method/channels.convertToGigagroup | 177 + .../method/channels.createChannel | 232 + .../method/channels.deleteChannel | 200 + .../method/channels.deleteHistory | 180 + .../method/channels.deleteMessages | 190 + .../method/channels.deleteUserHistory | 199 + .../method/channels.editAdmin | 301 + .../method/channels.editBanned | 241 + .../method/channels.editCreator | 225 + .../method/channels.editLocation | 180 + .../method/channels.editPhoto | 221 + .../method/channels.editTitle | 206 + .../method/channels.exportMessageLink | 204 + .../method/channels.getAdminLog | 226 + .../method/channels.getAdminedPublicChannels | 191 + .../method/channels.getChannels | 181 + .../method/channels.getFullChannel | 187 + .../method/channels.getGroupsForDiscussion | 144 + .../method/channels.getInactiveChannels | 134 + .../method/channels.getLeftChannels | 172 + .../method/channels.getMessages | 193 + .../method/channels.getParticipant | 205 + .../method/channels.getParticipants | 203 + .../method/channels.getSponsoredMessages | 154 + .../method/channels.inviteToChannel | 262 + .../method/channels.joinChannel | 227 + .../method/channels.leaveChannel | 201 + .../method/channels.readHistory | 6 +- .../method/channels.readMessageContents | 185 + .../method/channels.reportSpam | 192 + .../method/channels.setDiscussionGroup | 6 +- .../method/channels.setStickers | 6 +- .../method/channels.togglePreHistoryHidden | 202 + .../method/channels.toggleSignatures | 187 + .../method/channels.toggleSlowMode | 190 + .../method/channels.updateUsername | 212 + .../method/channels.viewSponsoredMessage | 177 + .../method/contacts.addContact | 217 + .../method/contacts.blockFromReplies | 178 + .../method/contacts.deleteByPhones | 150 + .../method/contacts.getBlocked | 155 + .../method/contacts.getContactIDs | 151 + .../method/contacts.getContacts | 155 + .../method/contacts.getLocated | 197 + .../method/contacts.getSaved | 150 + .../method/contacts.getStatuses | 133 + .../method/contacts.getTopPeers | 226 + .../method/contacts.importContacts | 154 + .../method/contacts.resetSaved | 135 + .../method/contacts.resetTopPeerRating | 175 + .../method/contacts.resolveUsername | 6 +- data/core.telegram.org/method/contacts.search | 178 + .../method/contacts.toggleTopPeers | 153 + .../method/contacts.unblock | 6 +- .../method/folders.deleteFolder | 175 + .../method/help.acceptTermsOfService | 150 + .../method/help.editUserInfo | 180 + .../method/help.getAppChangelog | 162 + .../method/help.getAppConfig | 142 + .../method/help.getAppUpdate | 150 + .../method/help.getCdnConfig | 154 + data/core.telegram.org/method/help.getConfig | 192 + .../method/help.getCountriesList | 158 + .../method/help.getDeepLinkInfo | 150 + .../method/help.getInviteText | 134 + .../method/help.getNearestDc | 6 +- .../method/help.getPassportConfig | 154 + .../method/help.getPromoData | 135 + .../method/help.getProxyData | 132 + .../method/help.getRecentMeUrls | 149 + data/core.telegram.org/method/help.getSupport | 134 + .../method/help.getSupportName | 151 + .../method/help.getTermsOfServiceUpdate | 135 + .../core.telegram.org/method/help.getUserInfo | 167 + .../method/help.hidePromoData | 150 + .../method/help.saveAppLog | 6 +- .../method/help.setBotUpdatesStatus | 156 + .../method/initConnection.html | 216 + .../method/invokeAfterMsg.html | 154 + .../method/invokeAfterMsgs.html | 154 + .../method/invokeWithLayer.html | 204 + .../method/invokeWithMessagesRange.html | 154 + .../method/invokeWithTakeout.html | 154 + .../method/invokeWithoutUpdates.html | 154 + .../method/langpack.getDifference | 176 + .../method/langpack.getLangPack | 171 + .../method/langpack.getLanguage | 154 + .../method/langpack.getLanguages | 6 +- .../method/langpack.getStrings | 175 + .../method/messages.acceptEncryption | 6 +- .../method/messages.acceptUrlAuth | 179 + .../method/messages.addChatUser | 237 + .../method/messages.checkChatInvite | 178 + .../method/messages.checkHistoryImport | 152 + .../method/messages.checkHistoryImportPeer | 6 +- .../method/messages.clearAllDrafts | 138 + .../method/messages.clearRecentStickers | 6 +- .../method/messages.createChat | 197 + .../method/messages.deleteChat | 6 +- .../method/messages.deleteChatUser | 208 + .../method/messages.deleteExportedChatInvite | 155 + .../method/messages.deleteHistory | 206 + .../method/messages.deleteMessages | 177 + .../method/messages.deletePhoneCallHistory | 154 + .../messages.deleteRevokedExportedChatInvites | 155 + .../method/messages.deleteScheduledMessages | 160 + .../method/messages.discardEncryption | 187 + .../method/messages.editChatAbout | 216 + .../method/messages.editChatAdmin | 195 + .../messages.editChatDefaultBannedRights | 206 + .../method/messages.editChatPhoto | 203 + .../method/messages.editChatTitle | 193 + .../method/messages.editExportedChatInvite | 193 + .../method/messages.editInlineBotMessage | 206 + .../method/messages.editMessage | 338 + .../method/messages.exportChatInvite | 217 + .../method/messages.faveSticker} | 50 +- .../method/messages.forwardMessage | 177 + .../method/messages.getAdminsWithInvites | 149 + .../method/messages.getAllChats | 150 + .../method/messages.getAllDrafts | 143 + .../method/messages.getAllStickers | 153 + .../method/messages.getAttachedStickers | 148 + .../method/messages.getBotCallbackAnswer | 226 + .../method/messages.getChatInviteImporters | 172 + .../method/messages.getChats | 173 + .../method/messages.getCommonChats | 185 + .../method/messages.getDhConfig | 175 + .../method/messages.getDialogFilters | 136 + .../method/messages.getDialogUnreadMarks | 133 + .../method/messages.getDialogs | 213 + .../method/messages.getDiscussionMessage | 183 + .../method/messages.getDocumentByHash | 6 +- .../method/messages.getEmojiKeywords | 149 + .../messages.getEmojiKeywordsDifference | 154 + .../method/messages.getEmojiKeywordsLanguages | 148 + .../method/messages.getEmojiURL | 149 + .../method/messages.getExportedChatInvite | 155 + .../method/messages.getExportedChatInvites | 182 + .../method/messages.getFavedStickers | 153 + .../method/messages.getFeaturedStickers | 153 + .../method/messages.getFullChat | 172 + .../method/messages.getGameHighScores} | 38 +- .../method/messages.getHistory | 232 + .../method/messages.getInlineBotResults | 226 + .../method/messages.getMaskStickers | 153 + .../method/messages.getMessageEditData | 186 + .../method/messages.getMessageReactionsList | 178 + .../messages.getMessageReadParticipants | 173 + .../method/messages.getMessages | 6 +- .../method/messages.getMessagesViews | 199 + .../method/messages.getOldFeaturedStickers | 163 + .../method/messages.getOnlines | 171 + .../method/messages.getPeerSettings | 171 + .../method/messages.getPollResults | 177 + .../method/messages.getPollVotes | 204 + .../method/messages.getRecentLocations | 165 + .../method/messages.getReplies | 217 + .../method/messages.getSavedGifs | 153 + .../method/messages.getScheduledHistory | 182 + .../method/messages.getScheduledMessages | 179 + .../method/messages.getSearchCounters | 173 + .../method/messages.getSplitRanges | 133 + .../method/messages.getStickerSet | 172 + .../method/messages.getStickers | 175 + .../method/messages.getSuggestedDialogFilters | 136 + .../method/messages.getUnreadMentions | 212 + .../method/messages.getWebPage | 177 + .../method/messages.getWebPagePreview | 191 + .../method/messages.hidePeerSettingsBar | 153 + .../method/messages.importChatInvite | 227 + .../method/messages.initHistoryImport | 191 + .../method/messages.installStickerSet | 172 + .../method/messages.markDialogUnread | 160 + .../method/messages.migrateChat | 190 + .../method/messages.readDiscussion | 180 + .../method/messages.readEncryptedHistory | 172 + .../method/messages.readFeaturedStickers | 150 + .../method/messages.readHistory | 6 +- .../method/messages.readMentions | 181 + .../method/messages.readMessageContents | 6 +- .../method/messages.receivedMessages | 148 + .../method/messages.receivedQueue | 170 + .../method/messages.reorderPinnedDialogs | 185 + .../method/messages.reorderStickerSets | 160 + data/core.telegram.org/method/messages.report | 187 + .../method/messages.reportEncryptedSpam | 167 + .../method/messages.reportSpam | 180 + .../method/messages.requestEncryption | 185 + .../method/messages.requestUrlAuth | 174 + .../method/messages.saveDraft | 202 + .../core.telegram.org/method/messages.saveGif | 172 + .../method/messages.saveRecentSticker | 182 + data/core.telegram.org/method/messages.search | 291 + .../method/messages.searchGifs | 177 + .../method/messages.searchGlobal | 226 + .../method/messages.searchStickerSets | 168 + .../method/messages.sendBroadcast | 145 + .../method/messages.sendEncrypted | 210 + .../method/messages.sendEncryptedFile | 215 + .../method/messages.sendEncryptedService | 205 + .../method/messages.sendInlineBotResult | 344 + .../method/messages.sendMedia | 6 +- .../method/messages.sendMessage | 398 + .../method/messages.sendMultiMedia | 263 + .../method/messages.sendReaction | 185 + .../method/messages.sendScheduledMessages | 182 + .../messages.sendScreenshotNotification | 187 + .../method/messages.sendVote | 220 + .../method/messages.setBotCallbackAnswer | 6 +- .../method/messages.setBotPrecheckoutResults | 188 + .../method/messages.setBotShippingResults | 186 + .../method/messages.setEncryptedTyping | 177 + .../method/messages.setGameScore | 218 + .../method/messages.setHistoryTTL | 182 + .../method/messages.setInlineBotResults | 358 + .../method/messages.setInlineGameScore | 198 + .../method/messages.setTyping | 240 + .../method/messages.startBot | 224 + .../method/messages.startHistoryImport | 180 + .../method/messages.toggleDialogPin | 187 + .../method/messages.toggleStickerSets | 170 + .../method/messages.uninstallStickerSet | 6 +- .../method/messages.unpinAllMessages | 153 + .../method/messages.updateDialogFilter | 190 + .../method/messages.updateDialogFiltersOrder | 153 + .../method/messages.updatePinnedMessage | 233 + .../method/messages.uploadEncryptedFile | 155 + .../method/messages.uploadImportedMedia | 181 + .../method/messages.uploadMedia | 264 + .../method/payments.clearSavedInfo | 160 + .../method/payments.getBankCardData | 166 + .../method/payments.getPaymentForm | 181 + .../method/payments.getPaymentReceipt | 171 + .../method/payments.getSavedInfo | 134 + .../method/payments.sendPaymentForm | 206 + .../method/payments.validateRequestedInfo | 186 + .../core.telegram.org/method/phone.acceptCall | 193 + .../method/phone.checkGroupCall | 154 + .../method/phone.confirmCall | 188 + .../method/phone.createGroupCall | 200 + .../method/phone.discardCall | 202 + .../method/phone.discardGroupCall | 155 + .../method/phone.editGroupCallMember | 167 + .../method/phone.editGroupCallParticipant | 225 + .../method/phone.editGroupCallTitle | 160 + .../method/phone.exportGroupCallInvite | 159 + .../method/phone.getCallConfig | 134 + .../method/phone.getGroupCall | 157 + .../method/phone.getGroupCallJoinAs | 6 +- .../method/phone.getGroupParticipants | 6 +- .../method/phone.inviteToGroupCall | 177 + .../method/phone.joinGroupCall | 202 + .../method/phone.joinGroupCallPresentation | 180 + .../method/phone.leaveGroupCallPresentation | 155 + .../method/phone.receivedCall | 172 + .../method/phone.requestCall | 213 + .../method/phone.saveCallDebug | 6 +- .../method/phone.saveDefaultGroupCallJoinAs | 6 +- .../method/phone.sendSignalingData | 155 + .../method/phone.setCallRating | 192 + .../method/phone.startScheduledGroupCall | 155 + .../method/phone.toggleGroupCallRecord | 180 + .../method/phone.toggleGroupCallSettings | 187 + .../phone.toggleGroupCallStartSubscription | 160 + .../method/photos.deletePhotos | 148 + .../method/photos.getUserPhotos | 6 +- .../method/photos.updateProfilePhoto | 196 + .../method/stats.getBroadcastStats | 194 + .../method/stats.getMegagroupStats | 191 + .../method/stats.loadAsyncGraph | 193 + .../method/stickers.addStickerToSet | 187 + .../method/stickers.changeStickerPosition | 177 + .../method/stickers.checkShortName | 172 + .../method/stickers.createStickerSet | 282 + .../method/stickers.removeStickerFromSet | 172 + .../method/stickers.setStickerSetThumb | 182 + .../method/stickers.suggestShortName | 6 +- .../method/updates.getChannelDifference | 247 + .../method/updates.getDifference | 225 + .../core.telegram.org/method/updates.getState | 135 + .../method/upload.getCdnFile | 162 + .../method/upload.getCdnFileHashes | 178 + data/core.telegram.org/method/upload.getFile | 252 + .../method/upload.getFileHashes} | 40 +- .../method/upload.getWebFile | 176 + .../method/upload.reuploadCdnFile | 173 + .../method/upload.saveBigFilePart | 208 + .../method/upload.saveFilePart | 183 + .../method/users.getUsers} | 54 +- .../method/users.setSecureValueErrors | 176 + data/core.telegram.org/methods.html | 2306 ++++ data/core.telegram.org/mtproto.html | 260 + .../mtproto/TL-abstract-types.html | 202 + .../mtproto/TL-combinators.html | 251 + .../mtproto/TL-dependent.html | 236 + data/core.telegram.org/mtproto/TL-formal.html | 319 + .../core.telegram.org/mtproto/TL-optargs.html | 151 + .../mtproto/TL-patterns.html | 129 + .../mtproto/TL-polymorph.html | 170 + data/core.telegram.org/mtproto/TL-tl.html | 308 + data/core.telegram.org/mtproto/TL-types.html | 124 + .../mtproto/auth_key.html | 156 +- .../mtproto/description.html | 238 + .../mtproto/description_v1.html | 205 + .../mtproto/mtproto-transports.html | 280 + .../mtproto/samples-auth_key.html | 748 ++ .../mtproto/security_guidelines.html | 177 + .../mtproto/security_guidelines_v1.html | 175 + data/core.telegram.org/mtproto/serialize.html | 240 + data/core.telegram.org/mtproto_v1.html | 229 + data/core.telegram.org/passport.html | 690 ++ .../passport/encryption.html | 606 ++ data/core.telegram.org/passport/example.html | 585 + .../passport/sdk-android.html | 180 + .../passport/sdk-ios-mac.html | 246 + .../passport/sdk-javascript.html | 258 + .../reproducible-builds.html | 488 + data/core.telegram.org/schema.html | 1800 ++++ .../schema/end-to-end-json.html | 1 + data/core.telegram.org/schema/end-to-end.html | 225 + data/core.telegram.org/schema/json.html | 1 + .../schema/mtproto-json.html | 1 + data/core.telegram.org/schema/mtproto.html | 204 + .../stickers/webm-vp9-encoding.html | 160 + data/core.telegram.org/tdlib.html | 147 + .../tdlib/getting-started.html | 198 + .../tdlib/notification-api.html | 210 + data/core.telegram.org/tdlib/options.html | 501 + data/core.telegram.org/techfaq.html | 333 + data/core.telegram.org/themes.html | 143 + .../type/AccountDaysTTL.html | 6 +- .../type/Audio.html} | 20 +- .../core.telegram.org/type/Authorization.html | 162 + .../type/AutoDownloadSettings.html | 143 + .../type/BankCardOpenUrl.html | 143 + data/core.telegram.org/type/BaseTheme.html | 163 + data/core.telegram.org/type/Bool.html | 718 ++ .../type/BotCommand.html | 6 +- .../type/BotCommandScope.html | 176 + data/core.telegram.org/type/BotInfo.html | 143 + .../type/BotInlineResult.html | 148 + data/core.telegram.org/type/CdnConfig.html | 164 + data/core.telegram.org/type/CdnPublicKey.html | 145 + .../type/ChannelAdminLogEvent.html | 143 + .../type/ChannelAdminLogEventsFilter.html | 143 + .../type/ChannelLocation.html | 148 + .../type/ChannelMessagesFilter.html | 148 + .../type/ChannelParticipant.html | 168 + .../type/ChannelParticipantsFilter.html | 178 + data/core.telegram.org/type/Chat.html | 163 + .../type/ChatAdminRights.html | 146 + .../type/ChatAdminWithInvites.html | 6 +- .../type/ChatBannedRights.html | 146 + data/core.telegram.org/type/ChatFull.html | 148 + .../type/ChatInvite.html | 6 +- .../type/ChatInviteImporter.html | 143 + .../type/ChatOnlines.html | 6 +- .../type/ChatParticipant.html | 153 + .../type/ChatParticipants.html | 148 + data/core.telegram.org/type/ChatPhoto.html | 148 + data/core.telegram.org/type/ChatTheme.html | 143 + data/core.telegram.org/type/CodeSettings.html | 143 + .../type/Config.html | 6 +- data/core.telegram.org/type/Contact.html | 143 + .../core.telegram.org/type/ContactStatus.html | 143 + .../type/DataJSON.html | 6 +- data/core.telegram.org/type/DcOption.html | 143 + .../type/DecryptedDataBlock.html | 128 + .../type/DecryptedMessage.html | 140 + .../type/DecryptedMessageAction.html | 145 + .../type/DecryptedMessageLayer.html | 6 +- .../type/DecryptedMessageMedia.html | 149 + data/core.telegram.org/type/Dialog.html | 148 + data/core.telegram.org/type/DialogFilter.html | 143 + .../type/DialogFilterSuggested.html | 143 + data/core.telegram.org/type/DialogPeer.html | 148 + .../type/DisabledFeature.html | 128 + data/core.telegram.org/type/Document.html | 173 + .../type/DocumentAttribute.html | 173 + data/core.telegram.org/type/DraftMessage.html | 151 + data/core.telegram.org/type/EmojiKeyword.html | 148 + .../type/EmojiKeywordsDifference.html | 167 + .../core.telegram.org/type/EmojiLanguage.html | 143 + data/core.telegram.org/type/EmojiURL.html | 162 + .../core.telegram.org/type/EncryptedChat.html | 187 + .../core.telegram.org/type/EncryptedFile.html | 167 + .../type/EncryptedMessage.html | 148 + .../type/ExportedChatInvite.html | 162 + .../type/ExportedMessageLink.html | 162 + data/core.telegram.org/type/FileHash.html | 143 + data/core.telegram.org/type/FileLocation.html | 128 + data/core.telegram.org/type/Folder.html | 143 + data/core.telegram.org/type/FolderPeer.html | 143 + data/core.telegram.org/type/Game.html | 143 + data/core.telegram.org/type/GeoPoint.html | 148 + .../type/GlobalPrivacySettings.html | 167 + data/core.telegram.org/type/GroupCall.html | 148 + .../type/GroupCallParticipant.html | 143 + .../GroupCallParticipantVideoSourceGroup.html | 143 + data/core.telegram.org/type/HighScore.html | 143 + .../type/ImportedContact.html | 6 +- .../type/InlineBotSwitchPM.html | 143 + .../type/InlineQueryPeerType.html | 163 + .../core.telegram.org/type/InputAppEvent.html | 143 + .../type/InputBotInlineMessage.html | 173 + .../type/InputBotInlineMessageID.html | 148 + data/core.telegram.org/type/InputChannel.html | 153 + .../type/InputChatPhoto.html | 153 + .../type/InputCheckPasswordSRP.html | 151 + .../type/InputClientProxy.html | 145 + .../type/InputDialogPeer.html | 148 + .../core.telegram.org/type/InputDocument.html | 148 + .../type/InputEncryptedChat.html | 143 + .../type/InputEncryptedFile.html | 158 + data/core.telegram.org/type/InputFile.html | 148 + .../type/InputFileLocation.html | 188 + .../type/InputFolderPeer.html | 143 + .../core.telegram.org/type/InputGeoPoint.html | 148 + .../type/InputGroupCall.html} | 26 +- data/core.telegram.org/type/InputMedia.html | 213 + data/core.telegram.org/type/InputMessage.html | 158 + .../type/InputPaymentCredentials.html | 158 + data/core.telegram.org/type/InputPeer.html | 173 + .../type/InputPhoneCall.html | 143 + data/core.telegram.org/type/InputPhoto.html | 148 + .../type/InputPrivacyKey.html | 178 + .../type/InputPrivacyRule.html | 178 + .../type/InputSecureFile.html | 151 + .../type/InputSingleMedia.html | 148 + .../type/InputStickerSet.html | 168 + .../type/InputStickerSetItem.html | 6 +- .../type/InputStickeredMedia.html | 148 + data/core.telegram.org/type/InputTheme.html | 148 + .../type/InputThemeSettings.html | 143 + data/core.telegram.org/type/InputUser.html | 158 + .../type/InputWallPaper.html | 153 + .../type/InputWebDocument.html | 143 + .../type/InputWebFileLocation.html | 148 + data/core.telegram.org/type/Invoice.html | 143 + .../type/JSONObjectValue.html | 143 + data/core.telegram.org/type/JSONValue.html | 187 + .../type/KeyboardButton.html | 193 + .../type/KeyboardButtonRow.html | 143 + data/core.telegram.org/type/LabeledPrice.html | 143 + .../type/LangPackDifference.html | 167 + .../type/LangPackLanguage.html | 162 + .../type/LangPackString.html | 153 + data/core.telegram.org/type/MaskCoords.html | 143 + data/core.telegram.org/type/Message.html | 153 + .../core.telegram.org/type/MessageAction.html | 283 + .../core.telegram.org/type/MessageEntity.html | 233 + .../type/MessageFwdHeader.html | 143 + .../type/MessageInteractionCounters.html | 143 + data/core.telegram.org/type/MessageMedia.html | 232 + data/core.telegram.org/type/MessageRange.html | 143 + .../type/MessageReplies.html | 146 + .../type/MessageReplyHeader.html | 143 + .../type/MessageUserVote.html | 153 + data/core.telegram.org/type/MessageViews.html | 143 + .../type/MessagesFilter.html | 223 + data/core.telegram.org/type/NearestDc.html | 162 + data/core.telegram.org/type/NotifyPeer.html | 158 + data/core.telegram.org/type/Null.html | 143 + data/core.telegram.org/type/PageBlock.html | 283 + .../type/PageCaption.html | 6 +- .../type/PageListOrderedItem.html | 148 + .../type/PageRelatedArticle.html} | 26 +- .../core.telegram.org/type/PageTableCell.html | 143 + data/core.telegram.org/type/PageTableRow.html | 143 + .../type/PasswordKdfAlgo.html | 151 + .../core.telegram.org/type/PaymentCharge.html | 143 + .../type/PaymentRequestedInfo.html | 143 + .../type/PaymentSavedCredentials.html | 143 + .../type/Peer.html | 6 +- data/core.telegram.org/type/PeerBlocked.html | 143 + data/core.telegram.org/type/PeerLocated.html | 148 + .../type/PeerNotifySettings.html | 162 + data/core.telegram.org/type/PeerSettings.html | 162 + data/core.telegram.org/type/PhoneCall.html | 168 + .../type/PhoneCallDiscardReason.html | 158 + .../type/PhoneCallProtocol.html | 143 + .../type/PhoneConnection.html | 148 + data/core.telegram.org/type/Photo.html | 148 + data/core.telegram.org/type/PhotoSize.html | 168 + data/core.telegram.org/type/Poll.html | 143 + data/core.telegram.org/type/PollAnswer.html | 146 + .../type/PollAnswerVoters.html | 143 + data/core.telegram.org/type/PollResults.html | 143 + .../type/PopularContact.html | 143 + data/core.telegram.org/type/PostAddress.html | 143 + data/core.telegram.org/type/PrivacyKey.html | 178 + data/core.telegram.org/type/PrivacyRule.html | 178 + .../type/ReceivedNotifyMessage.html | 143 + data/core.telegram.org/type/RecentMeUrl.html | 163 + data/core.telegram.org/type/ReplyMarkup.html | 158 + data/core.telegram.org/type/ReportReason.html | 178 + .../type/RestrictionReason.html | 143 + data/core.telegram.org/type/RichText.html | 218 + data/core.telegram.org/type/SavedContact.html | 143 + .../type/SecureCredentialsEncrypted.html | 143 + data/core.telegram.org/type/SecureData.html | 146 + .../type/SecurePasswordKdfAlgo.html | 155 + .../type/SecurePlainData.html | 150 + .../type/SecureRequiredType.html | 148 + .../type/SecureSecretSettings.html | 145 + data/core.telegram.org/type/SecureValue.html | 162 + .../type/SecureValueError.html | 183 + .../type/SecureValueHash.html | 143 + .../type/SecureValueType.html | 203 + .../type/SendMessageAction.html | 6 +- .../type/SponsoredMessage.html | 143 + .../type/StatsAbsValueAndPrev.html | 143 + .../type/StatsDateRangeDays.html | 143 + .../type/StatsGroupTopAdmin.html | 146 + .../type/StatsGroupTopInviter.html | 146 + .../type/StatsGroupTopPoster.html | 146 + .../type/StatsPercentValue.html | 143 + .../type/StatsURL.html | 6 +- data/core.telegram.org/type/StickerPack.html | 143 + data/core.telegram.org/type/StickerSet.html | 143 + .../type/StickerSetCovered.html | 148 + data/core.telegram.org/type/Theme.html | 172 + .../core.telegram.org/type/ThemeSettings.html | 143 + .../type/TopPeer.html | 6 +- .../type/TopPeerCategory.html | 178 + .../type/TopPeerCategoryPeers.html | 143 + data/core.telegram.org/type/True.html | 145 + data/core.telegram.org/type/Update.html | 603 ++ .../type/Updates.html | 6 +- .../core.telegram.org/type/UrlAuthResult.html | 177 + data/core.telegram.org/type/User.html | 177 + data/core.telegram.org/type/UserFull.html | 162 + .../type/UserProfilePhoto.html | 148 + data/core.telegram.org/type/UserStatus.html | 168 + data/core.telegram.org/type/Vector t.html | 143 + .../type/VideoSize.html | 6 +- data/core.telegram.org/type/WallPaper.html | 172 + .../type/WallPaperSettings.html | 143 + .../type/WebAuthorization.html | 143 + .../type/WebDocument.html | 6 +- data/core.telegram.org/type/WebPage.html | 177 + .../type/WebPageAttribute.html | 143 + .../type/account.AuthorizationForm | 162 + .../type/account.Authorizations | 162 + .../type/account.AutoDownloadSettings | 162 + .../type/account.ContentSettings | 6 +- data/core.telegram.org/type/account.Password | 162 + .../type/account.PasswordInputSettings | 146 + .../type/account.PasswordSettings | 164 + .../type/account.ResetPasswordResult | 175 + .../type/account.SentChangePhoneCode | 128 + .../type/account.SentEmailCode | 162 + data/core.telegram.org/type/account.Takeout | 162 + data/core.telegram.org/type/account.Themes | 167 + .../type/account.TmpPassword | 162 + .../core.telegram.org/type/account.WallPapers | 167 + .../type/account.WebAuthorizations | 162 + .../core.telegram.org/type/auth.Authorization | 192 + data/core.telegram.org/type/auth.CheckedPhone | 128 + data/core.telegram.org/type/auth.CodeType | 153 + .../type/auth.ExportedAuthorization | 162 + data/core.telegram.org/type/auth.LoginToken | 177 + .../type/auth.PasswordRecovery | 165 + data/core.telegram.org/type/auth.SentCode | 183 + data/core.telegram.org/type/auth.SentCodeType | 158 + data/core.telegram.org/type/bytes.html | 125 + .../type/channels.AdminLogResults | 162 + .../type/channels.ChannelParticipant | 162 + .../type/channels.ChannelParticipants | 167 + data/core.telegram.org/type/contacts.Blocked | 167 + data/core.telegram.org/type/contacts.Contacts | 167 + data/core.telegram.org/type/contacts.Found | 162 + .../type/contacts.ImportedContacts | 6 +- .../type/contacts.ResolvedPeer | 162 + data/core.telegram.org/type/contacts.TopPeers | 172 + data/core.telegram.org/type/double.html | 118 + data/core.telegram.org/type/help.AppUpdate | 167 + .../type/help.Country | 6 +- data/core.telegram.org/type/help.CountryCode | 143 + data/core.telegram.org/type/help.DeepLinkInfo | 167 + data/core.telegram.org/type/help.InviteText | 162 + .../type/help.PassportConfig | 169 + data/core.telegram.org/type/help.PromoData | 167 + data/core.telegram.org/type/help.ProxyData | 130 + data/core.telegram.org/type/help.RecentMeUrls | 162 + data/core.telegram.org/type/help.Support | 162 + data/core.telegram.org/type/help.SupportName | 162 + .../type/help.TermsOfService | 143 + data/core.telegram.org/type/help.UserInfo | 172 + data/core.telegram.org/type/int.html | 118 + data/core.telegram.org/type/long.html | 118 + .../type/messages.AffectedFoundMessages | 162 + .../type/messages.AffectedHistory | 178 + .../type/messages.AffectedMessages | 178 + .../type/messages.AllStickers | 172 + .../type/messages.BotCallbackAnswer | 162 + .../type/messages.BotResults | 162 + .../type/messages.ChatAdminsWithInvites | 162 + .../type/messages.ChatFull | 6 +- .../type/messages.ChatInviteImporters | 162 + data/core.telegram.org/type/messages.Chats | 198 + .../type/messages.CheckedHistoryImportPeer | 165 + data/core.telegram.org/type/messages.DhConfig | 167 + data/core.telegram.org/type/messages.Dialogs | 172 + .../type/messages.DiscussionMessage | 162 + .../type/messages.ExportedChatInvites | 162 + .../type/messages.FeaturedStickers | 172 + .../core.telegram.org/type/messages.FoundGifs | 128 + .../type/messages.FoundStickerSets | 167 + .../type/messages.HighScores | 167 + .../type/messages.HistoryImport | 165 + .../type/messages.HistoryImportParsed | 162 + .../type/messages.InactiveChats | 162 + .../type/messages.MessageEditData | 162 + .../type/messages.MessageViews | 162 + data/core.telegram.org/type/messages.Messages | 229 + .../type/messages.RecentStickers | 167 + .../type/messages.SavedGifs | 6 +- .../type/messages.SearchCounter | 6 +- .../type/messages.SentEncryptedMessage | 177 + .../type/messages.SentMessage | 128 + .../type/messages.SponsoredMessages | 166 + .../type/messages.StatedMessage | 6 +- .../type/messages.StatedMessages | 128 + .../type/messages.StickerSet | 188 + .../type/messages.StickerSetInstallResult | 167 + data/core.telegram.org/type/messages.Stickers | 167 + .../core.telegram.org/type/messages.VotesList | 162 + .../type/payments.BankCardData | 162 + .../type/payments.PaymentForm | 162 + .../type/payments.PaymentReceipt | 162 + .../type/payments.PaymentResult | 167 + .../type/payments.SavedInfo | 6 +- .../type/payments.ValidatedRequestedInfo | 162 + .../type/phone.ExportedGroupCallInvite | 162 + data/core.telegram.org/type/phone.GroupCall | 162 + .../type/phone.GroupParticipants | 6 +- data/core.telegram.org/type/phone.JoinAsPeers | 162 + data/core.telegram.org/type/phone.PhoneCall | 172 + data/core.telegram.org/type/photos.Photo | 167 + data/core.telegram.org/type/photos.Photos | 167 + .../type/stats.BroadcastStats | 162 + .../type/stats.MegagroupStats | 162 + .../core.telegram.org/type/stats.MessageStats | 162 + .../type/stickers.SuggestedShortName | 162 + data/core.telegram.org/type/storage.FileType | 188 + data/core.telegram.org/type/string.html | 126 + .../type/updates.ChannelDifference | 172 + data/core.telegram.org/type/updates.State | 162 + data/core.telegram.org/type/upload.CdnFile | 167 + data/core.telegram.org/type/upload.File | 167 + data/core.telegram.org/type/upload.WebFile | 162 + data/core.telegram.org/video_stickers.html | 115 + data/core.telegram.org/widgets.html | 141 + .../core.telegram.org/widgets/discussion.html | 226 + data/core.telegram.org/widgets/login.html | 404 + data/core.telegram.org/widgets/post.html | 240 + data/core.telegram.org/widgets/share.html | 250 + .../css/bootstrap-extra.css | 3274 ------ .../css/bootstrap.min.css | 10 - .../css/core-widgets.css | 105 - .../css/telegram-extra.css | 246 - data/corefork.telegram.org/css/telegram.css | 4872 --------- .../corefork.telegram.org/getProxyConfig.html | 24 + .../corefork.telegram.org/js/bootstrap.min.js | 11 - data/corefork.telegram.org/js/core-widgets.js | 279 - .../corefork.telegram.org/js/jquery-ui.min.js | 9 - data/corefork.telegram.org/js/jquery.min.js | 4 - data/corefork.telegram.org/js/main.js | 685 -- .../js/telegram-passport2.js | 413 - data/instantview.telegram.org/rules.html | 251 - data/telegram.org.html | 283 + data/telegram.org/api.html | 283 + data/telegram.org/blog.html | 268 + data/telegram.org/blog/backgrounds-2-0.html | 231 + .../blog/contacts-local-groups.html | 272 + data/telegram.org/blog/desktop-compact.html | 213 + data/telegram.org/blog/export-and-more.html | 238 + data/telegram.org/blog/games.html | 264 + .../blog/instant-view-contest-200K.html | 273 + data/telegram.org/blog/instant-view.html | 268 + data/telegram.org/blog/link-preview.html | 217 + data/telegram.org/blog/live-locations.html | 243 + .../live-streams-forwarding-next-channel.html | 285 + data/telegram.org/blog/now-you-see-me.html | 235 + data/telegram.org/blog/passport.html | 233 + .../payments-2-0-scheduled-voice-chats.html | 319 + data/telegram.org/blog/payments.html | 253 + .../blog/replies-mentions-hashtags.html | 238 + .../blog/silent-messages-slow-mode.html | 296 + data/telegram.org/blog/stickers.html | 225 + data/telegram.org/blog/telegram-x.html | 262 + .../blog/usernames-and-secret-chats-v2.html | 222 + .../blog/verifiable-apps-and-more.html | 392 + data/telegram.org/blog/video-1000.html | 354 + data/telegram.org/blog/video-calls.html | 234 + .../blog/video-messages-and-telescope.html | 247 + .../blog/voice-chats-on-steroids.html | 275 + data/telegram.org/evolution.html | 1801 ++++ data/telegram.org/teststore.html | 283 + data/telegram.org/verify.html | 151 + 1751 files changed, 287472 insertions(+), 10816 deletions(-) create mode 100644 data/core.telegram.org.html create mode 100644 data/core.telegram.org/api.html create mode 100644 data/core.telegram.org/api/account-deletion.html create mode 100644 data/core.telegram.org/api/animated-emojis.html create mode 100644 data/core.telegram.org/api/auth.html create mode 100644 data/core.telegram.org/api/bots.html create mode 100644 data/core.telegram.org/api/bots/games.html create mode 100644 data/core.telegram.org/api/bots/inline.html create mode 100644 data/core.telegram.org/api/channel.html create mode 100644 data/core.telegram.org/api/config.html create mode 100644 data/core.telegram.org/api/datacenter.html create mode 100644 data/core.telegram.org/api/dice.html create mode 100644 data/core.telegram.org/api/discussion.html create mode 100644 data/core.telegram.org/api/drafts.html create mode 100644 data/core.telegram.org/api/end-to-end.html create mode 100644 data/core.telegram.org/api/end-to-end/pfs.html rename data/{corefork.telegram.org => core.telegram.org}/api/end-to-end/seq_no.html (98%) create mode 100644 data/core.telegram.org/api/end-to-end/video-calls.html create mode 100644 data/core.telegram.org/api/end-to-end/voice-calls.html create mode 100644 data/core.telegram.org/api/end-to-end_v1.html create mode 100644 data/core.telegram.org/api/entities.html rename data/{corefork.telegram.org => core.telegram.org}/api/errors.html (98%) create mode 100644 data/core.telegram.org/api/file_reference.html create mode 100644 data/core.telegram.org/api/files.html create mode 100644 data/core.telegram.org/api/folders.html create mode 100644 data/core.telegram.org/api/geochats.html create mode 100644 data/core.telegram.org/api/import.html create mode 100644 data/core.telegram.org/api/invoking.html create mode 100644 data/core.telegram.org/api/layers.html create mode 100644 data/core.telegram.org/api/live-location.html create mode 100644 data/core.telegram.org/api/mentions.html create mode 100644 data/core.telegram.org/api/min.html create mode 100644 data/core.telegram.org/api/obtaining_api_id.html create mode 100644 data/core.telegram.org/api/offsets.html rename data/{corefork.telegram.org => core.telegram.org}/api/optimisation.html (98%) create mode 100644 data/core.telegram.org/api/passport.html create mode 100644 data/core.telegram.org/api/pattern.html create mode 100644 data/core.telegram.org/api/payments.html create mode 100644 data/core.telegram.org/api/pfs.html create mode 100644 data/core.telegram.org/api/pin.html create mode 100644 data/core.telegram.org/api/poll.html create mode 100644 data/core.telegram.org/api/push-updates.html create mode 100644 data/core.telegram.org/api/qr-login.html create mode 100644 data/core.telegram.org/api/recent-actions.html create mode 100644 data/core.telegram.org/api/rights.html create mode 100644 data/core.telegram.org/api/scheduled-messages.html create mode 100644 data/core.telegram.org/api/search.html create mode 100644 data/core.telegram.org/api/sponsored-messages.html create mode 100644 data/core.telegram.org/api/srp.html rename data/{corefork.telegram.org => core.telegram.org}/api/stats.html (99%) rename data/{corefork.telegram.org => core.telegram.org}/api/terms.html (98%) create mode 100644 data/core.telegram.org/api/threads.html create mode 100644 data/core.telegram.org/api/updates.html create mode 100644 data/core.telegram.org/api/url-authorization.html create mode 100644 data/core.telegram.org/api/web-events.html create mode 100644 data/core.telegram.org/blog/chat-themes-interactive-emoji-read-receipts.html create mode 100644 data/core.telegram.org/bots/2-0-intro.html create mode 100644 data/core.telegram.org/bots/api.html create mode 100644 data/core.telegram.org/bots/faq.html create mode 100644 data/core.telegram.org/bots/games.html create mode 100644 data/core.telegram.org/bots/inline.html create mode 100644 data/core.telegram.org/bots/samples.html create mode 100644 data/core.telegram.org/bots/samples/hellobot.html create mode 100644 data/core.telegram.org/bots/self-signed.html create mode 100644 data/core.telegram.org/bots/webhooks.html create mode 100644 data/core.telegram.org/cdn.html create mode 100644 data/core.telegram.org/cdn/faq_ir.html create mode 100644 data/core.telegram.org/cdn/faq_ir/durov.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/account.authorizationForm (98%) create mode 100644 data/core.telegram.org/constructor/account.autoDownloadSettings 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.contentSettings create mode 100644 data/core.telegram.org/constructor/account.password create mode 100644 data/core.telegram.org/constructor/account.passwordInputSettings create mode 100644 data/core.telegram.org/constructor/account.passwordSettings create mode 100644 data/core.telegram.org/constructor/account.privacyRules 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/account.sentChangePhoneCode create mode 100644 data/core.telegram.org/constructor/account.sentEmailCode create mode 100644 data/core.telegram.org/constructor/account.takeout rename data/{corefork.telegram.org => core.telegram.org}/constructor/account.themes (98%) create mode 100644 data/core.telegram.org/constructor/account.themesNotModified create mode 100644 data/core.telegram.org/constructor/account.tmpPassword create mode 100644 data/core.telegram.org/constructor/account.wallPapers create mode 100644 data/core.telegram.org/constructor/account.wallPapersNotModified create mode 100644 data/core.telegram.org/constructor/account.webAuthorizations create mode 100644 data/core.telegram.org/constructor/accountDaysTTL.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/auth.authorization (98%) create mode 100644 data/core.telegram.org/constructor/auth.authorizationSignUpRequired create mode 100644 data/core.telegram.org/constructor/auth.codeTypeCall create mode 100644 data/core.telegram.org/constructor/auth.codeTypeSms create mode 100644 data/core.telegram.org/constructor/auth.exportedAuthorization create mode 100644 data/core.telegram.org/constructor/auth.loginToken create mode 100644 data/core.telegram.org/constructor/auth.loginTokenMigrateTo create mode 100644 data/core.telegram.org/constructor/auth.loginTokenSuccess create mode 100644 data/core.telegram.org/constructor/auth.passwordRecovery create mode 100644 data/core.telegram.org/constructor/auth.sentAppCode create mode 100644 data/core.telegram.org/constructor/auth.sentCode create mode 100644 data/core.telegram.org/constructor/auth.sentCodeTypeApp create mode 100644 data/core.telegram.org/constructor/auth.sentCodeTypeCall create mode 100644 data/core.telegram.org/constructor/auth.sentCodeTypeFlashCall create mode 100644 data/core.telegram.org/constructor/auth.sentCodeTypeSms create mode 100644 data/core.telegram.org/constructor/autoDownloadSettings.html create mode 100644 data/core.telegram.org/constructor/bankCardOpenUrl.html create mode 100644 data/core.telegram.org/constructor/baseThemeArctic.html create mode 100644 data/core.telegram.org/constructor/baseThemeClassic.html create mode 100644 data/core.telegram.org/constructor/baseThemeDay.html create mode 100644 data/core.telegram.org/constructor/baseThemeNight.html create mode 100644 data/core.telegram.org/constructor/baseThemeTinted.html create mode 100644 data/core.telegram.org/constructor/boolFalse.html create mode 100644 data/core.telegram.org/constructor/boolTrue.html create mode 100644 data/core.telegram.org/constructor/botCommand.html 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/botInfo.html create mode 100644 data/core.telegram.org/constructor/botInlineMediaResult.html create mode 100644 data/core.telegram.org/constructor/botInlineMessageMediaAuto.html create mode 100644 data/core.telegram.org/constructor/botInlineMessageMediaContact.html create mode 100644 data/core.telegram.org/constructor/botInlineMessageMediaGeo.html create mode 100644 data/core.telegram.org/constructor/botInlineMessageMediaInvoice.html create mode 100644 data/core.telegram.org/constructor/botInlineMessageMediaVenue.html create mode 100644 data/core.telegram.org/constructor/botInlineMessageText.html create mode 100644 data/core.telegram.org/constructor/botInlineResult.html create mode 100644 data/core.telegram.org/constructor/cdnConfig.html create mode 100644 data/core.telegram.org/constructor/cdnPublicKey.html create mode 100644 data/core.telegram.org/constructor/channel.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEvent.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionChangeAbout.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionChangeLinkedChat.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionChangeLocation.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionChangePhoto.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionChangeStickerSet.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionChangeTitle.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionChangeUsername.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionDefaultBannedRights.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/channelAdminLogEventActionDeleteMessage.html (98%) create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionDiscardGroupCall.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionEditMessage.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/channelAdminLogEventActionParticipantInvite.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionParticipantJoinByInvite.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionParticipantLeave.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/channelAdminLogEventActionParticipantMute.html (98%) rename data/{corefork.telegram.org => core.telegram.org}/constructor/channelAdminLogEventActionParticipantToggleAdmin.html (98%) create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionParticipantToggleBan.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionParticipantUnmute.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionParticipantVolume.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionStartGroupCall.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionStopPoll.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionToggleGroupCallSetting.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionToggleInvites.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionTogglePreHistoryHidden.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionToggleSignatures.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventActionToggleSlowMode.html create mode 100644 data/core.telegram.org/constructor/channelAdminLogEventsFilter.html create mode 100644 data/core.telegram.org/constructor/channelForbidden.html create mode 100644 data/core.telegram.org/constructor/channelFull.html create mode 100644 data/core.telegram.org/constructor/channelLocation.html create mode 100644 data/core.telegram.org/constructor/channelLocationEmpty.html create mode 100644 data/core.telegram.org/constructor/channelMessagesFilter.html create mode 100644 data/core.telegram.org/constructor/channelMessagesFilterEmpty.html create mode 100644 data/core.telegram.org/constructor/channelParticipant.html create mode 100644 data/core.telegram.org/constructor/channelParticipantAdmin.html create mode 100644 data/core.telegram.org/constructor/channelParticipantBanned.html create mode 100644 data/core.telegram.org/constructor/channelParticipantCreator.html create mode 100644 data/core.telegram.org/constructor/channelParticipantLeft.html create mode 100644 data/core.telegram.org/constructor/channelParticipantSelf.html create mode 100644 data/core.telegram.org/constructor/channelParticipantsAdmins.html create mode 100644 data/core.telegram.org/constructor/channelParticipantsBanned.html create mode 100644 data/core.telegram.org/constructor/channelParticipantsBots.html create mode 100644 data/core.telegram.org/constructor/channelParticipantsContacts.html create mode 100644 data/core.telegram.org/constructor/channelParticipantsKicked.html create mode 100644 data/core.telegram.org/constructor/channelParticipantsMentions.html create mode 100644 data/core.telegram.org/constructor/channelParticipantsSearch.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/channels.adminLogResults (98%) create mode 100644 data/core.telegram.org/constructor/channels.channelParticipant create mode 100644 data/core.telegram.org/constructor/channels.channelParticipants create mode 100644 data/core.telegram.org/constructor/channels.channelParticipantsNotModified create mode 100644 data/core.telegram.org/constructor/chat.html create mode 100644 data/core.telegram.org/constructor/chatAdminRights.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/chatAdminWithInvites.html (98%) create mode 100644 data/core.telegram.org/constructor/chatBannedRights.html create mode 100644 data/core.telegram.org/constructor/chatEmpty.html create mode 100644 data/core.telegram.org/constructor/chatForbidden.html create mode 100644 data/core.telegram.org/constructor/chatFull.html create mode 100644 data/core.telegram.org/constructor/chatInviteAlready.html create mode 100644 data/core.telegram.org/constructor/chatInviteExported.html create mode 100644 data/core.telegram.org/constructor/chatInviteImporter.html create mode 100644 data/core.telegram.org/constructor/chatInvitePeek.html create mode 100644 data/core.telegram.org/constructor/chatOnlines.html create mode 100644 data/core.telegram.org/constructor/chatParticipant.html create mode 100644 data/core.telegram.org/constructor/chatParticipantAdmin.html create mode 100644 data/core.telegram.org/constructor/chatParticipantCreator.html create mode 100644 data/core.telegram.org/constructor/chatParticipants.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/chatParticipantsForbidden.html (98%) create mode 100644 data/core.telegram.org/constructor/chatPhoto.html create mode 100644 data/core.telegram.org/constructor/chatPhotoEmpty.html create mode 100644 data/core.telegram.org/constructor/chatTheme.html create mode 100644 data/core.telegram.org/constructor/codeSettings.html create mode 100644 data/core.telegram.org/constructor/config.html create mode 100644 data/core.telegram.org/constructor/contact.html create mode 100644 data/core.telegram.org/constructor/contactStatus.html create mode 100644 data/core.telegram.org/constructor/contacts.blocked create mode 100644 data/core.telegram.org/constructor/contacts.blockedSlice create mode 100644 data/core.telegram.org/constructor/contacts.contacts create mode 100644 data/core.telegram.org/constructor/contacts.importedContacts create mode 100644 data/core.telegram.org/constructor/contacts.resolvedPeer create mode 100644 data/core.telegram.org/constructor/contacts.topPeersDisabled create mode 100644 data/core.telegram.org/constructor/contacts.topPeersNotModified create mode 100644 data/core.telegram.org/constructor/dataJSON.html create mode 100644 data/core.telegram.org/constructor/dcOption.html create mode 100644 data/core.telegram.org/constructor/decryptedMessage.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionAbortKey.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionAcceptKey.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionCommitKey.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionDeleteMessages.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionFlushHistory.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionNoop.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionNotifyLayer.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionReadMessages.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/decryptedMessageActionRequestKey.html (98%) create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionResend.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionScreenshotMessages.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionSetMessageTTL.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageActionTyping.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageLayer.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageMediaAudio.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageMediaContact.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageMediaDocument.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageMediaEmpty.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageMediaExternalDocument.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageMediaGeoPoint.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageMediaPhoto.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageMediaVenue.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageMediaVideo.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageMediaWebPage.html create mode 100644 data/core.telegram.org/constructor/decryptedMessageService.html create mode 100644 data/core.telegram.org/constructor/dialogFilterSuggested.html create mode 100644 data/core.telegram.org/constructor/dialogFolder.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/dialogPeer.html (98%) create mode 100644 data/core.telegram.org/constructor/dialogPeerFolder.html create mode 100644 data/core.telegram.org/constructor/disabledFeature.html create mode 100644 data/core.telegram.org/constructor/document.html create mode 100644 data/core.telegram.org/constructor/documentAttributeAnimated.html create mode 100644 data/core.telegram.org/constructor/documentAttributeAudio.html create mode 100644 data/core.telegram.org/constructor/documentAttributeFilename.html create mode 100644 data/core.telegram.org/constructor/documentAttributeHasStickers.html create mode 100644 data/core.telegram.org/constructor/documentAttributeImageSize.html create mode 100644 data/core.telegram.org/constructor/documentAttributeSticker.html create mode 100644 data/core.telegram.org/constructor/documentAttributeVideo.html create mode 100644 data/core.telegram.org/constructor/documentEmpty.html create mode 100644 data/core.telegram.org/constructor/draftMessage.html create mode 100644 data/core.telegram.org/constructor/draftMessageEmpty.html create mode 100644 data/core.telegram.org/constructor/emojiKeyword.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/emojiKeywordDeleted.html (98%) create mode 100644 data/core.telegram.org/constructor/emojiKeywordsDifference.html create mode 100644 data/core.telegram.org/constructor/emojiURL.html create mode 100644 data/core.telegram.org/constructor/encryptedChat.html create mode 100644 data/core.telegram.org/constructor/encryptedChatDiscarded.html create mode 100644 data/core.telegram.org/constructor/encryptedChatEmpty.html create mode 100644 data/core.telegram.org/constructor/encryptedChatRequested.html create mode 100644 data/core.telegram.org/constructor/encryptedChatWaiting.html create mode 100644 data/core.telegram.org/constructor/encryptedFile.html create mode 100644 data/core.telegram.org/constructor/encryptedFileEmpty.html create mode 100644 data/core.telegram.org/constructor/encryptedMessage.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/encryptedMessageService.html (98%) create mode 100644 data/core.telegram.org/constructor/error.html create mode 100644 data/core.telegram.org/constructor/exportedMessageLink.html create mode 100644 data/core.telegram.org/constructor/fileHash.html create mode 100644 data/core.telegram.org/constructor/fileLocation.html create mode 100644 data/core.telegram.org/constructor/fileLocationUnavailable.html create mode 100644 data/core.telegram.org/constructor/folder.html create mode 100644 data/core.telegram.org/constructor/folderPeer.html create mode 100644 data/core.telegram.org/constructor/game.html create mode 100644 data/core.telegram.org/constructor/geoPoint.html create mode 100644 data/core.telegram.org/constructor/geoPointEmpty.html create mode 100644 data/core.telegram.org/constructor/globalPrivacySettings.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/help.appUpdate create mode 100644 data/core.telegram.org/constructor/help.countriesList create mode 100644 data/core.telegram.org/constructor/help.countriesListNotModified create mode 100644 data/core.telegram.org/constructor/help.country rename data/{corefork.telegram.org => core.telegram.org}/constructor/help.countryCode (98%) create mode 100644 data/core.telegram.org/constructor/help.deepLinkInfo create mode 100644 data/core.telegram.org/constructor/help.deepLinkInfoEmpty create mode 100644 data/core.telegram.org/constructor/help.inviteText create mode 100644 data/core.telegram.org/constructor/help.noAppUpdate create mode 100644 data/core.telegram.org/constructor/help.passportConfig create mode 100644 data/core.telegram.org/constructor/help.passportConfigNotModified create mode 100644 data/core.telegram.org/constructor/help.promoData create mode 100644 data/core.telegram.org/constructor/help.promoDataEmpty create mode 100644 data/core.telegram.org/constructor/help.recentMeUrls rename data/{corefork.telegram.org => core.telegram.org}/constructor/help.support (98%) create mode 100644 data/core.telegram.org/constructor/help.supportName create mode 100644 data/core.telegram.org/constructor/help.termsOfService rename data/{corefork.telegram.org => core.telegram.org}/constructor/help.termsOfServiceUpdate (98%) create mode 100644 data/core.telegram.org/constructor/help.termsOfServiceUpdateEmpty create mode 100644 data/core.telegram.org/constructor/help.userInfo create mode 100644 data/core.telegram.org/constructor/help.userInfoEmpty rename data/{corefork.telegram.org => core.telegram.org}/constructor/highScore.html (98%) create mode 100644 data/core.telegram.org/constructor/importedContact.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/inputAppEvent.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageGame.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageID.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageID64.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageMediaAuto.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageMediaContact.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageMediaGeo.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageMediaInvoice.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageMediaVenue.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineMessageText.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputBotInlineResult.html (98%) create mode 100644 data/core.telegram.org/constructor/inputBotInlineResultDocument.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineResultGame.html create mode 100644 data/core.telegram.org/constructor/inputBotInlineResultPhoto.html create mode 100644 data/core.telegram.org/constructor/inputChannel.html create mode 100644 data/core.telegram.org/constructor/inputChannelEmpty.html create mode 100644 data/core.telegram.org/constructor/inputChannelFromMessage.html create mode 100644 data/core.telegram.org/constructor/inputChatPhoto.html create mode 100644 data/core.telegram.org/constructor/inputChatPhotoEmpty.html create mode 100644 data/core.telegram.org/constructor/inputChatUploadedPhoto.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputCheckPasswordEmpty.html (98%) create mode 100644 data/core.telegram.org/constructor/inputCheckPasswordSRP.html create mode 100644 data/core.telegram.org/constructor/inputClientProxy.html create mode 100644 data/core.telegram.org/constructor/inputDialogPeer.html create mode 100644 data/core.telegram.org/constructor/inputDialogPeerFolder.html create mode 100644 data/core.telegram.org/constructor/inputDocument.html create mode 100644 data/core.telegram.org/constructor/inputDocumentEmpty.html create mode 100644 data/core.telegram.org/constructor/inputEncryptedChat.html create mode 100644 data/core.telegram.org/constructor/inputEncryptedFile.html create mode 100644 data/core.telegram.org/constructor/inputEncryptedFileBigUploaded.html create mode 100644 data/core.telegram.org/constructor/inputEncryptedFileLocation.html create mode 100644 data/core.telegram.org/constructor/inputEncryptedFileUploaded.html create mode 100644 data/core.telegram.org/constructor/inputFile.html create mode 100644 data/core.telegram.org/constructor/inputFileBig.html create mode 100644 data/core.telegram.org/constructor/inputFileLocation.html create mode 100644 data/core.telegram.org/constructor/inputFolderPeer.html create mode 100644 data/core.telegram.org/constructor/inputGameID.html create mode 100644 data/core.telegram.org/constructor/inputGameShortName.html create mode 100644 data/core.telegram.org/constructor/inputGeoPoint.html create mode 100644 data/core.telegram.org/constructor/inputGeoPointEmpty.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/inputKeyboardButtonUrlAuth.html create mode 100644 data/core.telegram.org/constructor/inputMediaContact.html create mode 100644 data/core.telegram.org/constructor/inputMediaDocument.html create mode 100644 data/core.telegram.org/constructor/inputMediaDocumentExternal.html create mode 100644 data/core.telegram.org/constructor/inputMediaEmpty.html create mode 100644 data/core.telegram.org/constructor/inputMediaGeoPoint.html create mode 100644 data/core.telegram.org/constructor/inputMediaInvoice.html create mode 100644 data/core.telegram.org/constructor/inputMediaPhoto.html create mode 100644 data/core.telegram.org/constructor/inputMediaPhotoExternal.html create mode 100644 data/core.telegram.org/constructor/inputMediaPoll.html create mode 100644 data/core.telegram.org/constructor/inputMediaUploadedDocument.html create mode 100644 data/core.telegram.org/constructor/inputMediaUploadedPhoto.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputMediaUploadedThumbDocument.html (98%) create mode 100644 data/core.telegram.org/constructor/inputMediaVenue.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputMessageCallbackQuery.html (98%) create mode 100644 data/core.telegram.org/constructor/inputMessageID.html create mode 100644 data/core.telegram.org/constructor/inputMessagePinned.html create mode 100644 data/core.telegram.org/constructor/inputMessageReplyTo.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterChatPhotos.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterContacts.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterDocument.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterEmpty.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterGeo.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterMusic.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterMyMentions.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterPhoneCalls.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterPhotoVideo.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterPhotos.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterPinned.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterRoundVideo.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterRoundVoice.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterUrl.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterVideo.html create mode 100644 data/core.telegram.org/constructor/inputMessagesFilterVoice.html create mode 100644 data/core.telegram.org/constructor/inputNotifyBroadcasts.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputNotifyChats.html (98%) create mode 100644 data/core.telegram.org/constructor/inputNotifyPeer.html create mode 100644 data/core.telegram.org/constructor/inputNotifyUsers.html create mode 100644 data/core.telegram.org/constructor/inputPaymentCredentials.html create mode 100644 data/core.telegram.org/constructor/inputPaymentCredentialsApplePay.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputPaymentCredentialsGooglePay.html (98%) create mode 100644 data/core.telegram.org/constructor/inputPaymentCredentialsSaved.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputPeerChannel.html (98%) create mode 100644 data/core.telegram.org/constructor/inputPeerChannelFromMessage.html create mode 100644 data/core.telegram.org/constructor/inputPeerChat.html create mode 100644 data/core.telegram.org/constructor/inputPeerEmpty.html create mode 100644 data/core.telegram.org/constructor/inputPeerNotifySettings.html create mode 100644 data/core.telegram.org/constructor/inputPeerPhotoFileLocation.html create mode 100644 data/core.telegram.org/constructor/inputPeerSelf.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputPeerUser.html (98%) create mode 100644 data/core.telegram.org/constructor/inputPeerUserFromMessage.html create mode 100644 data/core.telegram.org/constructor/inputPhoneCall.html create mode 100644 data/core.telegram.org/constructor/inputPhoneContact.html create mode 100644 data/core.telegram.org/constructor/inputPhoto.html create mode 100644 data/core.telegram.org/constructor/inputPhotoEmpty.html create mode 100644 data/core.telegram.org/constructor/inputPhotoFileLocation.html create mode 100644 data/core.telegram.org/constructor/inputPhotoLegacyFileLocation.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyKeyAddedByPhone.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyKeyChatInvite.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyKeyForwards.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyKeyPhoneCall.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyKeyPhoneNumber.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyKeyPhoneP2P.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyKeyProfilePhoto.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyKeyStatusTimestamp.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyValueAllowAll.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyValueAllowContacts.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyValueAllowUsers.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyValueDisallowAll.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyValueDisallowChatParticipants.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyValueDisallowContacts.html create mode 100644 data/core.telegram.org/constructor/inputPrivacyValueDisallowUsers.html create mode 100644 data/core.telegram.org/constructor/inputReportReasonChildAbuse.html create mode 100644 data/core.telegram.org/constructor/inputReportReasonCopyright.html create mode 100644 data/core.telegram.org/constructor/inputReportReasonFake.html create mode 100644 data/core.telegram.org/constructor/inputReportReasonPornography.html create mode 100644 data/core.telegram.org/constructor/inputReportReasonSpam.html create mode 100644 data/core.telegram.org/constructor/inputReportReasonViolence.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputSecureFileLocation.html (98%) create mode 100644 data/core.telegram.org/constructor/inputSecureFileUploaded.html create mode 100644 data/core.telegram.org/constructor/inputSecureValue.html create mode 100644 data/core.telegram.org/constructor/inputSingleMedia.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputStickerSetAnimatedEmoji.html (98%) rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputStickerSetAnimatedEmojiAnimations.html (98%) create mode 100644 data/core.telegram.org/constructor/inputStickerSetID.html create mode 100644 data/core.telegram.org/constructor/inputStickerSetItem.html create mode 100644 data/core.telegram.org/constructor/inputStickerSetShortName.html create mode 100644 data/core.telegram.org/constructor/inputStickerSetThumb.html create mode 100644 data/core.telegram.org/constructor/inputStickeredMediaDocument.html create mode 100644 data/core.telegram.org/constructor/inputStickeredMediaPhoto.html create mode 100644 data/core.telegram.org/constructor/inputTakeoutFileLocation.html create mode 100644 data/core.telegram.org/constructor/inputTheme.html create mode 100644 data/core.telegram.org/constructor/inputThemeSettings.html create mode 100644 data/core.telegram.org/constructor/inputThemeSlug.html create mode 100644 data/core.telegram.org/constructor/inputUser.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/inputUserEmpty.html (98%) create mode 100644 data/core.telegram.org/constructor/inputUserFromMessage.html create mode 100644 data/core.telegram.org/constructor/inputUserSelf.html create mode 100644 data/core.telegram.org/constructor/inputWallPaperSlug.html create mode 100644 data/core.telegram.org/constructor/inputWebDocument.html create mode 100644 data/core.telegram.org/constructor/inputWebFileGeoPointLocation.html create mode 100644 data/core.telegram.org/constructor/inputWebFileLocation.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/invoice.html (98%) rename data/{corefork.telegram.org/constructor/jsonObject.html => core.telegram.org/constructor/jsonArray.html} (90%) create mode 100644 data/core.telegram.org/constructor/jsonBool.html create mode 100644 data/core.telegram.org/constructor/jsonNull.html create mode 100644 data/core.telegram.org/constructor/jsonNumber.html create mode 100644 data/core.telegram.org/constructor/jsonObjectValue.html create mode 100644 data/core.telegram.org/constructor/keyboardButton.html create mode 100644 data/core.telegram.org/constructor/keyboardButtonBuy.html create mode 100644 data/core.telegram.org/constructor/keyboardButtonCallback.html create mode 100644 data/core.telegram.org/constructor/keyboardButtonGame.html create mode 100644 data/core.telegram.org/constructor/keyboardButtonRequestGeoLocation.html create mode 100644 data/core.telegram.org/constructor/keyboardButtonRequestPhone.html create mode 100644 data/core.telegram.org/constructor/keyboardButtonRequestPoll.html create mode 100644 data/core.telegram.org/constructor/keyboardButtonRow.html create mode 100644 data/core.telegram.org/constructor/keyboardButtonSwitchInline.html create mode 100644 data/core.telegram.org/constructor/keyboardButtonUrlAuth.html create mode 100644 data/core.telegram.org/constructor/labeledPrice.html create mode 100644 data/core.telegram.org/constructor/langPackDifference.html create mode 100644 data/core.telegram.org/constructor/langPackLanguage.html create mode 100644 data/core.telegram.org/constructor/langPackString.html create mode 100644 data/core.telegram.org/constructor/langPackStringDeleted.html create mode 100644 data/core.telegram.org/constructor/langPackStringPluralized.html create mode 100644 data/core.telegram.org/constructor/maskCoords.html create mode 100644 data/core.telegram.org/constructor/message.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/messageActionBotAllowed.html (98%) create mode 100644 data/core.telegram.org/constructor/messageActionChannelCreate.html create mode 100644 data/core.telegram.org/constructor/messageActionChannelMigrateFrom.html create mode 100644 data/core.telegram.org/constructor/messageActionChatAddUser.html create mode 100644 data/core.telegram.org/constructor/messageActionChatCreate.html create mode 100644 data/core.telegram.org/constructor/messageActionChatDeletePhoto.html create mode 100644 data/core.telegram.org/constructor/messageActionChatDeleteUser.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/messageActionChatEditPhoto.html (98%) create mode 100644 data/core.telegram.org/constructor/messageActionChatEditTitle.html create mode 100644 data/core.telegram.org/constructor/messageActionChatJoinedByLink.html create mode 100644 data/core.telegram.org/constructor/messageActionChatMigrateTo.html create mode 100644 data/core.telegram.org/constructor/messageActionContactSignUp.html create mode 100644 data/core.telegram.org/constructor/messageActionCustomAction.html create mode 100644 data/core.telegram.org/constructor/messageActionEmpty.html create mode 100644 data/core.telegram.org/constructor/messageActionGameScore.html create mode 100644 data/core.telegram.org/constructor/messageActionGeoProximityReached.html create mode 100644 data/core.telegram.org/constructor/messageActionGroupCall.html create mode 100644 data/core.telegram.org/constructor/messageActionHistoryClear.html create mode 100644 data/core.telegram.org/constructor/messageActionInviteToGroupCall.html create mode 100644 data/core.telegram.org/constructor/messageActionPaymentSent.html create mode 100644 data/core.telegram.org/constructor/messageActionPaymentSentMe.html create mode 100644 data/core.telegram.org/constructor/messageActionPhoneCall.html create mode 100644 data/core.telegram.org/constructor/messageActionPinMessage.html create mode 100644 data/core.telegram.org/constructor/messageActionScreenshotTaken.html create mode 100644 data/core.telegram.org/constructor/messageActionSecureValuesSent.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/messageActionSecureValuesSentMe.html (98%) create mode 100644 data/core.telegram.org/constructor/messageActionSetChatTheme.html create mode 100644 data/core.telegram.org/constructor/messageActionSetMessagesTTL.html create mode 100644 data/core.telegram.org/constructor/messageEmpty.html create mode 100644 data/core.telegram.org/constructor/messageEntityBankCard.html create mode 100644 data/core.telegram.org/constructor/messageEntityBlockquote.html create mode 100644 data/core.telegram.org/constructor/messageEntityBold.html create mode 100644 data/core.telegram.org/constructor/messageEntityBotCommand.html create mode 100644 data/core.telegram.org/constructor/messageEntityCashtag.html create mode 100644 data/core.telegram.org/constructor/messageEntityCode.html create mode 100644 data/core.telegram.org/constructor/messageEntityEmail.html create mode 100644 data/core.telegram.org/constructor/messageEntityHashtag.html create mode 100644 data/core.telegram.org/constructor/messageEntityItalic.html create mode 100644 data/core.telegram.org/constructor/messageEntityMention.html create mode 100644 data/core.telegram.org/constructor/messageEntityMentionName.html create mode 100644 data/core.telegram.org/constructor/messageEntityPhone.html create mode 100644 data/core.telegram.org/constructor/messageEntityPre.html create mode 100644 data/core.telegram.org/constructor/messageEntityStrike.html create mode 100644 data/core.telegram.org/constructor/messageEntityTextUrl.html create mode 100644 data/core.telegram.org/constructor/messageEntityUnderline.html create mode 100644 data/core.telegram.org/constructor/messageEntityUrl.html create mode 100644 data/core.telegram.org/constructor/messageFwdHeader.html create mode 100644 data/core.telegram.org/constructor/messageInteractionCounters.html create mode 100644 data/core.telegram.org/constructor/messageMediaAudio.html create mode 100644 data/core.telegram.org/constructor/messageMediaContact.html create mode 100644 data/core.telegram.org/constructor/messageMediaDice.html create mode 100644 data/core.telegram.org/constructor/messageMediaDocument.html rename data/{corefork.telegram.org/constructor/messageMediaUnsupported.html => core.telegram.org/constructor/messageMediaEmpty.html} (90%) create mode 100644 data/core.telegram.org/constructor/messageMediaGeo.html create mode 100644 data/core.telegram.org/constructor/messageMediaGeoLive.html create mode 100644 data/core.telegram.org/constructor/messageMediaInvoice.html create mode 100644 data/core.telegram.org/constructor/messageMediaPhoto.html create mode 100644 data/core.telegram.org/constructor/messageMediaPoll.html create mode 100644 data/core.telegram.org/constructor/messageMediaVenue.html create mode 100644 data/core.telegram.org/constructor/messageMediaVideo.html create mode 100644 data/core.telegram.org/constructor/messageMediaWebPage.html create mode 100644 data/core.telegram.org/constructor/messageRange.html create mode 100644 data/core.telegram.org/constructor/messageReplies.html create mode 100644 data/core.telegram.org/constructor/messageReplyHeader.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/messageService.html (98%) create mode 100644 data/core.telegram.org/constructor/messageUserVote.html create mode 100644 data/core.telegram.org/constructor/messageUserVoteInputOption.html create mode 100644 data/core.telegram.org/constructor/messageUserVoteMultiple.html create mode 100644 data/core.telegram.org/constructor/messageViews.html create mode 100644 data/core.telegram.org/constructor/messages.affectedFoundMessages create mode 100644 data/core.telegram.org/constructor/messages.affectedMessages create mode 100644 data/core.telegram.org/constructor/messages.allStickers rename data/{corefork.telegram.org => core.telegram.org}/constructor/messages.allStickersNotModified (98%) create mode 100644 data/core.telegram.org/constructor/messages.archivedStickers create mode 100644 data/core.telegram.org/constructor/messages.botCallbackAnswer create mode 100644 data/core.telegram.org/constructor/messages.botResults create mode 100644 data/core.telegram.org/constructor/messages.channelMessages create mode 100644 data/core.telegram.org/constructor/messages.chatAdminsWithInvites rename data/{corefork.telegram.org => core.telegram.org}/constructor/messages.chatFull (98%) create mode 100644 data/core.telegram.org/constructor/messages.chatInviteImporters create mode 100644 data/core.telegram.org/constructor/messages.chatsSlice create mode 100644 data/core.telegram.org/constructor/messages.checkedHistoryImportPeer create mode 100644 data/core.telegram.org/constructor/messages.dhConfig create mode 100644 data/core.telegram.org/constructor/messages.dhConfigNotModified create mode 100644 data/core.telegram.org/constructor/messages.dialogs create mode 100644 data/core.telegram.org/constructor/messages.dialogsNotModified create mode 100644 data/core.telegram.org/constructor/messages.dialogsSlice create mode 100644 data/core.telegram.org/constructor/messages.discussionMessage 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 rename data/{corefork.telegram.org => core.telegram.org}/constructor/messages.favedStickers (98%) create mode 100644 data/core.telegram.org/constructor/messages.featuredStickers create mode 100644 data/core.telegram.org/constructor/messages.featuredStickersNotModified create mode 100644 data/core.telegram.org/constructor/messages.foundStickerSets create mode 100644 data/core.telegram.org/constructor/messages.foundStickerSetsNotModified create mode 100644 data/core.telegram.org/constructor/messages.highScores 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.inactiveChats create mode 100644 data/core.telegram.org/constructor/messages.messageEditData rename data/{corefork.telegram.org => core.telegram.org}/constructor/messages.messageViews (98%) rename data/{corefork.telegram.org => core.telegram.org}/constructor/messages.messages (98%) create mode 100644 data/core.telegram.org/constructor/messages.messagesNotModified create mode 100644 data/core.telegram.org/constructor/messages.messagesSlice create mode 100644 data/core.telegram.org/constructor/messages.peerDialogs create mode 100644 data/core.telegram.org/constructor/messages.recentStickers rename data/{corefork.telegram.org => core.telegram.org}/constructor/messages.recentStickersNotModified (98%) create mode 100644 data/core.telegram.org/constructor/messages.savedGifs create mode 100644 data/core.telegram.org/constructor/messages.savedGifsNotModified create mode 100644 data/core.telegram.org/constructor/messages.sentEncryptedFile create mode 100644 data/core.telegram.org/constructor/messages.sentEncryptedMessage create mode 100644 data/core.telegram.org/constructor/messages.sentMessageLink create mode 100644 data/core.telegram.org/constructor/messages.sponsoredMessages create mode 100644 data/core.telegram.org/constructor/messages.statedMessageLink create mode 100644 data/core.telegram.org/constructor/messages.statedMessagesLinks create mode 100644 data/core.telegram.org/constructor/messages.stickerSet rename data/{corefork.telegram.org => core.telegram.org}/constructor/messages.stickerSetInstallResultArchive (98%) create mode 100644 data/core.telegram.org/constructor/messages.stickerSetInstallResultSuccess create mode 100644 data/core.telegram.org/constructor/messages.stickers rename data/{corefork.telegram.org => core.telegram.org}/constructor/messages.stickersNotModified (98%) create mode 100644 data/core.telegram.org/constructor/messages.votesList create mode 100644 data/core.telegram.org/constructor/notifyChats.html create mode 100644 data/core.telegram.org/constructor/notifyPeer.html create mode 100644 data/core.telegram.org/constructor/notifyUsers.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/null.html (97%) create mode 100644 data/core.telegram.org/constructor/page.html create mode 100644 data/core.telegram.org/constructor/pageBlockAnchor.html create mode 100644 data/core.telegram.org/constructor/pageBlockAudio.html create mode 100644 data/core.telegram.org/constructor/pageBlockAuthorDate.html create mode 100644 data/core.telegram.org/constructor/pageBlockBlockquote.html create mode 100644 data/core.telegram.org/constructor/pageBlockChannel.html create mode 100644 data/core.telegram.org/constructor/pageBlockCollage.html create mode 100644 data/core.telegram.org/constructor/pageBlockDetails.html create mode 100644 data/core.telegram.org/constructor/pageBlockDivider.html create mode 100644 data/core.telegram.org/constructor/pageBlockEmbed.html create mode 100644 data/core.telegram.org/constructor/pageBlockEmbedPost.html create mode 100644 data/core.telegram.org/constructor/pageBlockFooter.html create mode 100644 data/core.telegram.org/constructor/pageBlockHeader.html create mode 100644 data/core.telegram.org/constructor/pageBlockKicker.html create mode 100644 data/core.telegram.org/constructor/pageBlockList.html create mode 100644 data/core.telegram.org/constructor/pageBlockMap.html create mode 100644 data/core.telegram.org/constructor/pageBlockOrderedList.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/pageBlockParagraph.html (98%) create mode 100644 data/core.telegram.org/constructor/pageBlockPhoto.html create mode 100644 data/core.telegram.org/constructor/pageBlockPullquote.html create mode 100644 data/core.telegram.org/constructor/pageBlockSlideshow.html create mode 100644 data/core.telegram.org/constructor/pageBlockSubheader.html create mode 100644 data/core.telegram.org/constructor/pageBlockTitle.html create mode 100644 data/core.telegram.org/constructor/pageBlockUnsupported.html create mode 100644 data/core.telegram.org/constructor/pageBlockVideo.html create mode 100644 data/core.telegram.org/constructor/pageCaption.html create mode 100644 data/core.telegram.org/constructor/pageListItemBlocks.html create mode 100644 data/core.telegram.org/constructor/pageListItemText.html create mode 100644 data/core.telegram.org/constructor/pageListOrderedItemBlocks.html create mode 100644 data/core.telegram.org/constructor/pageListOrderedItemText.html create mode 100644 data/core.telegram.org/constructor/pageRelatedArticle.html create mode 100644 data/core.telegram.org/constructor/pageTableCell.html create mode 100644 data/core.telegram.org/constructor/pageTableRow.html create mode 100644 data/core.telegram.org/constructor/passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow.html create mode 100644 data/core.telegram.org/constructor/passwordKdfAlgoUnknown.html create mode 100644 data/core.telegram.org/constructor/paymentCharge.html create mode 100644 data/core.telegram.org/constructor/paymentSavedCredentialsCard.html create mode 100644 data/core.telegram.org/constructor/payments.ValidatedRequestedInfo create mode 100644 data/core.telegram.org/constructor/payments.bankCardData create mode 100644 data/core.telegram.org/constructor/payments.paymentForm create mode 100644 data/core.telegram.org/constructor/payments.paymentReceipt create mode 100644 data/core.telegram.org/constructor/payments.paymentResult create mode 100644 data/core.telegram.org/constructor/peerBlocked.html create mode 100644 data/core.telegram.org/constructor/peerChannel.html create mode 100644 data/core.telegram.org/constructor/peerChat.html create mode 100644 data/core.telegram.org/constructor/peerLocated.html create mode 100644 data/core.telegram.org/constructor/peerNotifySettings.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/peerSelfLocated.html (98%) create mode 100644 data/core.telegram.org/constructor/peerSettings.html 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/phone.phoneCall create mode 100644 data/core.telegram.org/constructor/phoneCall.html create mode 100644 data/core.telegram.org/constructor/phoneCallAccepted.html create mode 100644 data/core.telegram.org/constructor/phoneCallDiscardReasonBusy.html create mode 100644 data/core.telegram.org/constructor/phoneCallDiscardReasonDisconnect.html create mode 100644 data/core.telegram.org/constructor/phoneCallDiscardReasonHangup.html create mode 100644 data/core.telegram.org/constructor/phoneCallDiscardReasonMissed.html create mode 100644 data/core.telegram.org/constructor/phoneCallEmpty.html create mode 100644 data/core.telegram.org/constructor/phoneCallProtocol.html create mode 100644 data/core.telegram.org/constructor/phoneCallRequested.html create mode 100644 data/core.telegram.org/constructor/phoneCallWaiting.html create mode 100644 data/core.telegram.org/constructor/phoneConnection.html create mode 100644 data/core.telegram.org/constructor/phoneConnectionWebrtc.html create mode 100644 data/core.telegram.org/constructor/photo.html create mode 100644 data/core.telegram.org/constructor/photoCachedSize.html create mode 100644 data/core.telegram.org/constructor/photoEmpty.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/photoPathSize.html (98%) create mode 100644 data/core.telegram.org/constructor/photoSize.html create mode 100644 data/core.telegram.org/constructor/photoSizeEmpty.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/photoSizeProgressive.html (98%) create mode 100644 data/core.telegram.org/constructor/photoStrippedSize.html create mode 100644 data/core.telegram.org/constructor/photos.photo create mode 100644 data/core.telegram.org/constructor/photos.photos create mode 100644 data/core.telegram.org/constructor/photos.photosSlice create mode 100644 data/core.telegram.org/constructor/poll.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/pollAnswer.html (98%) create mode 100644 data/core.telegram.org/constructor/pollAnswerVoters.html create mode 100644 data/core.telegram.org/constructor/pollResults.html create mode 100644 data/core.telegram.org/constructor/postAddress.html create mode 100644 data/core.telegram.org/constructor/privacyKeyAddedByPhone.html create mode 100644 data/core.telegram.org/constructor/privacyKeyChatInvite.html create mode 100644 data/core.telegram.org/constructor/privacyKeyForwards.html create mode 100644 data/core.telegram.org/constructor/privacyKeyPhoneCall.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/privacyKeyPhoneNumber.html (98%) create mode 100644 data/core.telegram.org/constructor/privacyKeyPhoneP2P.html create mode 100644 data/core.telegram.org/constructor/privacyKeyProfilePhoto.html create mode 100644 data/core.telegram.org/constructor/privacyKeyStatusTimestamp.html create mode 100644 data/core.telegram.org/constructor/privacyValueAllowAll.html create mode 100644 data/core.telegram.org/constructor/privacyValueAllowChatParticipants.html create mode 100644 data/core.telegram.org/constructor/privacyValueAllowContacts.html create mode 100644 data/core.telegram.org/constructor/privacyValueAllowUsers.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/privacyValueDisallowAll.html (98%) rename data/{corefork.telegram.org => core.telegram.org}/constructor/privacyValueDisallowChatParticipants.html (98%) create mode 100644 data/core.telegram.org/constructor/privacyValueDisallowContacts.html create mode 100644 data/core.telegram.org/constructor/privacyValueDisallowUsers.html create mode 100644 data/core.telegram.org/constructor/receivedNotifyMessage.html create mode 100644 data/core.telegram.org/constructor/recentMeUrlChat.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/recentMeUrlChatInvite.html (98%) rename data/{corefork.telegram.org => core.telegram.org}/constructor/recentMeUrlStickerSet.html (98%) create mode 100644 data/core.telegram.org/constructor/recentMeUrlUnknown.html create mode 100644 data/core.telegram.org/constructor/recentMeUrlUser.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/replyInlineMarkup.html (98%) create mode 100644 data/core.telegram.org/constructor/replyKeyboardForceReply.html create mode 100644 data/core.telegram.org/constructor/replyKeyboardHide.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/replyKeyboardMarkup.html (98%) create mode 100644 data/core.telegram.org/constructor/restrictionReason.html create mode 100644 data/core.telegram.org/constructor/savedPhoneContact.html create mode 100644 data/core.telegram.org/constructor/secureCredentialsEncrypted.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/secureData.html (98%) create mode 100644 data/core.telegram.org/constructor/secureFile.html create mode 100644 data/core.telegram.org/constructor/securePasswordKdfAlgoPBKDF2HMACSHA512iter100000.html create mode 100644 data/core.telegram.org/constructor/securePasswordKdfAlgoSHA512.html create mode 100644 data/core.telegram.org/constructor/securePasswordKdfAlgoUnknown.html create mode 100644 data/core.telegram.org/constructor/securePlainPhone.html create mode 100644 data/core.telegram.org/constructor/secureRequiredType.html create mode 100644 data/core.telegram.org/constructor/secureRequiredTypeOneOf.html create mode 100644 data/core.telegram.org/constructor/secureSecretSettings.html create mode 100644 data/core.telegram.org/constructor/secureValue.html create mode 100644 data/core.telegram.org/constructor/secureValueError.html create mode 100644 data/core.telegram.org/constructor/secureValueErrorData.html create mode 100644 data/core.telegram.org/constructor/secureValueErrorFile.html create mode 100644 data/core.telegram.org/constructor/secureValueErrorFiles.html create mode 100644 data/core.telegram.org/constructor/secureValueErrorFrontSide.html create mode 100644 data/core.telegram.org/constructor/secureValueErrorReverseSide.html create mode 100644 data/core.telegram.org/constructor/secureValueErrorSelfie.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/secureValueErrorTranslationFile.html (98%) create mode 100644 data/core.telegram.org/constructor/secureValueErrorTranslationFiles.html create mode 100644 data/core.telegram.org/constructor/secureValueHash.html create mode 100644 data/core.telegram.org/constructor/secureValueTypeAddress.html create mode 100644 data/core.telegram.org/constructor/secureValueTypeBankStatement.html create mode 100644 data/core.telegram.org/constructor/secureValueTypeDriverLicense.html create mode 100644 data/core.telegram.org/constructor/secureValueTypeEmail.html create mode 100644 data/core.telegram.org/constructor/secureValueTypeIdentityCard.html create mode 100644 data/core.telegram.org/constructor/secureValueTypeInternalPassport.html create mode 100644 data/core.telegram.org/constructor/secureValueTypePassport.html create mode 100644 data/core.telegram.org/constructor/secureValueTypePassportRegistration.html create mode 100644 data/core.telegram.org/constructor/secureValueTypePersonalDetails.html create mode 100644 data/core.telegram.org/constructor/secureValueTypePhone.html create mode 100644 data/core.telegram.org/constructor/secureValueTypeRentalAgreement.html create mode 100644 data/core.telegram.org/constructor/secureValueTypeTemporaryRegistration.html create mode 100644 data/core.telegram.org/constructor/secureValueTypeUtilityBill.html 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/sendMessageGamePlayAction.html create mode 100644 data/core.telegram.org/constructor/sendMessageGeoLocationAction.html create mode 100644 data/core.telegram.org/constructor/sendMessageHistoryImportAction.html create mode 100644 data/core.telegram.org/constructor/sendMessageRecordAudioAction.html create mode 100644 data/core.telegram.org/constructor/sendMessageRecordVideoAction.html create mode 100644 data/core.telegram.org/constructor/sendMessageTypingAction.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/sendMessageUploadAudioAction.html (98%) create mode 100644 data/core.telegram.org/constructor/sendMessageUploadDocumentAction.html create mode 100644 data/core.telegram.org/constructor/sendMessageUploadPhotoAction.html create mode 100644 data/core.telegram.org/constructor/sendMessageUploadVideoAction.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/shippingOption.html (98%) 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/stats.broadcastStats create mode 100644 data/core.telegram.org/constructor/stats.megagroupStats create mode 100644 data/core.telegram.org/constructor/stats.messageStats create mode 100644 data/core.telegram.org/constructor/statsAbsValueAndPrev.html create mode 100644 data/core.telegram.org/constructor/statsDateRangeDays.html create mode 100644 data/core.telegram.org/constructor/statsGraph.html create mode 100644 data/core.telegram.org/constructor/statsGraphError.html create mode 100644 data/core.telegram.org/constructor/statsGroupTopAdmin.html create mode 100644 data/core.telegram.org/constructor/statsGroupTopInviter.html create mode 100644 data/core.telegram.org/constructor/statsGroupTopPoster.html create mode 100644 data/core.telegram.org/constructor/statsPercentValue.html create mode 100644 data/core.telegram.org/constructor/statsURL.html create mode 100644 data/core.telegram.org/constructor/stickerPack.html create mode 100644 data/core.telegram.org/constructor/stickerSet.html create mode 100644 data/core.telegram.org/constructor/stickerSetCovered.html create mode 100644 data/core.telegram.org/constructor/stickerSetMultiCovered.html create mode 100644 data/core.telegram.org/constructor/stickers.suggestedShortName create mode 100644 data/core.telegram.org/constructor/storage.fileGif create mode 100644 data/core.telegram.org/constructor/storage.fileJpeg rename data/{corefork.telegram.org => core.telegram.org}/constructor/storage.fileMov (98%) create mode 100644 data/core.telegram.org/constructor/storage.fileMp3 create mode 100644 data/core.telegram.org/constructor/storage.fileMp4 create mode 100644 data/core.telegram.org/constructor/storage.filePartial create mode 100644 data/core.telegram.org/constructor/storage.filePdf rename data/{corefork.telegram.org => core.telegram.org}/constructor/storage.filePng (98%) create mode 100644 data/core.telegram.org/constructor/storage.fileUnknown create mode 100644 data/core.telegram.org/constructor/storage.fileWebp create mode 100644 data/core.telegram.org/constructor/textAnchor.html create mode 100644 data/core.telegram.org/constructor/textBold.html create mode 100644 data/core.telegram.org/constructor/textConcat.html create mode 100644 data/core.telegram.org/constructor/textEmail.html create mode 100644 data/core.telegram.org/constructor/textEmpty.html create mode 100644 data/core.telegram.org/constructor/textFixed.html create mode 100644 data/core.telegram.org/constructor/textImage.html create mode 100644 data/core.telegram.org/constructor/textItalic.html create mode 100644 data/core.telegram.org/constructor/textMarked.html create mode 100644 data/core.telegram.org/constructor/textPhone.html create mode 100644 data/core.telegram.org/constructor/textPlain.html create mode 100644 data/core.telegram.org/constructor/textStrike.html create mode 100644 data/core.telegram.org/constructor/textSubscript.html create mode 100644 data/core.telegram.org/constructor/textUnderline.html create mode 100644 data/core.telegram.org/constructor/textUrl.html create mode 100644 data/core.telegram.org/constructor/theme.html create mode 100644 data/core.telegram.org/constructor/themeSettings.html create mode 100644 data/core.telegram.org/constructor/topPeer.html create mode 100644 data/core.telegram.org/constructor/topPeerCategoryBotsInline.html create mode 100644 data/core.telegram.org/constructor/topPeerCategoryBotsPM.html create mode 100644 data/core.telegram.org/constructor/topPeerCategoryChannels.html create mode 100644 data/core.telegram.org/constructor/topPeerCategoryCorrespondents.html create mode 100644 data/core.telegram.org/constructor/topPeerCategoryForwardChats.html create mode 100644 data/core.telegram.org/constructor/topPeerCategoryForwardUsers.html create mode 100644 data/core.telegram.org/constructor/topPeerCategoryGroups.html create mode 100644 data/core.telegram.org/constructor/topPeerCategoryPeers.html create mode 100644 data/core.telegram.org/constructor/topPeerCategoryPhoneCalls.html create mode 100644 data/core.telegram.org/constructor/true.html create mode 100644 data/core.telegram.org/constructor/updateBotCallbackQuery.html create mode 100644 data/core.telegram.org/constructor/updateBotCommands.html create mode 100644 data/core.telegram.org/constructor/updateBotInlineQuery.html create mode 100644 data/core.telegram.org/constructor/updateBotInlineSend.html create mode 100644 data/core.telegram.org/constructor/updateBotPrecheckoutQuery.html create mode 100644 data/core.telegram.org/constructor/updateBotShippingQuery.html create mode 100644 data/core.telegram.org/constructor/updateBotStopped.html create mode 100644 data/core.telegram.org/constructor/updateBotWebhookJSONQuery.html create mode 100644 data/core.telegram.org/constructor/updateChannel.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/updateChannelAvailableMessages.html (98%) create mode 100644 data/core.telegram.org/constructor/updateChannelMessageForwards.html create mode 100644 data/core.telegram.org/constructor/updateChannelMessageViews.html create mode 100644 data/core.telegram.org/constructor/updateChannelParticipant.html create mode 100644 data/core.telegram.org/constructor/updateChannelUserTyping.html create mode 100644 data/core.telegram.org/constructor/updateChannelWebPage.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/updateChat.html (98%) rename data/{corefork.telegram.org/constructor/updateChatParticipantAdmin.html => core.telegram.org/constructor/updateChatDefaultBannedRights.html} (85%) create mode 100644 data/core.telegram.org/constructor/updateChatParticipant.html create mode 100644 data/core.telegram.org/constructor/updateChatParticipantAdd.html create mode 100644 data/core.telegram.org/constructor/updateChatParticipantDelete.html create mode 100644 data/core.telegram.org/constructor/updateChatParticipants.html create mode 100644 data/core.telegram.org/constructor/updateChatUserTyping.html create mode 100644 data/core.telegram.org/constructor/updateConfig.html create mode 100644 data/core.telegram.org/constructor/updateContactsReset.html create mode 100644 data/core.telegram.org/constructor/updateDcOptions.html create mode 100644 data/core.telegram.org/constructor/updateDeleteChannelMessages.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/updateDeleteMessages.html (98%) rename data/{corefork.telegram.org => core.telegram.org}/constructor/updateDeleteScheduledMessages.html (98%) create mode 100644 data/core.telegram.org/constructor/updateDialogFilter.html create mode 100644 data/core.telegram.org/constructor/updateDialogFilterOrder.html create mode 100644 data/core.telegram.org/constructor/updateDialogFilters.html create mode 100644 data/core.telegram.org/constructor/updateDialogPinned.html create mode 100644 data/core.telegram.org/constructor/updateDialogUnreadMark.html create mode 100644 data/core.telegram.org/constructor/updateDraftMessage.html create mode 100644 data/core.telegram.org/constructor/updateEditChannelMessage.html create mode 100644 data/core.telegram.org/constructor/updateEditMessage.html create mode 100644 data/core.telegram.org/constructor/updateEncryptedChatTyping.html create mode 100644 data/core.telegram.org/constructor/updateEncryptedMessagesRead.html create mode 100644 data/core.telegram.org/constructor/updateEncryption.html create mode 100644 data/core.telegram.org/constructor/updateFavedStickers.html create mode 100644 data/core.telegram.org/constructor/updateFolderPeers.html create mode 100644 data/core.telegram.org/constructor/updateGeoLiveViewed.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/updateLangPackTooLong.html create mode 100644 data/core.telegram.org/constructor/updateLoginToken.html create mode 100644 data/core.telegram.org/constructor/updateMessageID.html create mode 100644 data/core.telegram.org/constructor/updateMessagePoll.html create mode 100644 data/core.telegram.org/constructor/updateMessagePollVote.html create mode 100644 data/core.telegram.org/constructor/updateNewChannelMessage.html create mode 100644 data/core.telegram.org/constructor/updateNewEncryptedMessage.html create mode 100644 data/core.telegram.org/constructor/updateNewMessage.html create mode 100644 data/core.telegram.org/constructor/updateNewScheduledMessage.html create mode 100644 data/core.telegram.org/constructor/updateNewStickerSet.html create mode 100644 data/core.telegram.org/constructor/updateNotifySettings.html create mode 100644 data/core.telegram.org/constructor/updatePeerBlocked.html create mode 100644 data/core.telegram.org/constructor/updatePeerHistoryTTL.html create mode 100644 data/core.telegram.org/constructor/updatePeerLocated.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/updatePeerSettings.html (98%) create mode 100644 data/core.telegram.org/constructor/updatePhoneCall.html create mode 100644 data/core.telegram.org/constructor/updatePhoneCallSignalingData.html create mode 100644 data/core.telegram.org/constructor/updatePinnedChannelMessages.html create mode 100644 data/core.telegram.org/constructor/updatePinnedDialogs.html create mode 100644 data/core.telegram.org/constructor/updatePinnedMessages.html create mode 100644 data/core.telegram.org/constructor/updatePrivacy.html create mode 100644 data/core.telegram.org/constructor/updatePtsChanged.html create mode 100644 data/core.telegram.org/constructor/updateReadChannelDiscussionOutbox.html create mode 100644 data/core.telegram.org/constructor/updateReadChannelInbox.html create mode 100644 data/core.telegram.org/constructor/updateReadChannelOutbox.html create mode 100644 data/core.telegram.org/constructor/updateReadFeaturedStickers.html create mode 100644 data/core.telegram.org/constructor/updateReadHistoryInbox.html create mode 100644 data/core.telegram.org/constructor/updateReadHistoryOutbox.html create mode 100644 data/core.telegram.org/constructor/updateReadMessagesContents.html create mode 100644 data/core.telegram.org/constructor/updateRecentStickers.html create mode 100644 data/core.telegram.org/constructor/updateSavedGifs.html create mode 100644 data/core.telegram.org/constructor/updateServiceNotification.html create mode 100644 data/core.telegram.org/constructor/updateShort.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/updateShortChatMessage.html (98%) create mode 100644 data/core.telegram.org/constructor/updateShortMessage.html create mode 100644 data/core.telegram.org/constructor/updateShortSentMessage.html create mode 100644 data/core.telegram.org/constructor/updateStickerSets.html create mode 100644 data/core.telegram.org/constructor/updateTheme.html create mode 100644 data/core.telegram.org/constructor/updateUserBlocked.html create mode 100644 data/core.telegram.org/constructor/updateUserName.html create mode 100644 data/core.telegram.org/constructor/updateUserPhone.html create mode 100644 data/core.telegram.org/constructor/updateUserPhoto.html create mode 100644 data/core.telegram.org/constructor/updateUserStatus.html create mode 100644 data/core.telegram.org/constructor/updateWebPage.html create mode 100644 data/core.telegram.org/constructor/updates.channelDifference create mode 100644 data/core.telegram.org/constructor/updates.channelDifferenceEmpty create mode 100644 data/core.telegram.org/constructor/updates.channelDifferenceTooLong create mode 100644 data/core.telegram.org/constructor/updates.difference create mode 100644 data/core.telegram.org/constructor/updates.differenceEmpty create mode 100644 data/core.telegram.org/constructor/updates.differenceSlice create mode 100644 data/core.telegram.org/constructor/updates.html create mode 100644 data/core.telegram.org/constructor/updates.state create mode 100644 data/core.telegram.org/constructor/updatesCombined.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/updatesTooLong.html (98%) create mode 100644 data/core.telegram.org/constructor/upload.cdnFile create mode 100644 data/core.telegram.org/constructor/upload.cdnFileReuploadNeeded create mode 100644 data/core.telegram.org/constructor/upload.fileCdnRedirect create mode 100644 data/core.telegram.org/constructor/upload.webFile create mode 100644 data/core.telegram.org/constructor/urlAuthResultAccepted.html create mode 100644 data/core.telegram.org/constructor/urlAuthResultRequest.html create mode 100644 data/core.telegram.org/constructor/userEmpty.html create mode 100644 data/core.telegram.org/constructor/userFull.html create mode 100644 data/core.telegram.org/constructor/userProfilePhoto.html create mode 100644 data/core.telegram.org/constructor/userStatusEmpty.html create mode 100644 data/core.telegram.org/constructor/userStatusLastMonth.html create mode 100644 data/core.telegram.org/constructor/userStatusLastWeek.html create mode 100644 data/core.telegram.org/constructor/userStatusOffline.html create mode 100644 data/core.telegram.org/constructor/userStatusOnline.html create mode 100644 data/core.telegram.org/constructor/userStatusRecently.html create mode 100644 data/core.telegram.org/constructor/vector.html create mode 100644 data/core.telegram.org/constructor/videoSize.html create mode 100644 data/core.telegram.org/constructor/wallPaperNoFile.html create mode 100644 data/core.telegram.org/constructor/wallPaperSettings.html create mode 100644 data/core.telegram.org/constructor/wallPaperSolid.html create mode 100644 data/core.telegram.org/constructor/webAuthorization.html create mode 100644 data/core.telegram.org/constructor/webDocument.html rename data/{corefork.telegram.org => core.telegram.org}/constructor/webDocumentNoProxy.html (98%) rename data/{corefork.telegram.org => core.telegram.org}/constructor/webPage.html (98%) create mode 100644 data/core.telegram.org/constructor/webPageAttributeTheme.html create mode 100644 data/core.telegram.org/constructor/webPageEmpty.html create mode 100644 data/core.telegram.org/constructor/webPageNotModified.html create mode 100644 data/core.telegram.org/constructor/webPagePending.html create mode 100644 data/core.telegram.org/contest300K.html rename data/{corefork.telegram.org => core.telegram.org}/import-stickers.html (98%) create mode 100644 data/core.telegram.org/method/account.acceptAuthorization create mode 100644 data/core.telegram.org/method/account.cancelPasswordEmail create mode 100644 data/core.telegram.org/method/account.changePhone create mode 100644 data/core.telegram.org/method/account.checkUsername rename data/{corefork.telegram.org => core.telegram.org}/method/account.confirmPasswordEmail (98%) create mode 100644 data/core.telegram.org/method/account.confirmPhone create mode 100644 data/core.telegram.org/method/account.createTheme create mode 100644 data/core.telegram.org/method/account.declinePasswordReset create mode 100644 data/core.telegram.org/method/account.deleteAccount rename data/{corefork.telegram.org => core.telegram.org}/method/account.deleteSecureValue (98%) create mode 100644 data/core.telegram.org/method/account.finishTakeoutSession create mode 100644 data/core.telegram.org/method/account.getAccountTTL rename data/{corefork.telegram.org => core.telegram.org}/method/account.getAllSecureValues (98%) create mode 100644 data/core.telegram.org/method/account.getAuthorizationForm create mode 100644 data/core.telegram.org/method/account.getAuthorizations create mode 100644 data/core.telegram.org/method/account.getAutoDownloadSettings create mode 100644 data/core.telegram.org/method/account.getChatThemes create mode 100644 data/core.telegram.org/method/account.getContactSignUpNotification create mode 100644 data/core.telegram.org/method/account.getContentSettings create mode 100644 data/core.telegram.org/method/account.getGlobalPrivacySettings create mode 100644 data/core.telegram.org/method/account.getMultiWallPapers create mode 100644 data/core.telegram.org/method/account.getNotifyExceptions create mode 100644 data/core.telegram.org/method/account.getNotifySettings create mode 100644 data/core.telegram.org/method/account.getPassword create mode 100644 data/core.telegram.org/method/account.getPasswordSettings create mode 100644 data/core.telegram.org/method/account.getPrivacy create mode 100644 data/core.telegram.org/method/account.getSecureValue create mode 100644 data/core.telegram.org/method/account.getTheme create mode 100644 data/core.telegram.org/method/account.getThemes create mode 100644 data/core.telegram.org/method/account.getTmpPassword create mode 100644 data/core.telegram.org/method/account.getWebAuthorizations create mode 100644 data/core.telegram.org/method/account.initTakeoutSession create mode 100644 data/core.telegram.org/method/account.installTheme create mode 100644 data/core.telegram.org/method/account.installWallPaper create mode 100644 data/core.telegram.org/method/account.registerDevice create mode 100644 data/core.telegram.org/method/account.reportPeer create mode 100644 data/core.telegram.org/method/account.reportProfilePhoto create mode 100644 data/core.telegram.org/method/account.resendPasswordEmail create mode 100644 data/core.telegram.org/method/account.resetAuthorization create mode 100644 data/core.telegram.org/method/account.resetNotifySettings create mode 100644 data/core.telegram.org/method/account.resetWallPapers create mode 100644 data/core.telegram.org/method/account.resetWebAuthorization create mode 100644 data/core.telegram.org/method/account.resetWebAuthorizations create mode 100644 data/core.telegram.org/method/account.saveAutoDownloadSettings create mode 100644 data/core.telegram.org/method/account.saveSecureValue create mode 100644 data/core.telegram.org/method/account.saveTheme create mode 100644 data/core.telegram.org/method/account.saveWallPaper create mode 100644 data/core.telegram.org/method/account.sendChangePhoneCode create mode 100644 data/core.telegram.org/method/account.sendConfirmPhoneCode create mode 100644 data/core.telegram.org/method/account.sendVerifyPhoneCode create mode 100644 data/core.telegram.org/method/account.setAccountTTL create mode 100644 data/core.telegram.org/method/account.setContactSignUpNotification create mode 100644 data/core.telegram.org/method/account.setContentSettings create mode 100644 data/core.telegram.org/method/account.setGlobalPrivacySettings create mode 100644 data/core.telegram.org/method/account.setPrivacy create mode 100644 data/core.telegram.org/method/account.unregisterDevice create mode 100644 data/core.telegram.org/method/account.updateDeviceLocked create mode 100644 data/core.telegram.org/method/account.updateNotifySettings create mode 100644 data/core.telegram.org/method/account.updatePasswordSettings rename data/{corefork.telegram.org => core.telegram.org}/method/account.updateStatus (98%) create mode 100644 data/core.telegram.org/method/account.updateTheme rename data/{corefork.telegram.org/method/account.updateProfile => core.telegram.org/method/account.updateUsername} (83%) create mode 100644 data/core.telegram.org/method/account.uploadTheme create mode 100644 data/core.telegram.org/method/account.uploadWallPaper rename data/{corefork.telegram.org => core.telegram.org}/method/account.verifyEmail (98%) create mode 100644 data/core.telegram.org/method/account.verifyPhone create mode 100644 data/core.telegram.org/method/auth.acceptLoginToken create mode 100644 data/core.telegram.org/method/auth.bindTempAuthKey rename data/{corefork.telegram.org => core.telegram.org}/method/auth.cancelCode (98%) create mode 100644 data/core.telegram.org/method/auth.checkPassword create mode 100644 data/core.telegram.org/method/auth.checkPhone create mode 100644 data/core.telegram.org/method/auth.checkRecoveryPassword create mode 100644 data/core.telegram.org/method/auth.dropTempAuthKeys create mode 100644 data/core.telegram.org/method/auth.exportLoginToken create mode 100644 data/core.telegram.org/method/auth.importAuthorization create mode 100644 data/core.telegram.org/method/auth.importBotAuthorization create mode 100644 data/core.telegram.org/method/auth.importLoginToken create mode 100644 data/core.telegram.org/method/auth.logOut create mode 100644 data/core.telegram.org/method/auth.recoverPassword create mode 100644 data/core.telegram.org/method/auth.requestPasswordRecovery rename data/{corefork.telegram.org => core.telegram.org}/method/auth.resendCode (98%) create mode 100644 data/core.telegram.org/method/auth.resetAuthorizations create mode 100644 data/core.telegram.org/method/auth.sendCall create mode 100644 data/core.telegram.org/method/auth.sendCode create mode 100644 data/core.telegram.org/method/auth.sendInvites create mode 100644 data/core.telegram.org/method/auth.signIn create mode 100644 data/core.telegram.org/method/bots.answerWebhookJSONQuery 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/bots.sendCustomRequest create mode 100644 data/core.telegram.org/method/bots.setBotCommands create mode 100644 data/core.telegram.org/method/channels.checkUsername create mode 100644 data/core.telegram.org/method/channels.convertToGigagroup create mode 100644 data/core.telegram.org/method/channels.createChannel create mode 100644 data/core.telegram.org/method/channels.deleteChannel create mode 100644 data/core.telegram.org/method/channels.deleteHistory create mode 100644 data/core.telegram.org/method/channels.deleteMessages create mode 100644 data/core.telegram.org/method/channels.deleteUserHistory create mode 100644 data/core.telegram.org/method/channels.editAdmin create mode 100644 data/core.telegram.org/method/channels.editBanned create mode 100644 data/core.telegram.org/method/channels.editCreator create mode 100644 data/core.telegram.org/method/channels.editLocation create mode 100644 data/core.telegram.org/method/channels.editPhoto create mode 100644 data/core.telegram.org/method/channels.editTitle create mode 100644 data/core.telegram.org/method/channels.exportMessageLink create mode 100644 data/core.telegram.org/method/channels.getAdminLog create mode 100644 data/core.telegram.org/method/channels.getAdminedPublicChannels create mode 100644 data/core.telegram.org/method/channels.getChannels create mode 100644 data/core.telegram.org/method/channels.getFullChannel create mode 100644 data/core.telegram.org/method/channels.getGroupsForDiscussion create mode 100644 data/core.telegram.org/method/channels.getInactiveChannels create mode 100644 data/core.telegram.org/method/channels.getLeftChannels create mode 100644 data/core.telegram.org/method/channels.getMessages create mode 100644 data/core.telegram.org/method/channels.getParticipant create mode 100644 data/core.telegram.org/method/channels.getParticipants create mode 100644 data/core.telegram.org/method/channels.getSponsoredMessages create mode 100644 data/core.telegram.org/method/channels.inviteToChannel create mode 100644 data/core.telegram.org/method/channels.joinChannel create mode 100644 data/core.telegram.org/method/channels.leaveChannel rename data/{corefork.telegram.org => core.telegram.org}/method/channels.readHistory (98%) create mode 100644 data/core.telegram.org/method/channels.readMessageContents create mode 100644 data/core.telegram.org/method/channels.reportSpam rename data/{corefork.telegram.org => core.telegram.org}/method/channels.setDiscussionGroup (98%) rename data/{corefork.telegram.org => core.telegram.org}/method/channels.setStickers (98%) create mode 100644 data/core.telegram.org/method/channels.togglePreHistoryHidden create mode 100644 data/core.telegram.org/method/channels.toggleSignatures create mode 100644 data/core.telegram.org/method/channels.toggleSlowMode create mode 100644 data/core.telegram.org/method/channels.updateUsername create mode 100644 data/core.telegram.org/method/channels.viewSponsoredMessage create mode 100644 data/core.telegram.org/method/contacts.addContact create mode 100644 data/core.telegram.org/method/contacts.blockFromReplies create mode 100644 data/core.telegram.org/method/contacts.deleteByPhones create mode 100644 data/core.telegram.org/method/contacts.getBlocked create mode 100644 data/core.telegram.org/method/contacts.getContactIDs create mode 100644 data/core.telegram.org/method/contacts.getContacts create mode 100644 data/core.telegram.org/method/contacts.getLocated create mode 100644 data/core.telegram.org/method/contacts.getSaved create mode 100644 data/core.telegram.org/method/contacts.getStatuses create mode 100644 data/core.telegram.org/method/contacts.getTopPeers create mode 100644 data/core.telegram.org/method/contacts.importContacts create mode 100644 data/core.telegram.org/method/contacts.resetSaved create mode 100644 data/core.telegram.org/method/contacts.resetTopPeerRating rename data/{corefork.telegram.org => core.telegram.org}/method/contacts.resolveUsername (98%) create mode 100644 data/core.telegram.org/method/contacts.search create mode 100644 data/core.telegram.org/method/contacts.toggleTopPeers rename data/{corefork.telegram.org => core.telegram.org}/method/contacts.unblock (98%) create mode 100644 data/core.telegram.org/method/folders.deleteFolder create mode 100644 data/core.telegram.org/method/help.acceptTermsOfService create mode 100644 data/core.telegram.org/method/help.editUserInfo create mode 100644 data/core.telegram.org/method/help.getAppChangelog create mode 100644 data/core.telegram.org/method/help.getAppConfig create mode 100644 data/core.telegram.org/method/help.getAppUpdate create mode 100644 data/core.telegram.org/method/help.getCdnConfig create mode 100644 data/core.telegram.org/method/help.getConfig create mode 100644 data/core.telegram.org/method/help.getCountriesList create mode 100644 data/core.telegram.org/method/help.getDeepLinkInfo create mode 100644 data/core.telegram.org/method/help.getInviteText rename data/{corefork.telegram.org => core.telegram.org}/method/help.getNearestDc (98%) create mode 100644 data/core.telegram.org/method/help.getPassportConfig create mode 100644 data/core.telegram.org/method/help.getPromoData create mode 100644 data/core.telegram.org/method/help.getProxyData create mode 100644 data/core.telegram.org/method/help.getRecentMeUrls create mode 100644 data/core.telegram.org/method/help.getSupport create mode 100644 data/core.telegram.org/method/help.getSupportName create mode 100644 data/core.telegram.org/method/help.getTermsOfServiceUpdate create mode 100644 data/core.telegram.org/method/help.getUserInfo create mode 100644 data/core.telegram.org/method/help.hidePromoData rename data/{corefork.telegram.org => core.telegram.org}/method/help.saveAppLog (98%) create mode 100644 data/core.telegram.org/method/help.setBotUpdatesStatus create mode 100644 data/core.telegram.org/method/initConnection.html create mode 100644 data/core.telegram.org/method/invokeAfterMsg.html create mode 100644 data/core.telegram.org/method/invokeAfterMsgs.html create mode 100644 data/core.telegram.org/method/invokeWithLayer.html create mode 100644 data/core.telegram.org/method/invokeWithMessagesRange.html create mode 100644 data/core.telegram.org/method/invokeWithTakeout.html create mode 100644 data/core.telegram.org/method/invokeWithoutUpdates.html create mode 100644 data/core.telegram.org/method/langpack.getDifference create mode 100644 data/core.telegram.org/method/langpack.getLangPack create mode 100644 data/core.telegram.org/method/langpack.getLanguage rename data/{corefork.telegram.org => core.telegram.org}/method/langpack.getLanguages (98%) create mode 100644 data/core.telegram.org/method/langpack.getStrings rename data/{corefork.telegram.org => core.telegram.org}/method/messages.acceptEncryption (98%) create mode 100644 data/core.telegram.org/method/messages.acceptUrlAuth create mode 100644 data/core.telegram.org/method/messages.addChatUser create mode 100644 data/core.telegram.org/method/messages.checkChatInvite create mode 100644 data/core.telegram.org/method/messages.checkHistoryImport rename data/{corefork.telegram.org => core.telegram.org}/method/messages.checkHistoryImportPeer (98%) create mode 100644 data/core.telegram.org/method/messages.clearAllDrafts rename data/{corefork.telegram.org => core.telegram.org}/method/messages.clearRecentStickers (98%) create mode 100644 data/core.telegram.org/method/messages.createChat rename data/{corefork.telegram.org => core.telegram.org}/method/messages.deleteChat (98%) create mode 100644 data/core.telegram.org/method/messages.deleteChatUser create mode 100644 data/core.telegram.org/method/messages.deleteExportedChatInvite create mode 100644 data/core.telegram.org/method/messages.deleteHistory create mode 100644 data/core.telegram.org/method/messages.deleteMessages 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.deleteScheduledMessages create mode 100644 data/core.telegram.org/method/messages.discardEncryption create mode 100644 data/core.telegram.org/method/messages.editChatAbout create mode 100644 data/core.telegram.org/method/messages.editChatAdmin create mode 100644 data/core.telegram.org/method/messages.editChatDefaultBannedRights create mode 100644 data/core.telegram.org/method/messages.editChatPhoto create mode 100644 data/core.telegram.org/method/messages.editChatTitle create mode 100644 data/core.telegram.org/method/messages.editExportedChatInvite create mode 100644 data/core.telegram.org/method/messages.editInlineBotMessage create mode 100644 data/core.telegram.org/method/messages.editMessage create mode 100644 data/core.telegram.org/method/messages.exportChatInvite rename data/{corefork.telegram.org/method/contacts.block => core.telegram.org/method/messages.faveSticker} (87%) create mode 100644 data/core.telegram.org/method/messages.forwardMessage create mode 100644 data/core.telegram.org/method/messages.getAdminsWithInvites create mode 100644 data/core.telegram.org/method/messages.getAllChats create mode 100644 data/core.telegram.org/method/messages.getAllDrafts create mode 100644 data/core.telegram.org/method/messages.getAllStickers create mode 100644 data/core.telegram.org/method/messages.getAttachedStickers create mode 100644 data/core.telegram.org/method/messages.getBotCallbackAnswer create mode 100644 data/core.telegram.org/method/messages.getChatInviteImporters create mode 100644 data/core.telegram.org/method/messages.getChats create mode 100644 data/core.telegram.org/method/messages.getCommonChats create mode 100644 data/core.telegram.org/method/messages.getDhConfig create mode 100644 data/core.telegram.org/method/messages.getDialogFilters create mode 100644 data/core.telegram.org/method/messages.getDialogUnreadMarks create mode 100644 data/core.telegram.org/method/messages.getDialogs create mode 100644 data/core.telegram.org/method/messages.getDiscussionMessage rename data/{corefork.telegram.org => core.telegram.org}/method/messages.getDocumentByHash (98%) create mode 100644 data/core.telegram.org/method/messages.getEmojiKeywords create mode 100644 data/core.telegram.org/method/messages.getEmojiKeywordsDifference create mode 100644 data/core.telegram.org/method/messages.getEmojiKeywordsLanguages create mode 100644 data/core.telegram.org/method/messages.getEmojiURL 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.getFavedStickers create mode 100644 data/core.telegram.org/method/messages.getFeaturedStickers create mode 100644 data/core.telegram.org/method/messages.getFullChat rename data/{corefork.telegram.org/method/messages.getInlineGameHighScores => core.telegram.org/method/messages.getGameHighScores} (89%) create mode 100644 data/core.telegram.org/method/messages.getHistory create mode 100644 data/core.telegram.org/method/messages.getInlineBotResults create mode 100644 data/core.telegram.org/method/messages.getMaskStickers create mode 100644 data/core.telegram.org/method/messages.getMessageEditData create mode 100644 data/core.telegram.org/method/messages.getMessageReactionsList create mode 100644 data/core.telegram.org/method/messages.getMessageReadParticipants rename data/{corefork.telegram.org => core.telegram.org}/method/messages.getMessages (98%) create mode 100644 data/core.telegram.org/method/messages.getMessagesViews create mode 100644 data/core.telegram.org/method/messages.getOldFeaturedStickers create mode 100644 data/core.telegram.org/method/messages.getOnlines create mode 100644 data/core.telegram.org/method/messages.getPeerSettings create mode 100644 data/core.telegram.org/method/messages.getPollResults create mode 100644 data/core.telegram.org/method/messages.getPollVotes create mode 100644 data/core.telegram.org/method/messages.getRecentLocations create mode 100644 data/core.telegram.org/method/messages.getReplies create mode 100644 data/core.telegram.org/method/messages.getSavedGifs create mode 100644 data/core.telegram.org/method/messages.getScheduledHistory create mode 100644 data/core.telegram.org/method/messages.getScheduledMessages create mode 100644 data/core.telegram.org/method/messages.getSearchCounters create mode 100644 data/core.telegram.org/method/messages.getSplitRanges create mode 100644 data/core.telegram.org/method/messages.getStickerSet create mode 100644 data/core.telegram.org/method/messages.getStickers create mode 100644 data/core.telegram.org/method/messages.getSuggestedDialogFilters create mode 100644 data/core.telegram.org/method/messages.getUnreadMentions create mode 100644 data/core.telegram.org/method/messages.getWebPage create mode 100644 data/core.telegram.org/method/messages.getWebPagePreview create mode 100644 data/core.telegram.org/method/messages.hidePeerSettingsBar create mode 100644 data/core.telegram.org/method/messages.importChatInvite create mode 100644 data/core.telegram.org/method/messages.initHistoryImport create mode 100644 data/core.telegram.org/method/messages.installStickerSet create mode 100644 data/core.telegram.org/method/messages.markDialogUnread create mode 100644 data/core.telegram.org/method/messages.migrateChat create mode 100644 data/core.telegram.org/method/messages.readDiscussion create mode 100644 data/core.telegram.org/method/messages.readEncryptedHistory create mode 100644 data/core.telegram.org/method/messages.readFeaturedStickers rename data/{corefork.telegram.org => core.telegram.org}/method/messages.readHistory (98%) create mode 100644 data/core.telegram.org/method/messages.readMentions rename data/{corefork.telegram.org => core.telegram.org}/method/messages.readMessageContents (98%) create mode 100644 data/core.telegram.org/method/messages.receivedMessages create mode 100644 data/core.telegram.org/method/messages.receivedQueue create mode 100644 data/core.telegram.org/method/messages.reorderPinnedDialogs create mode 100644 data/core.telegram.org/method/messages.reorderStickerSets create mode 100644 data/core.telegram.org/method/messages.report create mode 100644 data/core.telegram.org/method/messages.reportEncryptedSpam create mode 100644 data/core.telegram.org/method/messages.reportSpam create mode 100644 data/core.telegram.org/method/messages.requestEncryption create mode 100644 data/core.telegram.org/method/messages.requestUrlAuth create mode 100644 data/core.telegram.org/method/messages.saveDraft create mode 100644 data/core.telegram.org/method/messages.saveGif create mode 100644 data/core.telegram.org/method/messages.saveRecentSticker create mode 100644 data/core.telegram.org/method/messages.search create mode 100644 data/core.telegram.org/method/messages.searchGifs create mode 100644 data/core.telegram.org/method/messages.searchGlobal create mode 100644 data/core.telegram.org/method/messages.searchStickerSets create mode 100644 data/core.telegram.org/method/messages.sendBroadcast create mode 100644 data/core.telegram.org/method/messages.sendEncrypted create mode 100644 data/core.telegram.org/method/messages.sendEncryptedFile create mode 100644 data/core.telegram.org/method/messages.sendEncryptedService create mode 100644 data/core.telegram.org/method/messages.sendInlineBotResult rename data/{corefork.telegram.org => core.telegram.org}/method/messages.sendMedia (99%) create mode 100644 data/core.telegram.org/method/messages.sendMessage create mode 100644 data/core.telegram.org/method/messages.sendMultiMedia create mode 100644 data/core.telegram.org/method/messages.sendReaction create mode 100644 data/core.telegram.org/method/messages.sendScheduledMessages create mode 100644 data/core.telegram.org/method/messages.sendScreenshotNotification create mode 100644 data/core.telegram.org/method/messages.sendVote rename data/{corefork.telegram.org => core.telegram.org}/method/messages.setBotCallbackAnswer (98%) create mode 100644 data/core.telegram.org/method/messages.setBotPrecheckoutResults create mode 100644 data/core.telegram.org/method/messages.setBotShippingResults create mode 100644 data/core.telegram.org/method/messages.setEncryptedTyping create mode 100644 data/core.telegram.org/method/messages.setGameScore create mode 100644 data/core.telegram.org/method/messages.setHistoryTTL create mode 100644 data/core.telegram.org/method/messages.setInlineBotResults create mode 100644 data/core.telegram.org/method/messages.setInlineGameScore create mode 100644 data/core.telegram.org/method/messages.setTyping create mode 100644 data/core.telegram.org/method/messages.startBot create mode 100644 data/core.telegram.org/method/messages.startHistoryImport create mode 100644 data/core.telegram.org/method/messages.toggleDialogPin create mode 100644 data/core.telegram.org/method/messages.toggleStickerSets rename data/{corefork.telegram.org => core.telegram.org}/method/messages.uninstallStickerSet (98%) create mode 100644 data/core.telegram.org/method/messages.unpinAllMessages create mode 100644 data/core.telegram.org/method/messages.updateDialogFilter create mode 100644 data/core.telegram.org/method/messages.updateDialogFiltersOrder create mode 100644 data/core.telegram.org/method/messages.updatePinnedMessage create mode 100644 data/core.telegram.org/method/messages.uploadEncryptedFile create mode 100644 data/core.telegram.org/method/messages.uploadImportedMedia create mode 100644 data/core.telegram.org/method/messages.uploadMedia create mode 100644 data/core.telegram.org/method/payments.clearSavedInfo create mode 100644 data/core.telegram.org/method/payments.getBankCardData create mode 100644 data/core.telegram.org/method/payments.getPaymentForm create mode 100644 data/core.telegram.org/method/payments.getPaymentReceipt create mode 100644 data/core.telegram.org/method/payments.getSavedInfo create mode 100644 data/core.telegram.org/method/payments.sendPaymentForm create mode 100644 data/core.telegram.org/method/payments.validateRequestedInfo create mode 100644 data/core.telegram.org/method/phone.acceptCall create mode 100644 data/core.telegram.org/method/phone.checkGroupCall create mode 100644 data/core.telegram.org/method/phone.confirmCall create mode 100644 data/core.telegram.org/method/phone.createGroupCall create mode 100644 data/core.telegram.org/method/phone.discardCall 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.getCallConfig create mode 100644 data/core.telegram.org/method/phone.getGroupCall rename data/{corefork.telegram.org => core.telegram.org}/method/phone.getGroupCallJoinAs (98%) rename data/{corefork.telegram.org => core.telegram.org}/method/phone.getGroupParticipants (98%) 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.leaveGroupCallPresentation create mode 100644 data/core.telegram.org/method/phone.receivedCall create mode 100644 data/core.telegram.org/method/phone.requestCall rename data/{corefork.telegram.org => core.telegram.org}/method/phone.saveCallDebug (98%) rename data/{corefork.telegram.org => core.telegram.org}/method/phone.saveDefaultGroupCallJoinAs (98%) create mode 100644 data/core.telegram.org/method/phone.sendSignalingData create mode 100644 data/core.telegram.org/method/phone.setCallRating 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/photos.deletePhotos rename data/{corefork.telegram.org => core.telegram.org}/method/photos.getUserPhotos (98%) create mode 100644 data/core.telegram.org/method/photos.updateProfilePhoto create mode 100644 data/core.telegram.org/method/stats.getBroadcastStats create mode 100644 data/core.telegram.org/method/stats.getMegagroupStats create mode 100644 data/core.telegram.org/method/stats.loadAsyncGraph create mode 100644 data/core.telegram.org/method/stickers.addStickerToSet create mode 100644 data/core.telegram.org/method/stickers.changeStickerPosition create mode 100644 data/core.telegram.org/method/stickers.checkShortName create mode 100644 data/core.telegram.org/method/stickers.createStickerSet create mode 100644 data/core.telegram.org/method/stickers.removeStickerFromSet create mode 100644 data/core.telegram.org/method/stickers.setStickerSetThumb rename data/{corefork.telegram.org => core.telegram.org}/method/stickers.suggestShortName (98%) create mode 100644 data/core.telegram.org/method/updates.getChannelDifference create mode 100644 data/core.telegram.org/method/updates.getDifference create mode 100644 data/core.telegram.org/method/updates.getState create mode 100644 data/core.telegram.org/method/upload.getCdnFile create mode 100644 data/core.telegram.org/method/upload.getCdnFileHashes create mode 100644 data/core.telegram.org/method/upload.getFile rename data/{corefork.telegram.org/method/auth.exportAuthorization => core.telegram.org/method/upload.getFileHashes} (85%) create mode 100644 data/core.telegram.org/method/upload.getWebFile create mode 100644 data/core.telegram.org/method/upload.reuploadCdnFile create mode 100644 data/core.telegram.org/method/upload.saveBigFilePart create mode 100644 data/core.telegram.org/method/upload.saveFilePart rename data/{corefork.telegram.org/method/users.getFullUser => core.telegram.org/method/users.getUsers} (81%) create mode 100644 data/core.telegram.org/method/users.setSecureValueErrors create mode 100644 data/core.telegram.org/methods.html create mode 100644 data/core.telegram.org/mtproto.html create mode 100644 data/core.telegram.org/mtproto/TL-abstract-types.html create mode 100644 data/core.telegram.org/mtproto/TL-combinators.html create mode 100644 data/core.telegram.org/mtproto/TL-dependent.html create mode 100644 data/core.telegram.org/mtproto/TL-formal.html create mode 100644 data/core.telegram.org/mtproto/TL-optargs.html create mode 100644 data/core.telegram.org/mtproto/TL-patterns.html create mode 100644 data/core.telegram.org/mtproto/TL-polymorph.html create mode 100644 data/core.telegram.org/mtproto/TL-tl.html create mode 100644 data/core.telegram.org/mtproto/TL-types.html rename data/{corefork.telegram.org => core.telegram.org}/mtproto/auth_key.html (63%) create mode 100644 data/core.telegram.org/mtproto/description.html create mode 100644 data/core.telegram.org/mtproto/description_v1.html create mode 100644 data/core.telegram.org/mtproto/mtproto-transports.html create mode 100644 data/core.telegram.org/mtproto/samples-auth_key.html create mode 100644 data/core.telegram.org/mtproto/security_guidelines.html create mode 100644 data/core.telegram.org/mtproto/security_guidelines_v1.html create mode 100644 data/core.telegram.org/mtproto/serialize.html create mode 100644 data/core.telegram.org/mtproto_v1.html create mode 100644 data/core.telegram.org/passport.html create mode 100644 data/core.telegram.org/passport/encryption.html create mode 100644 data/core.telegram.org/passport/example.html create mode 100644 data/core.telegram.org/passport/sdk-android.html create mode 100644 data/core.telegram.org/passport/sdk-ios-mac.html create mode 100644 data/core.telegram.org/passport/sdk-javascript.html create mode 100644 data/core.telegram.org/reproducible-builds.html create mode 100644 data/core.telegram.org/schema.html create mode 100644 data/core.telegram.org/schema/end-to-end-json.html create mode 100644 data/core.telegram.org/schema/end-to-end.html create mode 100644 data/core.telegram.org/schema/json.html create mode 100644 data/core.telegram.org/schema/mtproto-json.html create mode 100644 data/core.telegram.org/schema/mtproto.html create mode 100644 data/core.telegram.org/stickers/webm-vp9-encoding.html create mode 100644 data/core.telegram.org/tdlib.html create mode 100644 data/core.telegram.org/tdlib/getting-started.html create mode 100644 data/core.telegram.org/tdlib/notification-api.html create mode 100644 data/core.telegram.org/tdlib/options.html create mode 100644 data/core.telegram.org/techfaq.html create mode 100644 data/core.telegram.org/themes.html rename data/{corefork.telegram.org => core.telegram.org}/type/AccountDaysTTL.html (98%) rename data/{corefork.telegram.org/type/contacts.Link => core.telegram.org/type/Audio.html} (90%) create mode 100644 data/core.telegram.org/type/Authorization.html create mode 100644 data/core.telegram.org/type/AutoDownloadSettings.html create mode 100644 data/core.telegram.org/type/BankCardOpenUrl.html create mode 100644 data/core.telegram.org/type/BaseTheme.html create mode 100644 data/core.telegram.org/type/Bool.html rename data/{corefork.telegram.org => core.telegram.org}/type/BotCommand.html (98%) create mode 100644 data/core.telegram.org/type/BotCommandScope.html create mode 100644 data/core.telegram.org/type/BotInfo.html create mode 100644 data/core.telegram.org/type/BotInlineResult.html create mode 100644 data/core.telegram.org/type/CdnConfig.html create mode 100644 data/core.telegram.org/type/CdnPublicKey.html create mode 100644 data/core.telegram.org/type/ChannelAdminLogEvent.html create mode 100644 data/core.telegram.org/type/ChannelAdminLogEventsFilter.html create mode 100644 data/core.telegram.org/type/ChannelLocation.html create mode 100644 data/core.telegram.org/type/ChannelMessagesFilter.html create mode 100644 data/core.telegram.org/type/ChannelParticipant.html create mode 100644 data/core.telegram.org/type/ChannelParticipantsFilter.html create mode 100644 data/core.telegram.org/type/Chat.html create mode 100644 data/core.telegram.org/type/ChatAdminRights.html rename data/{corefork.telegram.org => core.telegram.org}/type/ChatAdminWithInvites.html (98%) create mode 100644 data/core.telegram.org/type/ChatBannedRights.html create mode 100644 data/core.telegram.org/type/ChatFull.html rename data/{corefork.telegram.org => core.telegram.org}/type/ChatInvite.html (98%) create mode 100644 data/core.telegram.org/type/ChatInviteImporter.html rename data/{corefork.telegram.org => core.telegram.org}/type/ChatOnlines.html (98%) create mode 100644 data/core.telegram.org/type/ChatParticipant.html create mode 100644 data/core.telegram.org/type/ChatParticipants.html create mode 100644 data/core.telegram.org/type/ChatPhoto.html create mode 100644 data/core.telegram.org/type/ChatTheme.html create mode 100644 data/core.telegram.org/type/CodeSettings.html rename data/{corefork.telegram.org => core.telegram.org}/type/Config.html (98%) create mode 100644 data/core.telegram.org/type/Contact.html create mode 100644 data/core.telegram.org/type/ContactStatus.html rename data/{corefork.telegram.org => core.telegram.org}/type/DataJSON.html (98%) create mode 100644 data/core.telegram.org/type/DcOption.html create mode 100644 data/core.telegram.org/type/DecryptedDataBlock.html create mode 100644 data/core.telegram.org/type/DecryptedMessage.html create mode 100644 data/core.telegram.org/type/DecryptedMessageAction.html rename data/{corefork.telegram.org => core.telegram.org}/type/DecryptedMessageLayer.html (98%) create mode 100644 data/core.telegram.org/type/DecryptedMessageMedia.html create mode 100644 data/core.telegram.org/type/Dialog.html create mode 100644 data/core.telegram.org/type/DialogFilter.html create mode 100644 data/core.telegram.org/type/DialogFilterSuggested.html create mode 100644 data/core.telegram.org/type/DialogPeer.html create mode 100644 data/core.telegram.org/type/DisabledFeature.html create mode 100644 data/core.telegram.org/type/Document.html create mode 100644 data/core.telegram.org/type/DocumentAttribute.html create mode 100644 data/core.telegram.org/type/DraftMessage.html create mode 100644 data/core.telegram.org/type/EmojiKeyword.html create mode 100644 data/core.telegram.org/type/EmojiKeywordsDifference.html create mode 100644 data/core.telegram.org/type/EmojiLanguage.html create mode 100644 data/core.telegram.org/type/EmojiURL.html create mode 100644 data/core.telegram.org/type/EncryptedChat.html create mode 100644 data/core.telegram.org/type/EncryptedFile.html create mode 100644 data/core.telegram.org/type/EncryptedMessage.html create mode 100644 data/core.telegram.org/type/ExportedChatInvite.html create mode 100644 data/core.telegram.org/type/ExportedMessageLink.html create mode 100644 data/core.telegram.org/type/FileHash.html create mode 100644 data/core.telegram.org/type/FileLocation.html create mode 100644 data/core.telegram.org/type/Folder.html create mode 100644 data/core.telegram.org/type/FolderPeer.html create mode 100644 data/core.telegram.org/type/Game.html create mode 100644 data/core.telegram.org/type/GeoPoint.html create mode 100644 data/core.telegram.org/type/GlobalPrivacySettings.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/GroupCallParticipantVideoSourceGroup.html create mode 100644 data/core.telegram.org/type/HighScore.html rename data/{corefork.telegram.org => core.telegram.org}/type/ImportedContact.html (98%) create mode 100644 data/core.telegram.org/type/InlineBotSwitchPM.html create mode 100644 data/core.telegram.org/type/InlineQueryPeerType.html create mode 100644 data/core.telegram.org/type/InputAppEvent.html create mode 100644 data/core.telegram.org/type/InputBotInlineMessage.html create mode 100644 data/core.telegram.org/type/InputBotInlineMessageID.html create mode 100644 data/core.telegram.org/type/InputChannel.html create mode 100644 data/core.telegram.org/type/InputChatPhoto.html create mode 100644 data/core.telegram.org/type/InputCheckPasswordSRP.html create mode 100644 data/core.telegram.org/type/InputClientProxy.html create mode 100644 data/core.telegram.org/type/InputDialogPeer.html create mode 100644 data/core.telegram.org/type/InputDocument.html create mode 100644 data/core.telegram.org/type/InputEncryptedChat.html create mode 100644 data/core.telegram.org/type/InputEncryptedFile.html create mode 100644 data/core.telegram.org/type/InputFile.html create mode 100644 data/core.telegram.org/type/InputFileLocation.html create mode 100644 data/core.telegram.org/type/InputFolderPeer.html create mode 100644 data/core.telegram.org/type/InputGeoPoint.html rename data/{corefork.telegram.org/type/ShippingOption.html => core.telegram.org/type/InputGroupCall.html} (88%) create mode 100644 data/core.telegram.org/type/InputMedia.html create mode 100644 data/core.telegram.org/type/InputMessage.html create mode 100644 data/core.telegram.org/type/InputPaymentCredentials.html create mode 100644 data/core.telegram.org/type/InputPeer.html create mode 100644 data/core.telegram.org/type/InputPhoneCall.html create mode 100644 data/core.telegram.org/type/InputPhoto.html create mode 100644 data/core.telegram.org/type/InputPrivacyKey.html create mode 100644 data/core.telegram.org/type/InputPrivacyRule.html create mode 100644 data/core.telegram.org/type/InputSecureFile.html create mode 100644 data/core.telegram.org/type/InputSingleMedia.html create mode 100644 data/core.telegram.org/type/InputStickerSet.html rename data/{corefork.telegram.org => core.telegram.org}/type/InputStickerSetItem.html (98%) create mode 100644 data/core.telegram.org/type/InputStickeredMedia.html create mode 100644 data/core.telegram.org/type/InputTheme.html create mode 100644 data/core.telegram.org/type/InputThemeSettings.html create mode 100644 data/core.telegram.org/type/InputUser.html create mode 100644 data/core.telegram.org/type/InputWallPaper.html create mode 100644 data/core.telegram.org/type/InputWebDocument.html create mode 100644 data/core.telegram.org/type/InputWebFileLocation.html create mode 100644 data/core.telegram.org/type/Invoice.html create mode 100644 data/core.telegram.org/type/JSONObjectValue.html create mode 100644 data/core.telegram.org/type/JSONValue.html create mode 100644 data/core.telegram.org/type/KeyboardButton.html create mode 100644 data/core.telegram.org/type/KeyboardButtonRow.html create mode 100644 data/core.telegram.org/type/LabeledPrice.html create mode 100644 data/core.telegram.org/type/LangPackDifference.html create mode 100644 data/core.telegram.org/type/LangPackLanguage.html create mode 100644 data/core.telegram.org/type/LangPackString.html create mode 100644 data/core.telegram.org/type/MaskCoords.html create mode 100644 data/core.telegram.org/type/Message.html create mode 100644 data/core.telegram.org/type/MessageAction.html create mode 100644 data/core.telegram.org/type/MessageEntity.html create mode 100644 data/core.telegram.org/type/MessageFwdHeader.html create mode 100644 data/core.telegram.org/type/MessageInteractionCounters.html create mode 100644 data/core.telegram.org/type/MessageMedia.html create mode 100644 data/core.telegram.org/type/MessageRange.html create mode 100644 data/core.telegram.org/type/MessageReplies.html create mode 100644 data/core.telegram.org/type/MessageReplyHeader.html create mode 100644 data/core.telegram.org/type/MessageUserVote.html create mode 100644 data/core.telegram.org/type/MessageViews.html create mode 100644 data/core.telegram.org/type/MessagesFilter.html create mode 100644 data/core.telegram.org/type/NearestDc.html create mode 100644 data/core.telegram.org/type/NotifyPeer.html create mode 100644 data/core.telegram.org/type/Null.html create mode 100644 data/core.telegram.org/type/PageBlock.html rename data/{corefork.telegram.org => core.telegram.org}/type/PageCaption.html (98%) create mode 100644 data/core.telegram.org/type/PageListOrderedItem.html rename data/{corefork.telegram.org/type/Page.html => core.telegram.org/type/PageRelatedArticle.html} (86%) create mode 100644 data/core.telegram.org/type/PageTableCell.html create mode 100644 data/core.telegram.org/type/PageTableRow.html create mode 100644 data/core.telegram.org/type/PasswordKdfAlgo.html create mode 100644 data/core.telegram.org/type/PaymentCharge.html create mode 100644 data/core.telegram.org/type/PaymentRequestedInfo.html create mode 100644 data/core.telegram.org/type/PaymentSavedCredentials.html rename data/{corefork.telegram.org => core.telegram.org}/type/Peer.html (98%) create mode 100644 data/core.telegram.org/type/PeerBlocked.html create mode 100644 data/core.telegram.org/type/PeerLocated.html create mode 100644 data/core.telegram.org/type/PeerNotifySettings.html create mode 100644 data/core.telegram.org/type/PeerSettings.html create mode 100644 data/core.telegram.org/type/PhoneCall.html create mode 100644 data/core.telegram.org/type/PhoneCallDiscardReason.html create mode 100644 data/core.telegram.org/type/PhoneCallProtocol.html create mode 100644 data/core.telegram.org/type/PhoneConnection.html create mode 100644 data/core.telegram.org/type/Photo.html create mode 100644 data/core.telegram.org/type/PhotoSize.html create mode 100644 data/core.telegram.org/type/Poll.html create mode 100644 data/core.telegram.org/type/PollAnswer.html create mode 100644 data/core.telegram.org/type/PollAnswerVoters.html create mode 100644 data/core.telegram.org/type/PollResults.html create mode 100644 data/core.telegram.org/type/PopularContact.html create mode 100644 data/core.telegram.org/type/PostAddress.html create mode 100644 data/core.telegram.org/type/PrivacyKey.html create mode 100644 data/core.telegram.org/type/PrivacyRule.html create mode 100644 data/core.telegram.org/type/ReceivedNotifyMessage.html create mode 100644 data/core.telegram.org/type/RecentMeUrl.html create mode 100644 data/core.telegram.org/type/ReplyMarkup.html create mode 100644 data/core.telegram.org/type/ReportReason.html create mode 100644 data/core.telegram.org/type/RestrictionReason.html create mode 100644 data/core.telegram.org/type/RichText.html create mode 100644 data/core.telegram.org/type/SavedContact.html create mode 100644 data/core.telegram.org/type/SecureCredentialsEncrypted.html create mode 100644 data/core.telegram.org/type/SecureData.html create mode 100644 data/core.telegram.org/type/SecurePasswordKdfAlgo.html create mode 100644 data/core.telegram.org/type/SecurePlainData.html create mode 100644 data/core.telegram.org/type/SecureRequiredType.html create mode 100644 data/core.telegram.org/type/SecureSecretSettings.html create mode 100644 data/core.telegram.org/type/SecureValue.html create mode 100644 data/core.telegram.org/type/SecureValueError.html create mode 100644 data/core.telegram.org/type/SecureValueHash.html create mode 100644 data/core.telegram.org/type/SecureValueType.html rename data/{corefork.telegram.org => core.telegram.org}/type/SendMessageAction.html (98%) create mode 100644 data/core.telegram.org/type/SponsoredMessage.html create mode 100644 data/core.telegram.org/type/StatsAbsValueAndPrev.html create mode 100644 data/core.telegram.org/type/StatsDateRangeDays.html create mode 100644 data/core.telegram.org/type/StatsGroupTopAdmin.html create mode 100644 data/core.telegram.org/type/StatsGroupTopInviter.html create mode 100644 data/core.telegram.org/type/StatsGroupTopPoster.html create mode 100644 data/core.telegram.org/type/StatsPercentValue.html rename data/{corefork.telegram.org => core.telegram.org}/type/StatsURL.html (98%) create mode 100644 data/core.telegram.org/type/StickerPack.html create mode 100644 data/core.telegram.org/type/StickerSet.html create mode 100644 data/core.telegram.org/type/StickerSetCovered.html create mode 100644 data/core.telegram.org/type/Theme.html create mode 100644 data/core.telegram.org/type/ThemeSettings.html rename data/{corefork.telegram.org => core.telegram.org}/type/TopPeer.html (98%) create mode 100644 data/core.telegram.org/type/TopPeerCategory.html create mode 100644 data/core.telegram.org/type/TopPeerCategoryPeers.html create mode 100644 data/core.telegram.org/type/True.html create mode 100644 data/core.telegram.org/type/Update.html rename data/{corefork.telegram.org => core.telegram.org}/type/Updates.html (99%) create mode 100644 data/core.telegram.org/type/UrlAuthResult.html create mode 100644 data/core.telegram.org/type/User.html create mode 100644 data/core.telegram.org/type/UserFull.html create mode 100644 data/core.telegram.org/type/UserProfilePhoto.html create mode 100644 data/core.telegram.org/type/UserStatus.html create mode 100644 data/core.telegram.org/type/Vector t.html rename data/{corefork.telegram.org => core.telegram.org}/type/VideoSize.html (98%) create mode 100644 data/core.telegram.org/type/WallPaper.html create mode 100644 data/core.telegram.org/type/WallPaperSettings.html create mode 100644 data/core.telegram.org/type/WebAuthorization.html rename data/{corefork.telegram.org => core.telegram.org}/type/WebDocument.html (98%) create mode 100644 data/core.telegram.org/type/WebPage.html create mode 100644 data/core.telegram.org/type/WebPageAttribute.html create mode 100644 data/core.telegram.org/type/account.AuthorizationForm create mode 100644 data/core.telegram.org/type/account.Authorizations create mode 100644 data/core.telegram.org/type/account.AutoDownloadSettings rename data/{corefork.telegram.org => core.telegram.org}/type/account.ContentSettings (98%) create mode 100644 data/core.telegram.org/type/account.Password create mode 100644 data/core.telegram.org/type/account.PasswordInputSettings create mode 100644 data/core.telegram.org/type/account.PasswordSettings create mode 100644 data/core.telegram.org/type/account.ResetPasswordResult create mode 100644 data/core.telegram.org/type/account.SentChangePhoneCode create mode 100644 data/core.telegram.org/type/account.SentEmailCode create mode 100644 data/core.telegram.org/type/account.Takeout create mode 100644 data/core.telegram.org/type/account.Themes create mode 100644 data/core.telegram.org/type/account.TmpPassword create mode 100644 data/core.telegram.org/type/account.WallPapers create mode 100644 data/core.telegram.org/type/account.WebAuthorizations create mode 100644 data/core.telegram.org/type/auth.Authorization create mode 100644 data/core.telegram.org/type/auth.CheckedPhone create mode 100644 data/core.telegram.org/type/auth.CodeType create mode 100644 data/core.telegram.org/type/auth.ExportedAuthorization create mode 100644 data/core.telegram.org/type/auth.LoginToken create mode 100644 data/core.telegram.org/type/auth.PasswordRecovery create mode 100644 data/core.telegram.org/type/auth.SentCode create mode 100644 data/core.telegram.org/type/auth.SentCodeType create mode 100644 data/core.telegram.org/type/bytes.html create mode 100644 data/core.telegram.org/type/channels.AdminLogResults create mode 100644 data/core.telegram.org/type/channels.ChannelParticipant create mode 100644 data/core.telegram.org/type/channels.ChannelParticipants create mode 100644 data/core.telegram.org/type/contacts.Blocked create mode 100644 data/core.telegram.org/type/contacts.Contacts create mode 100644 data/core.telegram.org/type/contacts.Found rename data/{corefork.telegram.org => core.telegram.org}/type/contacts.ImportedContacts (98%) create mode 100644 data/core.telegram.org/type/contacts.ResolvedPeer create mode 100644 data/core.telegram.org/type/contacts.TopPeers create mode 100644 data/core.telegram.org/type/double.html create mode 100644 data/core.telegram.org/type/help.AppUpdate rename data/{corefork.telegram.org => core.telegram.org}/type/help.Country (98%) create mode 100644 data/core.telegram.org/type/help.CountryCode create mode 100644 data/core.telegram.org/type/help.DeepLinkInfo create mode 100644 data/core.telegram.org/type/help.InviteText create mode 100644 data/core.telegram.org/type/help.PassportConfig create mode 100644 data/core.telegram.org/type/help.PromoData create mode 100644 data/core.telegram.org/type/help.ProxyData create mode 100644 data/core.telegram.org/type/help.RecentMeUrls create mode 100644 data/core.telegram.org/type/help.Support create mode 100644 data/core.telegram.org/type/help.SupportName create mode 100644 data/core.telegram.org/type/help.TermsOfService create mode 100644 data/core.telegram.org/type/help.UserInfo create mode 100644 data/core.telegram.org/type/int.html create mode 100644 data/core.telegram.org/type/long.html create mode 100644 data/core.telegram.org/type/messages.AffectedFoundMessages create mode 100644 data/core.telegram.org/type/messages.AffectedHistory create mode 100644 data/core.telegram.org/type/messages.AffectedMessages create mode 100644 data/core.telegram.org/type/messages.AllStickers create mode 100644 data/core.telegram.org/type/messages.BotCallbackAnswer create mode 100644 data/core.telegram.org/type/messages.BotResults create mode 100644 data/core.telegram.org/type/messages.ChatAdminsWithInvites rename data/{corefork.telegram.org => core.telegram.org}/type/messages.ChatFull (98%) create mode 100644 data/core.telegram.org/type/messages.ChatInviteImporters create mode 100644 data/core.telegram.org/type/messages.Chats create mode 100644 data/core.telegram.org/type/messages.CheckedHistoryImportPeer create mode 100644 data/core.telegram.org/type/messages.DhConfig create mode 100644 data/core.telegram.org/type/messages.Dialogs create mode 100644 data/core.telegram.org/type/messages.DiscussionMessage create mode 100644 data/core.telegram.org/type/messages.ExportedChatInvites create mode 100644 data/core.telegram.org/type/messages.FeaturedStickers create mode 100644 data/core.telegram.org/type/messages.FoundGifs create mode 100644 data/core.telegram.org/type/messages.FoundStickerSets create mode 100644 data/core.telegram.org/type/messages.HighScores 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.InactiveChats create mode 100644 data/core.telegram.org/type/messages.MessageEditData create mode 100644 data/core.telegram.org/type/messages.MessageViews create mode 100644 data/core.telegram.org/type/messages.Messages create mode 100644 data/core.telegram.org/type/messages.RecentStickers rename data/{corefork.telegram.org => core.telegram.org}/type/messages.SavedGifs (98%) rename data/{corefork.telegram.org => core.telegram.org}/type/messages.SearchCounter (98%) create mode 100644 data/core.telegram.org/type/messages.SentEncryptedMessage create mode 100644 data/core.telegram.org/type/messages.SentMessage create mode 100644 data/core.telegram.org/type/messages.SponsoredMessages rename data/{corefork.telegram.org => core.telegram.org}/type/messages.StatedMessage (97%) create mode 100644 data/core.telegram.org/type/messages.StatedMessages create mode 100644 data/core.telegram.org/type/messages.StickerSet create mode 100644 data/core.telegram.org/type/messages.StickerSetInstallResult create mode 100644 data/core.telegram.org/type/messages.Stickers create mode 100644 data/core.telegram.org/type/messages.VotesList create mode 100644 data/core.telegram.org/type/payments.BankCardData create mode 100644 data/core.telegram.org/type/payments.PaymentForm create mode 100644 data/core.telegram.org/type/payments.PaymentReceipt create mode 100644 data/core.telegram.org/type/payments.PaymentResult rename data/{corefork.telegram.org => core.telegram.org}/type/payments.SavedInfo (98%) create mode 100644 data/core.telegram.org/type/payments.ValidatedRequestedInfo create mode 100644 data/core.telegram.org/type/phone.ExportedGroupCallInvite create mode 100644 data/core.telegram.org/type/phone.GroupCall rename data/{corefork.telegram.org => core.telegram.org}/type/phone.GroupParticipants (98%) create mode 100644 data/core.telegram.org/type/phone.JoinAsPeers create mode 100644 data/core.telegram.org/type/phone.PhoneCall create mode 100644 data/core.telegram.org/type/photos.Photo create mode 100644 data/core.telegram.org/type/photos.Photos create mode 100644 data/core.telegram.org/type/stats.BroadcastStats create mode 100644 data/core.telegram.org/type/stats.MegagroupStats create mode 100644 data/core.telegram.org/type/stats.MessageStats create mode 100644 data/core.telegram.org/type/stickers.SuggestedShortName create mode 100644 data/core.telegram.org/type/storage.FileType create mode 100644 data/core.telegram.org/type/string.html create mode 100644 data/core.telegram.org/type/updates.ChannelDifference create mode 100644 data/core.telegram.org/type/updates.State create mode 100644 data/core.telegram.org/type/upload.CdnFile create mode 100644 data/core.telegram.org/type/upload.File create mode 100644 data/core.telegram.org/type/upload.WebFile create mode 100644 data/core.telegram.org/video_stickers.html create mode 100644 data/core.telegram.org/widgets.html create mode 100644 data/core.telegram.org/widgets/discussion.html create mode 100644 data/core.telegram.org/widgets/login.html create mode 100644 data/core.telegram.org/widgets/post.html create mode 100644 data/core.telegram.org/widgets/share.html delete mode 100644 data/corefork.telegram.org/css/bootstrap-extra.css delete mode 100644 data/corefork.telegram.org/css/bootstrap.min.css delete mode 100644 data/corefork.telegram.org/css/core-widgets.css delete mode 100644 data/corefork.telegram.org/css/telegram-extra.css delete mode 100644 data/corefork.telegram.org/css/telegram.css create mode 100644 data/corefork.telegram.org/getProxyConfig.html delete mode 100644 data/corefork.telegram.org/js/bootstrap.min.js delete mode 100644 data/corefork.telegram.org/js/core-widgets.js delete mode 100644 data/corefork.telegram.org/js/jquery-ui.min.js delete mode 100644 data/corefork.telegram.org/js/jquery.min.js delete mode 100644 data/corefork.telegram.org/js/main.js delete mode 100644 data/corefork.telegram.org/js/telegram-passport2.js delete mode 100644 data/instantview.telegram.org/rules.html create mode 100644 data/telegram.org.html create mode 100644 data/telegram.org/api.html create mode 100644 data/telegram.org/blog.html create mode 100644 data/telegram.org/blog/backgrounds-2-0.html create mode 100644 data/telegram.org/blog/contacts-local-groups.html create mode 100644 data/telegram.org/blog/desktop-compact.html create mode 100644 data/telegram.org/blog/export-and-more.html create mode 100644 data/telegram.org/blog/games.html create mode 100644 data/telegram.org/blog/instant-view-contest-200K.html create mode 100644 data/telegram.org/blog/instant-view.html create mode 100644 data/telegram.org/blog/link-preview.html create mode 100644 data/telegram.org/blog/live-locations.html create mode 100644 data/telegram.org/blog/live-streams-forwarding-next-channel.html create mode 100644 data/telegram.org/blog/now-you-see-me.html create mode 100644 data/telegram.org/blog/passport.html create mode 100644 data/telegram.org/blog/payments-2-0-scheduled-voice-chats.html create mode 100644 data/telegram.org/blog/payments.html create mode 100644 data/telegram.org/blog/replies-mentions-hashtags.html create mode 100644 data/telegram.org/blog/silent-messages-slow-mode.html create mode 100644 data/telegram.org/blog/stickers.html create mode 100644 data/telegram.org/blog/telegram-x.html create mode 100644 data/telegram.org/blog/usernames-and-secret-chats-v2.html create mode 100644 data/telegram.org/blog/verifiable-apps-and-more.html create mode 100644 data/telegram.org/blog/video-1000.html create mode 100644 data/telegram.org/blog/video-calls.html create mode 100644 data/telegram.org/blog/video-messages-and-telescope.html create mode 100644 data/telegram.org/blog/voice-chats-on-steroids.html create mode 100644 data/telegram.org/evolution.html create mode 100644 data/telegram.org/teststore.html create mode 100644 data/telegram.org/verify.html diff --git a/data/core.telegram.org.html b/data/core.telegram.org.html new file mode 100644 index 0000000000..f6775268b5 --- /dev/null +++ b/data/core.telegram.org.html @@ -0,0 +1,253 @@ + + + + + Telegram APIs + + + + + + + + + + + + + +
+ +
+
+
+
+

Telegram APIs

+ +

We offer two kinds of APIs for developers. The Bot API allows you to easily create programs that use Telegram messages for an interface. The Telegram API and TDLib allow you to build your own customized Telegram clients. You are welcome to use both APIs free of charge.

+

You can also add Telegram Widgets to your website.

+

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

+
+

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.

+
+

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 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.

+ +

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

+

QR code login flow

+

Error handling

+

How to handle API return errors correctly.

+

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

+

How to subscribe to updates and handle them properly.

+

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

+

Telegram offers detailed channel statistics for channels and supergroups.

+

Calling methods

+

Additional options for calling methods.

+

Uploading and Downloading Files

+

How to transfer large data batches correctly.

+

Pagination

+

How to fetch results from large lists of objects.

+

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

+

End-to-end-encrypted messaging.

+

Security guidelines

+

Important checks required in your client application.

+

Perfect Forward Secrecy

+

Binding temporary authorization key to permanent ones.

+

End-to-End Encryption in Voice and Video Calls

+

End-to-end-encrypted calls.

+

Optimization

+

Client optimization

+

Ways to boost API interactions.

+

API methods

+

Available method list

+

A list of available high-level methods.

+

API TL-schema, as JSON

+

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

+

Available layer list

+

A list of available schema versions.

+

Other articles

+

Working with bots, using the MTProto API

+

How to work with bots using the MTProto API.

+

Commands

+

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

+

Buttons

+

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

+

Inline queries

+

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

+

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

+

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

+

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

+

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

+

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

+

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

+

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

+

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

+

Telegram allows scheduling messages.

+

Live geolocations

+

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

+

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

+

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

+

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

+

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

+

Styled text with message entities

+

How to create styled text with message entities

+

Working with animated emojis

+

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

+

Working with animated dice

+

Telegram supports sending animated dice emojis.

+

Message drafts

+

How to handle message drafts

+

Folders

+

Working with folders

+

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

+

How to handle file references.

+

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.

+ +
+ +
+
+ +
+ + + + + + diff --git a/data/core.telegram.org/api.html b/data/core.telegram.org/api.html new file mode 100644 index 0000000000..f6775268b5 --- /dev/null +++ b/data/core.telegram.org/api.html @@ -0,0 +1,253 @@ + + + + + Telegram APIs + + + + + + + + + + + + + +
+ +
+
+
+
+

Telegram APIs

+ +

We offer two kinds of APIs for developers. The Bot API allows you to easily create programs that use Telegram messages for an interface. The Telegram API and TDLib allow you to build your own customized Telegram clients. You are welcome to use both APIs free of charge.

+

You can also add Telegram Widgets to your website.

+

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

+
+

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.

+
+

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 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.

+ +

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

+

QR code login flow

+

Error handling

+

How to handle API return errors correctly.

+

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

+

How to subscribe to updates and handle them properly.

+

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

+

Telegram offers detailed channel statistics for channels and supergroups.

+

Calling methods

+

Additional options for calling methods.

+

Uploading and Downloading Files

+

How to transfer large data batches correctly.

+

Pagination

+

How to fetch results from large lists of objects.

+

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

+

End-to-end-encrypted messaging.

+

Security guidelines

+

Important checks required in your client application.

+

Perfect Forward Secrecy

+

Binding temporary authorization key to permanent ones.

+

End-to-End Encryption in Voice and Video Calls

+

End-to-end-encrypted calls.

+

Optimization

+

Client optimization

+

Ways to boost API interactions.

+

API methods

+

Available method list

+

A list of available high-level methods.

+

API TL-schema, as JSON

+

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

+

Available layer list

+

A list of available schema versions.

+

Other articles

+

Working with bots, using the MTProto API

+

How to work with bots using the MTProto API.

+

Commands

+

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

+

Buttons

+

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

+

Inline queries

+

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

+

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

+

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

+

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

+

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

+

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

+

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

+

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

+

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

+

Telegram allows scheduling messages.

+

Live geolocations

+

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

+

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

+

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

+

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

+

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

+

Styled text with message entities

+

How to create styled text with message entities

+

Working with animated emojis

+

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

+

Working with animated dice

+

Telegram supports sending animated dice emojis.

+

Message drafts

+

How to handle message drafts

+

Folders

+

Working with folders

+

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

+

How to handle file references.

+

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.

+ +
+ +
+
+ +
+ + + + + + diff --git a/data/core.telegram.org/api/account-deletion.html b/data/core.telegram.org/api/account-deletion.html new file mode 100644 index 0000000000..95a7c53e43 --- /dev/null +++ b/data/core.telegram.org/api/account-deletion.html @@ -0,0 +1,129 @@ + + + + + Account deletion + + + + + + + + + + + + + +
+ +
+
+
+ +

Account deletion

+ +

If the user has successfully provided the login code, but they forgot the 2FA password, the account should be reset: this can be done using account.deleteAccount.

+

If the account's 2FA password was modified more than 7 days ago and was active in the last 7 days, account deletion will be delayed for 7 days, and a service message will be sent to the user, containing a link in one of the following formats:

+
    +
  • https://telegram.me/confirmphone?phone=XXX&hash=YYYY
  • +
  • tg://confirmphone?phone=XXX&hash=YYYY
  • +
+

When clicked, account.sendConfirmPhoneCode must be called with the specified hash, using the account with the specified phone number. +This will send a phone number verification code to the phone number associated with the account. +The phone code settings are the same as for the login code, and auth.cancelCode with auth.resendCode can be used as well, to resend or cancel the phone code as for the login code.

+

Once the SMS code is received, the account.confirmPhone method will have to be called with the SMS code and the phone hash received from the account.sendConfirmPhoneCode method.

+

This will cancel deletion of the account and will log out the user that tried to reset it. +Otherwise, if the number isn't confirmed in 7 days, the account will be deleted and the user will be free to recreate it.

+

Related articles

+

User Authorization

+

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

+ +
+ +
+
+ +
+ + + + + + diff --git a/data/core.telegram.org/api/animated-emojis.html b/data/core.telegram.org/api/animated-emojis.html new file mode 100644 index 0000000000..9224f97f2f --- /dev/null +++ b/data/core.telegram.org/api/animated-emojis.html @@ -0,0 +1,187 @@ + + + + + Animated Emojis + + + + + + + + + + + + + +
+ +
+
+
+ +

Animated Emojis

+ +

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

+
inputStickerSetAnimatedEmoji#28703c8 = InputStickerSet;
+
+messages.stickerSet#b60a24a6 set:StickerSet packs:Vector<StickerPack> documents:Vector<Document> = messages.StickerSet;
+
+---functions---
+
+messages.getStickerSet#2619a90e stickerset:InputStickerSet = messages.StickerSet;
+

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.
+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.

+

The returned JSON object will contain the following map, with a list of file IDs to download:

+
    "emojies_sounds": {
+        "\ud83c\udf83": {
+            "id": "4956223179606458539",
+            "access_hash": "-2107001400913062971",
+            "file_reference_base64": "AF-4ApC7ukC0UWEPZN0TeSJURe7T"
+        },
+        "\u26b0": {
+            "id": "4956223179606458540",
+            "access_hash": "-1498869544183595185",
+            "file_reference_base64": "AF-4ApCLKMGt96WCvLm58kbqZHd3"
+        },
+        "\ud83e\udddf\u200d\u2642": {
+            "id": "4960929110848176331",
+            "access_hash": "3986395821757915468",
+            "file_reference_base64": "AF-4ApAedNln3IMEHH-SUQuH8L9g"
+        },
+    }
+

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:

+
    +
  • emoticon - The emoji we're reacting to
  • +
  • msg_id - Message ID of the animated emoji that was clicked
  • +
  • interaction - A JSON object with interaction info, containing the following keys:
      +
    • v - An integer indicating the object version, currently 1
    • +
    • a - An array of JSON objects, each containing the following keys:
        +
      • t - float, number of seconds that passed since the previous tap in the array, the first tap uses a value of 0.0.
      • +
      • i - integer, 1-based index of the randomly chosen animation for the tap (equivalent to the index of a specific emoji-related animation in stickerPack + 1).
      • +
      +
    • +
    +
  • +
+

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 new file mode 100644 index 0000000000..43fec5c314 --- /dev/null +++ b/data/core.telegram.org/api/auth.html @@ -0,0 +1,202 @@ + + + + + User Authorization + + + + + + + + + + + + + +
+ +
+
+
+ +

User Authorization

+ +
+ +

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

+

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:

+
    +
  • Telegram code
  • +
  • SMS code
  • +
  • Phone call: a synthesized voice will tell the user which verification code to input
  • +
  • Flash phone call: the code will be sent via a flash phone call, that will be closed immediately.
    In the last case, the phone code will then be the phone number itself, just make sure that the phone number matches the specified pattern (see auth.sentCodeTypeFlashCall).
  • +
+

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.SentCodeTypePhone code type
phone_code_hashstringPhone code hash, to be stored and later re-used with auth.signIn
next_typeflags.1?auth.CodeTypePhone 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?intTimeout 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

+

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.

+

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

+

Test Accounts

+

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 XXXXX as the login confirmation code (the DC number, repeated five 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).

+

Do not store any important or private information in the messages of such test accounts; anyone can make use of the simplified authorization mechanism – and we periodically wipe all information stored there.

+

Proceed with User Authorization flows in Production DCs only after you make sure everything works correctly on Test DCs first to avoid reaching flood limits.

+
+

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

+

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.

+
+ +
+ +
+
+ +
+ + + + + + + + diff --git a/data/core.telegram.org/api/bots.html b/data/core.telegram.org/api/bots.html new file mode 100644 index 0000000000..b851aac4a2 --- /dev/null +++ b/data/core.telegram.org/api/bots.html @@ -0,0 +1,142 @@ + + + + + Bots + + + + + + + + + + + + + +
+ +
+
+
+ +

Bots

+ +
+ +

Working with bots, using the MTProto API.

+

See here for more info about bots.

+

Please note that you can also use the simplified HTTP Bot API to use bots, see here for more info ».

+

Login

+
---functions---
+
+auth.importBotAuthorization#67a3ff2c flags:int api_id:int api_hash:string bot_auth_token:string = auth.Authorization;
+

In order to login as a bot, instead of using the standard login code flow, simply provide the bot token generated by @botfather.
+You must still provide your API ID, as per user logins.

+

After successful authorization, you will be able to use most MTProto API methods, just as any normal user.
+Methods that can be called by bots will have a Bots can use this method notice.

+

Commands

+

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

+

Buttons

+

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

+

Inline queries

+

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

+

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.

+ +
+ +
+
+ +
+ + + + + + + + diff --git a/data/core.telegram.org/api/bots/games.html b/data/core.telegram.org/api/bots/games.html new file mode 100644 index 0000000000..ba75dd90e6 --- /dev/null +++ b/data/core.telegram.org/api/bots/games.html @@ -0,0 +1,171 @@ + + + + + Games + + + + + + + + + + + + + +
+ +
+
+
+ +

Games

+ +
+ +

Bots can offer users HTML5 games to play solo or to compete against each other in groups and one-on-one chats.

+

Sending a game

+
inputUserSelf#f7c1b13f = InputUser;
+
+inputGameID#32c3e77 id:long access_hash:long = InputGame;
+inputGameShortName#c331e80a bot_id:InputUser short_name:string = InputGame;
+
+inputMediaGame#d33f43f3 id:InputGame = InputMedia;
+
+game#bdf9653b flags:# id:long access_hash:long short_name:string title:string description:string photo:Photo document:flags.0?Document = Game;
+messageMediaGame#fdb19008 game:Game = MessageMedia;
+
+---functions---
+
+messages.sendMedia#3491eba9 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true peer:InputPeer reply_to_msg_id:flags.0?int media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int = Updates;
+

Bots can directly send a game using messages.sendMedia, providing:

+
    +
  • The bot's shortname obtained from @BotFather to inputGameShortName.short_name
  • +
  • The current bot's info to inputGameShortName.bot_id
  • +
+

The sent message will contain a messageMediaGame with a game, that can then be used by users to forward the game using sendMedia with inputGameID.

+

Starting a game

+

Games are started clicking on the button, which triggers an callback query that returns the game URL, for more info see here &raquo.
+The game should then be opened in a WebView or in native UI (specified by the native_ui flag), exposing the appropriate HTML5 APIs in order to receive various JS game events directly from the code of the game, as described here ».

+

Setting highscores

+
---functions---
+
+messages.setGameScore#8ef8ecc0 flags:# edit_message:flags.0?true force:flags.1?true peer:InputPeer id:int user_id:InputUser score:int = Updates;
+messages.setInlineGameScore#15ad9f64 flags:# edit_message:flags.0?true force:flags.1?true id:InputBotInlineMessageID user_id:InputUser score:int = Bool;
+

Games are supposed to report back to the MTProto API every time the user looses a game with a new highscore.
+Since games run in the browser, they cannot directly report data to the API using the bot token, which must be kept secret.
+Instead, they should send highscores to an intermediate server, that will then report scores using messages.setGameScore or messages.setInlineGameScore, depending on the source of the game.

+
    +
  • The edit_message flag should be set if the game message should be automatically edited to include the current scoreboard
  • +
  • The force flag should be set if the high score is allowed to decrease. This can be useful when fixing mistakes or banning cheaters.
  • +
+

Getting highscores

+
messageActionGameScore#92a72876 game_id:long score:int = MessageAction;
+
+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#73a379eb pos:int user_id:long score:int = HighScore;
+
+messages.highScores#9a3bfd99 scores:Vector<HighScore> users:Vector<User> = messages.HighScores;
+
+---functions---
+
+messages.getGameHighScores#e822649d peer:InputPeer id:int user_id:InputUser = messages.HighScores;
+messages.getInlineGameHighScores#f635e1b id:InputBotInlineMessageID user_id:InputUser = messages.HighScores;
+

Every time a highscore is reached, and the edit_message flag is set when reporting the score, a messageService with a messageActionGameScore is generated, indicating that the highscore of a certain game has changed, thanks to a certain user_id.
+Our own current position of the scoreboard is also reported as pos.

+

When receiving such an update, graphical clients should refetch the scoreboard using messages.getGameHighScores or messages.getInlineGameHighScores.

+ +
+ +
+
+ +
+ + + + + + + + diff --git a/data/core.telegram.org/api/bots/inline.html b/data/core.telegram.org/api/bots/inline.html new file mode 100644 index 0000000000..558cf6c15d --- /dev/null +++ b/data/core.telegram.org/api/bots/inline.html @@ -0,0 +1,215 @@ + + + + + Inline + + + + + + + + + + + + + +
+ +
+
+
+
+

Inline

+ +
+ +

Users can interact with your bot via inline queries, straight from the text input field in any chat.
+This article describes the full inline bot flow, using the MTProto API.

+

For a simplified description using the HTTP bot API, see here ».

+

Making an inline query

+
messages.botResults#947ca848 flags:# gallery:flags.0?true query_id:long next_offset:flags.1?string switch_pm:flags.2?InlineBotSwitchPM results:Vector<BotInlineResult> cache_time:int users:Vector<User> = messages.BotResults;
+
+---functions---
+
+messages.getInlineBotResults#514e999d flags:# bot:InputUser peer:InputPeer geo_point:flags.0?InputGeoPoint query:string offset:string = messages.BotResults;
+

When, in a graphical client, the user starts a message with an @, clients should:

+
    +
  • Use the cached top peer rating for inline bots to show a list of frequently used inline bots.
  • +
  • If the user chooses a bot from the recent bot list or:
  • +
  • Finishes typing a full username followed by a whitespace, and if the username resolves to a valid bot
  • +
  • messages.getInlineBotResults is called, with the following parameters:
      +
    • bot - The bot peer
    • +
    • peer - The chat where the user made the query
    • +
    • geo_point - The user's current geolocation, if the bot requires location-based inline results (the bot_inline_geo flag of the bot's user constructor will be set)
    • +
    • query - What the user typed after the bot's username
    • +
    • offset - If the user scrolls past the first len(results) results, and next_offset field is set, the inline query should be repeated with this offset.
    • +
    +
  • +
+

Answering to an inline query

+
inputBotInlineMessageMediaAuto#3380c786 flags:# message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
+inputBotInlineMessageText#3dcd7a87 flags:# no_webpage:flags.0?true message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
+inputBotInlineMessageMediaGeo#96929a85 flags:# geo_point:InputGeoPoint heading:flags.0?int period:flags.1?int proximity_notification_radius:flags.3?int reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
+inputBotInlineMessageMediaVenue#417bbf11 flags:# geo_point:InputGeoPoint title:string address:string provider:string venue_id:string venue_type:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
+inputBotInlineMessageMediaContact#a6edbffd flags:# phone_number:string first_name:string last_name:string vcard:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
+inputBotInlineMessageGame#4b425864 flags:# reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
+
+inputBotInlineResult#88bf9319 flags:# id:string type:string title:flags.1?string description:flags.2?string url:flags.3?string thumb:flags.4?InputWebDocument content:flags.5?InputWebDocument send_message:InputBotInlineMessage = InputBotInlineResult;
+inputBotInlineResultPhoto#a8d864a7 id:string type:string photo:InputPhoto send_message:InputBotInlineMessage = InputBotInlineResult;
+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#496f379c flags:# query_id:long user_id:long query:string geo:flags.0?GeoPoint peer_type:flags.1?InlineQueryPeerType offset:string = Update;
+
+---functions---
+
+messages.setInlineBotResults#eb5ea206 flags:# gallery:flags.0?true private:flags.1?true query_id:long results:Vector<InputBotInlineResult> cache_time:int next_offset:flags.2?string switch_pm:flags.3?InlineBotSwitchPM = Bool;
+

Bots can answer to incoming updateBotInlineQuery updates using messages.setInlineBotResults.
+Just like its bot API counterpart, the method can be used to send a set of inline results to the user; see the constructor page for more info on the MTProto method parameters ».

+

In general, the method accepts a vector of InputBotInlineResult constructors, that when chosen, generates a message with optionally attached media, and even inline buttons.

+

Sending the inline query result

+
botInlineMessageMediaAuto#764cf810 flags:# message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
+botInlineMessageText#8c7f65e2 flags:# no_webpage:flags.0?true message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
+botInlineMessageMediaGeo#51846fd flags:# geo:GeoPoint heading:flags.0?int period:flags.1?int proximity_notification_radius:flags.3?int reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
+botInlineMessageMediaVenue#8a86659c flags:# geo:GeoPoint title:string address:string provider:string venue_id:string venue_type:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
+botInlineMessageMediaContact#18d1cdc2 flags:# phone_number:string first_name:string last_name:string vcard:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
+
+botInlineResult#11965f3a flags:# id:string type:string title:flags.1?string description:flags.2?string url:flags.3?string thumb:flags.4?WebDocument content:flags.5?WebDocument send_message:BotInlineMessage = BotInlineResult;
+botInlineMediaResult#17db940b flags:# id:string type:string photo:flags.0?Photo document:flags.1?Document title:flags.2?string description:flags.3?string send_message:BotInlineMessage = BotInlineResult;
+
+messages.botResults#947ca848 flags:# gallery:flags.0?true query_id:long next_offset:flags.1?string switch_pm:flags.2?InlineBotSwitchPM results:Vector<BotInlineResult> cache_time:int users:Vector<User> = messages.BotResults;
+
+---functions---
+
+messages.sendInlineBotResult#220815b0 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true hide_via:flags.11?true peer:InputPeer reply_to_msg_id:flags.0?int random_id:long query_id:long id:string schedule_date:flags.10?int = Updates;
+

The user client should display the results obtained during querying in a list, making sure to handle eventual bot timeouts in the form of a BOT_RESPONSE_TIMEOUT RPC error, by simply not displaying anything.

+

If the user then chooses a specific BotInlineResult, the messages.sendInlineBotResult method should be invoked, passing:

+
    +
  • The query_id from messages.botResults
  • +
  • The id of the chosen result
  • +
  • The peer where to send the chosen result
  • +
+

The resulting message will have the via_bot_id field set, to indicate that the result was generated by the bot that generated the inline result.
+Graphical clients should display the bot @username in the header of the message, allowing the user to click on it, automatically starting an inline query by inserting @username in the text bar.

+

Inline feedback

+
inputBotInlineMessageID#890c3d89 dc_id:int id:long access_hash:long = InputBotInlineMessageID;
+
+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.

+

Either way, feedback collection should only be used for statistical purposes rather than functional.

+

The updateBotInlineSend will contain:

+
    +
  • id - The ID of the chosen result
  • +
  • msg_id - The ID of the sent inline message
  • +
  • user_id - The ID of the user that chose the result
  • +
  • query - The query string that was used to obtain the result
  • +
  • geo - For bots requiring location-based inline results, the user's location
  • +
+

Editing sent inline messages

+
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;
+
+---functions---
+
+messages.editInlineBotMessage#83557dba flags:# no_webpage:flags.1?true id:InputBotInlineMessageID message:flags.11?string media:flags.14?InputMedia reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> = Bool;
+

Sent inline messages can be edited by the bot, for example in response to a button press callback query.

+

Simply pass the inputBotInlineMessageID specified in the updateInlineBotCallbackQuery to messages.editInlineBotMessage along with the new message, making sure to send the query to the datacenter specified in inputBotInlineMessageID.dc_id.

+ +
+ +
+
+ +
+ + + + + + + + diff --git a/data/core.telegram.org/api/channel.html b/data/core.telegram.org/api/channel.html new file mode 100644 index 0000000000..dc13d8d745 --- /dev/null +++ b/data/core.telegram.org/api/channel.html @@ -0,0 +1,154 @@ + + + + + Channels + + + + + + + + + + + + + +
+ +
+
+
+ +

Channels

+ +
+ +

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. +The chats field of the result will have two objects:

+
    +
  • A chat constructor with a migrated_to field, indicating the address of the new supergroup
  • +
  • The new channel megagroup constructor
  • +
+

When getting full info about the migrated channel, the channelFull object will have migrated_from_chat_id and migrated_from_max_id fields indicating the original ID of the chat, and the message ID in the original chat at which the group was migrated.

+

All users of the chat will receive an updateNewMessage from the old chat with a messageService containing a messageActionChatMigrateTo constructor.

+

All new messages have to be sent to the new supergroup.

+

When working with migrated groups clients need to handle loading of the message history (as well as search results et cetera) from both the legacy group and the new supergroup. This is done by merging the two messages lists (requested with different Peer values) client side.

+

Rights

+

Channels, legacy groups and supergroups allow setting granular permissions both for admins and specific users; channels, supergroups and legacy groups also allow setting global granular permissions for users.

+

For more info on how to set and modify rights, see here ».

+

Pinned messages

+

Telegram allows pinning multiple messages on top in a chat, group, supergroup or channel.

+

See here » for more info on pinning and unpinning messages.

+

Discussion

+

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

+

For more info on how to set a discussion group in channel, see here »

+

Recent actions

+

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.

+

See here » for more info.

+ +
+ +
+
+ +
+ + + + + + + + diff --git a/data/core.telegram.org/api/config.html b/data/core.telegram.org/api/config.html new file mode 100644 index 0000000000..5e804b24ce --- /dev/null +++ b/data/core.telegram.org/api/config.html @@ -0,0 +1,422 @@ + + + + + Client configuration + + + + + + + + + + + + + +
+ +
+
+
+ +

Client configuration

+ +
+ +

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

+

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;
+
+---functions---
+
+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

+
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.
+While help.getConfig returns MTProto-specific configuration with information about server-side limitations and other MTProto-related information, help.getAppConfig returns configuration parameters useful for graphical Telegram clients.

+

Typical fields included in the resulting JSON object are:

+
    +
  • emojies_animated_zoom - Animated emojis and animated dice should be scaled by this factor before being shown to the user (float)
  • +
  • keep_alive_service - Whether app clients should start a keepalive service to keep the app running and fetch updates even when the app is closed (boolean)
  • +
  • background_connection - Whether app clients should start a background TCP connection for MTProto update fetching (boolean)
  • +
  • emojies_send_dice - A list of supported animated dice stickers (array of strings).
  • +
  • emojies_send_dice_success - For animated dice emojis other than the basic 🎲, indicates the winning dice value and the final frame of the animated sticker, at which to show the fireworks 🎆 (object with emoji keys and object values, containing value and frame_start float values)
  • +
  • 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,
+    "emojies_send_dice": [
+        "\ud83c\udfb2",
+        "\ud83c\udfaf",
+        "\ud83c\udfc0",
+        "\u26bd",
+        "\u26bd\ufe0f",
+        "\ud83c\udfb0",
+        "\ud83c\udfb3"
+    ],
+    "emojies_send_dice_success": {
+        "\ud83c\udfaf": {
+            "value": 6,
+            "frame_start": 62
+        },
+        "\ud83c\udfc0": {
+            "value": 5,
+            "frame_start": 110
+        },
+        "\u26bd": {
+            "value": 5,
+            "frame_start": 110
+        },
+        "\u26bd\ufe0f": {
+            "value": 5,
+            "frame_start": 110
+        },
+        "\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": "AGFhvoKbftK5O9K9RpgN1ZtgSzWy"
+        },
+        "\u26b0": {
+            "id": "4956223179606458540",
+            "access_hash": "-1498869544183595185",
+            "file_reference_base64": "AGFhvoJIm8Uz0qSMIdm3AsKlK7wJ"
+        },
+        "\ud83e\udddf\u200d\u2642": {
+            "id": "4960929110848176331",
+            "access_hash": "3986395821757915468",
+            "file_reference_base64": "AGFhvoLtXSSIclmvfg6ePz3KsHQF"
+        },
+        "\ud83e\udddf": {
+            "id": "4960929110848176332",
+            "access_hash": "-8929417974289765626",
+            "file_reference_base64": "AGFhvoImaz5Umt4GvMUD5nocIu0W"
+        },
+        "\ud83e\udddf\u200d\u2640": {
+            "id": "4960929110848176333",
+            "access_hash": "9161696144162881753",
+            "file_reference_base64": "AGFhvoIm1QZsb48xlpRfh4Mq7EMG"
+        },
+        "\ud83c\udf51": {
+            "id": "4963180910661861548",
+            "access_hash": "-7431729439735063448",
+            "file_reference_base64": "AGFhvoKLrwl_WKr5LR0Jjs7o3RyT"
+        },
+        "\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",
+    "gif_search_emojies": [
+        "\ud83d\udc4d",
+        "\ud83d\ude18",
+        "\ud83d\ude0d",
+        "\ud83d\ude21",
+        "\ud83e\udd73",
+        "\ud83d\ude02",
+        "\ud83d\ude2e",
+        "\ud83d\ude44",
+        "\ud83d\ude0e",
+        "\ud83d\udc4e"
+    ],
+    "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,
+    "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
+}
+

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;
+updateServiceNotification#ebe46819 flags:# popup:flags.0?true inbox_date:flags.1?int type:string message:string media:MessageMedia entities:Vector<MessageEntity> = Update;
+
+help.inviteText#18cb9f78 message:string = help.InviteText;
+
+---functions---
+
+help.getAppUpdate#522d5a7d source:string = help.AppUpdate;
+help.getAppChangelog#9010ef6f prev_app_version:string = Updates;
+
+help.getInviteText#4d392343 = help.InviteText;
+
    +
  • help.getAppUpdate - Get info about an application update, can contain the updated application binary in the attached document
  • +
  • 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

+
help.termsOfServiceUpdateEmpty#e3309f7f expires:int = help.TermsOfServiceUpdate;
+help.termsOfServiceUpdate#28ecf961 expires:int terms_of_service:help.TermsOfService = help.TermsOfServiceUpdate;
+
+help.termsOfService#780a0310 flags:# popup:flags.0?true id:DataJSON text:string entities:Vector<MessageEntity> min_age_confirm:flags.1?int = help.TermsOfService;
+
+auth.authorizationSignUpRequired#44747e9a flags:# terms_of_service:flags.0?help.TermsOfService = auth.Authorization;
+
+---functions---
+
+help.getTermsOfServiceUpdate#2ca51fd1 = help.TermsOfServiceUpdate;
+help.acceptTermsOfService#ee72f79a id:DataJSON = Bool;
+
+auth.signIn#bcd51581 phone_number:string phone_code_hash:string phone_code:string = auth.Authorization;
+
+account.deleteAccount#418d4e0b reason:string = Bool;
+

These methods can be used for managing consent to Telegram's Terms Of Service.

+

Typically, before a user signs up by invoking auth.signUp, apps should show a pop-up (if the popup flag of the help.termsOfService method is set), asking the user to accept Telegram's terms of service; in case of denial, the user is to be returned to the initial page of the login flow.

+

When signing up for the first time, the help.termsOfService is to be obtained from the auth.authorizationSignUpRequired constructor returned by the auth.signIn.

+

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#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;
+
+---functions---
+
+help.getSupport#9cdf08cd = help.Support;
+help.getSupportName#d360e72c = help.SupportName;
+

These methods can be used for fetching info about Telegram's support user, that users can use to get support and ask questions about the app.

+ +

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;
+
+help.countriesListNotModified#93cc1f32 = help.CountriesList;
+help.countriesList#87d0759e countries:Vector<help.Country> hash:int = help.CountriesList;
+
+---functions---
+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 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 new file mode 100644 index 0000000000..f660f4af74 --- /dev/null +++ b/data/core.telegram.org/api/datacenter.html @@ -0,0 +1,152 @@ + + + + + Working with Different Data Centers + + + + + + + + + + + + + +
+ +
+
+
+ +

Working with Different Data Centers

+ +

The servers are divided into several data centers (hereinafter “DCs”) in different parts of the world. +A complete list of proxy access points for these DCs may be obtained using help.getConfig:

+
dcOption#18b7a10d flags:# ipv6:flags.0?true media_only:flags.1?true tcpo_only:flags.2?true cdn:flags.3?true static:flags.4?true id:int ip_address:string port:int secret:flags.10?bytes = DcOption;
+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.
+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.

+

The client does not yet know which DC it will be associated with; therefore, it establishes an encrypted connection to a random address and sends its query to that address. +Having received a phone_number from a client, we can find out whether or not it is registered in the system. If it is, then, if necessary, instead of sending a text message, we request that it establish a connection with a different DC first (PHONE_MIGRATE_X error). +If we do not yet have a user with this number, we examine its IP-address. We can use it to identify the closest DC. Again, if necessary, we redirect the user to a different DC (NETWORK_MIGRATE_X error).

+

Testing Redirects

+

There are reserved phone number prefixes to test the correctness of the application’s handling of redirects between DCs. Read more in User Authorization article.

+

File Access

+

A file saved by a user with upload.saveFilePart will be available for direct download only from the DC where the query was executed. That is why each file has a dc_id parameter:

+
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;
+
+encryptedFile#4a70994c id:long access_hash:long size:int dc_id:int key_fingerprint:int = EncryptedFile;
+
+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.

+

User Migration

+

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#b434e2b8 id:long bytes:bytes = auth.ExportedAuthorization;
+auth.authorization#cd050916 flags:# tmp_sessions:flags.0?int user:User = auth.Authorization;
+---functions---
+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/dice.html b/data/core.telegram.org/api/dice.html new file mode 100644 index 0000000000..3fd5d73de0 --- /dev/null +++ b/data/core.telegram.org/api/dice.html @@ -0,0 +1,149 @@ + + + + + Dice + + + + + + + + + + + + + +
+ +
+
+
+ +

Dice

+ +

Telegram supports sending animated dice emojis.
+This is implemented by using the dice constructors:

+
inputMediaDice#e66fbf7b emoticon:string = InputMedia;
+messageMediaDice#3f7ee58b value:int emoticon:string = MessageMedia;
+
+inputStickerSetDice#e67f520e emoticon:string = InputStickerSet;
+
+messages.stickerSet#b60a24a6 set:StickerSet packs:Vector<StickerPack> documents:Vector<Document> = messages.StickerSet;
+
+---functions---
+
+messages.sendMedia#3491eba9 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true peer:InputPeer reply_to_msg_id:flags.0?int media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int = Updates;
+
+messages.getStickerSet#2619a90e stickerset:InputStickerSet = messages.StickerSet;
+
+help.getAppConfig#98914110 = JSONValue;
+

On startup, clients should fetch app configuration using help.getAppConfig.
+Then, for each dice emoji contained in the emojies_send_dice field, clients should fetch the dice emoji stickerset by calling the messages.getStickerSet method, providing the properly populated inputStickerSetDice to the stickerset field.
+The returned stickerset will contain a set of animated stickers, one for each of the dice outcomes, plus a first looping sticker that should be shown as preview to the user before actually sending the dice.

+

If a user attempts to send a single emoji from the ones specified in emojies_send_dice, the dice should be sent using messages.sendMedia, providing the dice emoji to the emoticon field.

+

Incoming dice stickers will be received as a messageMediaDice constructor, along with a randomly generated server-side value, ranging from 1 to the maximum allowed value for this type of dice.
+Clients should display the correct dice animated sticker for the specified value: since dice values start from 1, and the first animated sticker in dice stickerset is the preview, value can be used to directly index the documents sticker array from the animated stickerset.

+

The emojies_send_dice_success configuration parameter contains more info about dice emojis other than the basic 🎲:

+
    "emojies_send_dice_success": {
+        "\ud83c\udfaf": {
+            "value": 6,
+            "frame_start": 62
+        },
+        "\ud83c\udfc0": {
+            "value": 5,
+            "frame_start": 110
+        }
+    }
+

For each of the dice emojis, a maximum "winning" value is specified, along with the frame number at which to show the fireworks 🎆.
+Please note that dice animated stickers should loop only once, right after being sent/received for the first time; clicking on the dice sticker should bring up a popup, inviting the user to send a new dice of the same type.

+ +
+ +
+
+ +
+ + + + + + diff --git a/data/core.telegram.org/api/discussion.html b/data/core.telegram.org/api/discussion.html new file mode 100644 index 0000000000..d1181b0f5f --- /dev/null +++ b/data/core.telegram.org/api/discussion.html @@ -0,0 +1,151 @@ + + + + + Discussion groups + + + + + + + + + + + + + +
+ +
+
+
+ +

Discussion groups

+ +
+ +

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

+
boolFalse#bc799737 = Bool;
+boolTrue#997275b5 = Bool;
+
+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;
+
+---functions---
+
+channels.setDiscussionGroup#40582bb2 broadcast:InputChannel group:InputChannel = Bool;
+channels.getGroupsForDiscussion#f5dad378 = messages.Chats;
+

A discussion group can be associated to a channel using channels.setDiscussionGroup.
+The discussion group can be accessed in the client by clicking on the discuss button of the channel, or by accessing the comment section of a specific post; the discussion group ID is also present in the linked_chat_id field of the channelFull constructor.

+

All messages sent to the channel will also be sent to the linked group (with sender peer from_id equal to the peer of the linked channel); those messages will also be automatically pinned in the group.

+

Linking a discussion group

+

To obtain a list of admined supergroups that a channel admin can possibly associate to a channel, use channels.getGroupsForDiscussion.
+Returned legacy group chats must be first upgraded to supergroups before they can be set as a discussion group.
+Before linking a supergroup to a channel, access to the supergroup's old messages must also be enabled using channels.togglePreHistoryHidden.

+

To set a returned supergroup as a discussion group use channels.setDiscussionGroup.

+

Schema:

+
boolFalse#bc799737 = Bool;
+boolTrue#997275b5 = Bool;
+
+messages.chats#64ff9fd5 chats:Vector<Chat> = messages.Chats;
+
+---functions---
+
+channels.setDiscussionGroup#40582bb2 broadcast:InputChannel group:InputChannel = Bool;
+channels.getGroupsForDiscussion#f5dad378 = messages.Chats;
+
+channels.togglePreHistoryHidden#eabbb94c channel:InputChannel enabled:Bool = Updates;
+ +
+ +
+
+ +
+ + + + + + + + diff --git a/data/core.telegram.org/api/drafts.html b/data/core.telegram.org/api/drafts.html new file mode 100644 index 0000000000..b6ffd788e0 --- /dev/null +++ b/data/core.telegram.org/api/drafts.html @@ -0,0 +1,131 @@ + + + + + Message drafts + + + + + + + + + + + + + +
+ +
+
+
+ +

Message drafts

+ +
+ +

Message drafts in Telegram allow syncing the text typed into message fields between devices.

+

Drafts

+

Drafts are represented by the DraftMessage constructors. +The parameters of the peer-specific draft should be used as defaults when composing a message to be sent to a certain peer (in the case of media, the same draft should still be used as base, the message will become the caption). +If the user exits the app before sending the message, the message should be saved as a draft:

+

Saving drafts

+

Drafts can be saved using the messages.saveDraft method.

+

Downloading drafts

+

New drafts are automatically sent to all devices via updateDraftMessage updates.

+

Dialog objects fetched via the API also contain the draft associated with the dialog.

+

Clearing drafts

+

Drafts can be cleared by setting the clear_draft flag when sending messages or media using messages.sendMessage, messages.sendMedia, messages.sendMultiMedia, messages.sendInlineBotResult and similar or manually by passing empty values to messages.saveDraft.

+ +
+ +
+
+ +
+ + + + + + + + diff --git a/data/core.telegram.org/api/end-to-end.html b/data/core.telegram.org/api/end-to-end.html new file mode 100644 index 0000000000..40675ab00d --- /dev/null +++ b/data/core.telegram.org/api/end-to-end.html @@ -0,0 +1,244 @@ + + + + + End-to-End Encryption, Secret Chats + + + + + + + + + + + + + +
+ +
+
+
+ +

End-to-End Encryption, Secret Chats

+ +
+ +
+

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
+

+
+

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:

+
    +
  • SHA-256 is used instead of SHA-1;
  • +
  • Padding bytes are involved in the computation of msg_key;
  • +
  • msg_key depends not only on the message to be encrypted, but on a portion of the secret chat key as well;
  • +
  • 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

+

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

+

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 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

+

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(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

+

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

+

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 »

+
+

The resulting construct is serialized as an array of bytes using generic TL rules. The resulting array is prepended by 4 bytes containing the array length not counting these 4 bytes.

+

The byte array is padded with 12 to 1024 random padding bytes to make its length divisible by 16 bytes. (In the older MTProto 1.0 encryption, only 0 to 15 padding bytes were used.)

+

Message key, msg_key, is computed as the 128 middle bits of the SHA256 of the data obtained in the previous step, prepended by 32 bytes from the shared key key. (For the older MTProto 1.0 encryption, msg_key was computed differently, as the 128 lower bits of SHA1 of the data obtained in the previous steps, excluding the padding bytes.)

+

For MTProto 2.0, the AES key aes_key and initialization vector aes_iv are computed ( key is the shared key obtained during Key Generation ) as follows:

+
    +
  • msg_key_large = SHA256 (substr (key, 88+x, 32) + plaintext + random_padding);
  • +
  • msg_key = substr (msg_key_large, 8, 16);
  • +
  • sha256_a = SHA256 (msg_key + substr (key, x, 36));
  • +
  • sha256_b = SHA256 (substr (key, 40+x, 36) + msg_key);
  • +
  • aes_key = substr (sha256_a, 0, 8) + substr (sha256_b, 8, 16) + substr (sha256_a, 24, 8);
  • +
  • aes_iv = substr (sha256_b, 0, 8) + substr (sha256_a, 8, 16) + substr (sha256_b, 24, 8);
  • +
+

For MTProto 2.0, x=0 for messages from the originator of the secret chat, x=8 for the messages in the opposite direction.

+

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

+

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

+

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

+

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:

+
    +
  • 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.

+

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.

+

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

+

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

+

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. +
  3. 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).
  4. +
+ +
+ +
+
+ +
+ + + + + + + + diff --git a/data/core.telegram.org/api/end-to-end/pfs.html b/data/core.telegram.org/api/end-to-end/pfs.html new file mode 100644 index 0000000000..8da37768e9 --- /dev/null +++ b/data/core.telegram.org/api/end-to-end/pfs.html @@ -0,0 +1,176 @@ + + + + + Perfect Forward Secrecy + + + + + + + + + + + + + +
+ +
+
+
+ +

Perfect Forward Secrecy

+ +
+

Telegram supports Perfect Forward Secrecy (PFS) in Secret Chats as of Layer 20. See updating to new layers.

+
+

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.

+

Any client participating in a Secret Chat can initiate re-keying as soon as it perceives that the current key has been used for too long or for encrypting too many messages. Please note that you should never initiate a new instance of the re-keying protocol if an uncompleted instance exists, initiated by either party.

+

Note: third-party developers are required to maintain the same level of security. All clients with secret chat support must be able to initiate re-keying and accept relevant service messages. See Security Guidelines.

+

Re-keying protocol

+

New keys are generated by exchanging special messages, using previously established keys for encryption. The re-keying protocol between parties A and B normally consists of four steps:

+
1. decryptedMessageActionRequestKey
+

A (re-keying initiator) generates a new value of a, subject to the same limitations as for the initial Diffie-Hellman key exchange, and sends the value of pow(g,a) to B, embedded in a decryptedMessageService:

+
decryptedMessageActionRequestKey exchange_id:long g_a:string = DecryptedMessageAction;
+
    +
  • exchange_id is a random number identifying this instance of the Re-Keying Protocol for both parties
  • +
  • g_a is the value of pow(g,a) mod p
  • +
+

Note that the same Diffie--Hellman parameters (p,g) as for the initial Diffie--Hellman key exchange in this secret chat are used. They do not need to be re-transmitted explicitly.

+
2. decryptedMessageActionAcceptKey
+

Upon receipt of the above service message, B checks its content, and generates a response with same exchange_id, for a newly generated value of b:

+
decryptedMessageActionAcceptKey exchange_id:long g_b:string key_fingerprint:long = DecryptedMessageAction;
+
    +
  • exchange_id is the same as in the received decryptedMessageActionRequestKey
  • +
  • g_b is the value of pow(g,b) mod p
  • +
  • key_fingerprint is the 64-bit fingerprint of the newly generated key = pow(g_a, b) mod p, used as a sanity check of the implementation
  • +
+

At this stage, B can already compute the new key key = pow(g_a, b) mod p and its key_fingerprint (last 64 bits of its SHA-1). However, it continues using the previous key until the completion of the exchange.

+

Once side B sends decryptedMessageActionAcceptKey, it cannot abort the key exchange; it must be ready to switch to the new key immediately after a decryptedMessageActionCommitKey is received. Therefore, if side B wishes to delay the usage of new key, for example in order to fill some seq_no gaps first, it must delay the decryptedMessageActionAcceptKey answer accordingly.

+
3. decryptedMessageActionCommitKey
+

Once A receives a valid decryptedMessageActionAcceptKey, it performs all necessary checks, and "commits" the new key by means of the following service message:

+
decryptedMessageActionCommitKey exchange_id:long key_fingerprint:long = DecryptedMessageAction;
+
    +
  • exchange_id is the same as in the two previous messages
  • +
  • key_fingerprint is the value of the hash (last 64 bits of SHA-1) of the new key computed by A, for implementation sanity check
  • +
+

After that, A can (and must) encrypt all following messages with the new key.

+

If side A wishes to delay installation of the new key, for example because there are some seq_no gaps that it wants to fill first, it must delay decryptedMessageActionCommitKey answer accordingly.

+
4. Final step
+

When B receives either a decryptedMessageActionCommitKey or a message encrypted by the new key, recognized by the value of key_fingerprint prepended to the encrypted message (it may happen that the decryptedMessageActionCommitKey has been lost and will be re-requested later), it assumes that A has started using the new key for encryption, and does the same.

+

However, the previous key may be kept until there are no gaps in received messages up to the switch to the new key. Once all the gaps have been filled, the old key must be securely discarded.

+

There is one exception to this rule — the SHA-1 of the original key (generated during the establishment of Secret Chat in question) is always stored, in order to show key visualizations on the clients.

+

Aborting protocol

+

Any of the parties may abort any instance of an uncompleted re-keying protocol, unless decryptedMessageActionCommitKey or decryptedMessageActionAcceptKey has been already sent by the party in question. In order to abort re-keying, send

+
decryptedMessageActionAbortKey exchange_id:long = DecryptedMessageAction;
+

This could be done, for example, if the party is already participating in a different instance of the re-keying protocol, or if the received values of g_a, g_b and other parameters do not pass security checks. In the latter case, it might be advisable to abort the Secret Chat altogether.

+

Discarding Previous Keys

+

Once B receives decryptedMessageActionCommitKey, it can safely discard the previous key provided there are no gaps. However, A may only discard the previous key after a message encrypted with the new key has been received. If no ordinary messages are scheduled to be sent, a special no-op message should sent by B for this purpose:

+
decryptedMessageActionNoop = DecryptedMessageAction;
+

Concurrent Re-Keying

+

It may happen that both parties concurrently initiate re-keying by sending decryptedMessageActionRequestKey without knowing that the other party has already done so. If each side aborts re-keying because it is already participating in another instance of the protocol initiated by itself, the re-keying will never happen.

+

Because of this possibility, we suggest that only the instance with the smaller exchange_id is aborted, with the option to re-use its (a,g_a) for the re-keying protocol instance with the larger exchange_id (when compared as a long, i.e. signed little-endian 64-bit integer).

+

In other words, if a decryptedMessageActionRequestKey is received after A has sent its decryptedMessageActionRequestKey, but has not yet received decryptedMessageActionAcceptKey, the following is to be done:

+
    +
  • if exchange_id in the sent decryptedMessageActionRequestKey was larger than that in the decryptionActionRequestKey just received, abort the newly-suggested re-keying protocol instance without sending explicit decryptedMessageActionAbortKey (the other side will do the same according to the next rule).
  • +
  • if exchange_id in our decryptedMessageActionRequestKey was smaller, respond to the newly-received decryptedMessageActionRequestKey with a decryptedMessageActionAcceptKey, and participate only in the re-keying protocol instance initiated by the other side. It is possible to re-use at this stage the value of g_a (now called g_b) that was generated for the original decryptedMessageActionRequestKey, now abandoned, or totally new (b,g_b) can be generated.
  • +
  • in the unlikely (2^{-64}) case both exchange_id are equal, abort both instances without sending an explicit decryptedMessageActionAbortKey. The other side will do the same.
  • +
+
Key Visualization
+

Since all re-keying instances are carried over the secure channel established when the secret chat is created, it is necessary for the user to confirm that no MITM attack had taken place during the initial exchange. The key visualization on the clients uses the first 128-bits of the SHA-1 of the original key created when the Secret Chat was first established, followed by the first 160 bits of the SHA-256 of the key in use when the secret chat was updated to layer 46 (coincides with the original key if chat was created using layer 46).

+
+

Please note that the key_fingerprint parameter was introduced as a maintenance tool (with a misleading name) and is not related to key visualization on the clients.

+
+ +
+ +
+
+ +
+ + + + + + diff --git a/data/corefork.telegram.org/api/end-to-end/seq_no.html b/data/core.telegram.org/api/end-to-end/seq_no.html similarity index 98% rename from data/corefork.telegram.org/api/end-to-end/seq_no.html rename to data/core.telegram.org/api/end-to-end/seq_no.html index ed84d5f923..cec36e31d6 100644 --- a/data/corefork.telegram.org/api/end-to-end/seq_no.html +++ b/data/core.telegram.org/api/end-to-end/seq_no.html @@ -136,9 +136,9 @@