From d2d54398c4612f830924ce8c2e1b7ba0218b51e4 Mon Sep 17 00:00:00 2001 From: Daniil Gentili Date: Fri, 30 Dec 2016 16:32:25 +0100 Subject: [PATCH] Fixed update handling, now usernames or bot api ids can be passed as parameters instead of Peer, inputPeer, Channel, User (and other) objects, fixed bugs and typos. --- .travis.yml | 2 + README.md | 157 +++++++-- build_docs.php | 6 +- docs/API_docs/constructors/MTmessage.md | 28 ++ docs/API_docs/constructors/accountDaysTTL.md | 2 +- .../constructors/account_authorizations.md | 2 +- .../constructors/account_noPassword.md | 2 +- .../API_docs/constructors/account_password.md | 2 +- .../account_passwordInputSettings.md | 2 +- .../constructors/account_passwordSettings.md | 2 +- .../constructors/account_privacyRules.md | 2 +- .../constructors/auth_authorization.md | 2 +- .../constructors/auth_checkedPhone.md | 2 +- .../constructors/auth_codeTypeCall.md | 2 +- .../constructors/auth_codeTypeFlashCall.md | 2 +- .../API_docs/constructors/auth_codeTypeSms.md | 2 +- .../auth_exportedAuthorization.md | 2 +- .../constructors/auth_passwordRecovery.md | 2 +- docs/API_docs/constructors/auth_sentCode.md | 2 +- .../constructors/auth_sentCodeTypeApp.md | 2 +- .../constructors/auth_sentCodeTypeCall.md | 2 +- .../auth_sentCodeTypeFlashCall.md | 2 +- .../constructors/auth_sentCodeTypeSms.md | 2 +- docs/API_docs/constructors/authorization.md | 2 +- .../constructors/bad_msg_notification.md | 27 ++ docs/API_docs/constructors/bad_server_salt.md | 28 ++ .../constructors/bind_auth_key_inner.md | 29 ++ docs/API_docs/constructors/botCommand.md | 2 +- docs/API_docs/constructors/botInfo.md | 2 +- .../constructors/botInlineMediaResult.md | 2 +- .../constructors/botInlineMessageMediaAuto.md | 2 +- .../botInlineMessageMediaContact.md | 2 +- .../constructors/botInlineMessageMediaGeo.md | 2 +- .../botInlineMessageMediaVenue.md | 2 +- .../constructors/botInlineMessageText.md | 2 +- docs/API_docs/constructors/botInlineResult.md | 2 +- docs/API_docs/constructors/channel.md | 2 +- .../API_docs/constructors/channelForbidden.md | 2 +- docs/API_docs/constructors/channelFull.md | 2 +- .../constructors/channelMessagesFilter.md | 2 +- .../channelMessagesFilterEmpty.md | 2 +- .../constructors/channelParticipant.md | 2 +- .../constructors/channelParticipantCreator.md | 2 +- .../constructors/channelParticipantEditor.md | 2 +- .../constructors/channelParticipantKicked.md | 2 +- .../channelParticipantModerator.md | 2 +- .../constructors/channelParticipantSelf.md | 2 +- .../constructors/channelParticipantsAdmins.md | 2 +- .../constructors/channelParticipantsBots.md | 2 +- .../constructors/channelParticipantsKicked.md | 2 +- .../constructors/channelParticipantsRecent.md | 2 +- .../constructors/channelRoleEditor.md | 2 +- .../API_docs/constructors/channelRoleEmpty.md | 2 +- .../constructors/channelRoleModerator.md | 2 +- .../channels_channelParticipant.md | 2 +- .../channels_channelParticipants.md | 2 +- docs/API_docs/constructors/chat.md | 2 +- docs/API_docs/constructors/chatEmpty.md | 2 +- docs/API_docs/constructors/chatForbidden.md | 2 +- docs/API_docs/constructors/chatFull.md | 2 +- docs/API_docs/constructors/chatInvite.md | 2 +- .../constructors/chatInviteAlready.md | 2 +- docs/API_docs/constructors/chatInviteEmpty.md | 2 +- .../constructors/chatInviteExported.md | 2 +- docs/API_docs/constructors/chatParticipant.md | 2 +- .../constructors/chatParticipantAdmin.md | 2 +- .../constructors/chatParticipantCreator.md | 2 +- .../API_docs/constructors/chatParticipants.md | 2 +- .../constructors/chatParticipantsForbidden.md | 2 +- docs/API_docs/constructors/chatPhoto.md | 2 +- docs/API_docs/constructors/chatPhotoEmpty.md | 2 +- .../constructors/client_DH_inner_data.md | 28 ++ docs/API_docs/constructors/config.md | 2 +- docs/API_docs/constructors/contact.md | 2 +- docs/API_docs/constructors/contactBlocked.md | 2 +- .../constructors/contactLinkContact.md | 2 +- .../constructors/contactLinkHasPhone.md | 2 +- docs/API_docs/constructors/contactLinkNone.md | 2 +- .../constructors/contactLinkUnknown.md | 2 +- docs/API_docs/constructors/contactStatus.md | 2 +- .../API_docs/constructors/contacts_blocked.md | 2 +- .../constructors/contacts_blockedSlice.md | 2 +- .../constructors/contacts_contacts.md | 2 +- .../contacts_contactsNotModified.md | 2 +- docs/API_docs/constructors/contacts_found.md | 2 +- .../constructors/contacts_importedContacts.md | 2 +- docs/API_docs/constructors/contacts_link.md | 2 +- .../constructors/contacts_resolvedPeer.md | 2 +- .../constructors/contacts_topPeers.md | 2 +- .../contacts_topPeersNotModified.md | 2 +- docs/API_docs/constructors/dcOption.md | 2 +- .../constructors/destroy_session_none.md | 25 ++ .../constructors/destroy_session_ok.md | 25 ++ docs/API_docs/constructors/dh_gen_fail.md | 27 ++ docs/API_docs/constructors/dh_gen_ok.md | 27 ++ docs/API_docs/constructors/dh_gen_retry.md | 27 ++ docs/API_docs/constructors/dialog.md | 2 +- docs/API_docs/constructors/disabledFeature.md | 2 +- docs/API_docs/constructors/document.md | 2 +- .../constructors/documentAttributeAnimated.md | 2 +- .../constructors/documentAttributeAudio.md | 2 +- .../constructors/documentAttributeFilename.md | 2 +- .../documentAttributeHasStickers.md | 2 +- .../documentAttributeImageSize.md | 2 +- .../constructors/documentAttributeSticker.md | 2 +- .../constructors/documentAttributeVideo.md | 2 +- docs/API_docs/constructors/documentEmpty.md | 2 +- docs/API_docs/constructors/draftMessage.md | 2 +- .../constructors/draftMessageEmpty.md | 2 +- docs/API_docs/constructors/encryptedChat.md | 2 +- .../constructors/encryptedChatDiscarded.md | 2 +- .../constructors/encryptedChatEmpty.md | 2 +- .../constructors/encryptedChatRequested.md | 2 +- .../constructors/encryptedChatWaiting.md | 2 +- docs/API_docs/constructors/encryptedFile.md | 2 +- .../constructors/encryptedFileEmpty.md | 2 +- .../API_docs/constructors/encryptedMessage.md | 2 +- .../constructors/encryptedMessageService.md | 2 +- docs/API_docs/constructors/error.md | 2 +- .../constructors/exportedMessageLink.md | 2 +- docs/API_docs/constructors/fileLocation.md | 2 +- .../constructors/fileLocationUnavailable.md | 2 +- docs/API_docs/constructors/foundGif.md | 2 +- docs/API_docs/constructors/foundGifCached.md | 2 +- docs/API_docs/constructors/future_salt.md | 27 ++ docs/API_docs/constructors/future_salts.md | 27 ++ docs/API_docs/constructors/game.md | 2 +- docs/API_docs/constructors/geoPoint.md | 2 +- docs/API_docs/constructors/geoPointEmpty.md | 2 +- docs/API_docs/constructors/gzip_packed.md | 25 ++ .../constructors/help_appChangelog.md | 2 +- .../constructors/help_appChangelogEmpty.md | 2 +- docs/API_docs/constructors/help_appUpdate.md | 2 +- docs/API_docs/constructors/help_inviteText.md | 2 +- .../API_docs/constructors/help_noAppUpdate.md | 2 +- docs/API_docs/constructors/help_support.md | 2 +- .../constructors/help_termsOfService.md | 2 +- docs/API_docs/constructors/highScore.md | 2 +- docs/API_docs/constructors/importedContact.md | 2 +- docs/API_docs/constructors/index.md | 86 +++++ .../constructors/inlineBotSwitchPM.md | 2 +- docs/API_docs/constructors/inputAppEvent.md | 2 +- .../constructors/inputBotInlineMessageGame.md | 2 +- .../constructors/inputBotInlineMessageID.md | 2 +- .../inputBotInlineMessageMediaAuto.md | 2 +- .../inputBotInlineMessageMediaContact.md | 2 +- .../inputBotInlineMessageMediaGeo.md | 2 +- .../inputBotInlineMessageMediaVenue.md | 2 +- .../constructors/inputBotInlineMessageText.md | 2 +- .../constructors/inputBotInlineResult.md | 2 +- .../inputBotInlineResultDocument.md | 2 +- .../constructors/inputBotInlineResultGame.md | 2 +- .../constructors/inputBotInlineResultPhoto.md | 2 +- docs/API_docs/constructors/inputChannel.md | 2 +- .../constructors/inputChannelEmpty.md | 2 +- docs/API_docs/constructors/inputChatPhoto.md | 2 +- .../constructors/inputChatPhotoEmpty.md | 2 +- .../constructors/inputChatUploadedPhoto.md | 2 +- docs/API_docs/constructors/inputDocument.md | 2 +- .../constructors/inputDocumentEmpty.md | 2 +- .../constructors/inputDocumentFileLocation.md | 2 +- .../constructors/inputEncryptedChat.md | 2 +- .../constructors/inputEncryptedFile.md | 2 +- .../inputEncryptedFileBigUploaded.md | 2 +- .../constructors/inputEncryptedFileEmpty.md | 2 +- .../inputEncryptedFileLocation.md | 2 +- .../inputEncryptedFileUploaded.md | 2 +- docs/API_docs/constructors/inputFile.md | 2 +- docs/API_docs/constructors/inputFileBig.md | 2 +- .../constructors/inputFileLocation.md | 2 +- docs/API_docs/constructors/inputGameID.md | 2 +- .../constructors/inputGameShortName.md | 2 +- docs/API_docs/constructors/inputGeoPoint.md | 2 +- .../constructors/inputGeoPointEmpty.md | 2 +- .../constructors/inputMediaContact.md | 2 +- .../constructors/inputMediaDocument.md | 2 +- .../inputMediaDocumentExternal.md | 2 +- docs/API_docs/constructors/inputMediaEmpty.md | 2 +- docs/API_docs/constructors/inputMediaGame.md | 2 +- .../constructors/inputMediaGeoPoint.md | 2 +- .../constructors/inputMediaGifExternal.md | 2 +- docs/API_docs/constructors/inputMediaPhoto.md | 2 +- .../constructors/inputMediaPhotoExternal.md | 2 +- .../inputMediaUploadedDocument.md | 2 +- .../constructors/inputMediaUploadedPhoto.md | 2 +- .../inputMediaUploadedThumbDocument.md | 2 +- docs/API_docs/constructors/inputMediaVenue.md | 2 +- .../inputMessageEntityMentionName.md | 2 +- .../inputMessagesFilterChatPhotos.md | 2 +- .../inputMessagesFilterDocument.md | 2 +- .../constructors/inputMessagesFilterEmpty.md | 2 +- .../constructors/inputMessagesFilterGif.md | 2 +- .../constructors/inputMessagesFilterMusic.md | 2 +- .../inputMessagesFilterPhotoVideo.md | 2 +- .../inputMessagesFilterPhotoVideoDocuments.md | 2 +- .../constructors/inputMessagesFilterPhotos.md | 2 +- .../constructors/inputMessagesFilterUrl.md | 2 +- .../constructors/inputMessagesFilterVideo.md | 2 +- .../constructors/inputMessagesFilterVoice.md | 2 +- docs/API_docs/constructors/inputNotifyAll.md | 2 +- .../API_docs/constructors/inputNotifyChats.md | 2 +- docs/API_docs/constructors/inputNotifyPeer.md | 2 +- .../API_docs/constructors/inputNotifyUsers.md | 2 +- .../API_docs/constructors/inputPeerChannel.md | 2 +- docs/API_docs/constructors/inputPeerChat.md | 2 +- docs/API_docs/constructors/inputPeerEmpty.md | 2 +- .../constructors/inputPeerNotifyEventsAll.md | 2 +- .../inputPeerNotifyEventsEmpty.md | 2 +- .../constructors/inputPeerNotifySettings.md | 2 +- docs/API_docs/constructors/inputPeerSelf.md | 2 +- docs/API_docs/constructors/inputPeerUser.md | 2 +- .../constructors/inputPhoneContact.md | 2 +- docs/API_docs/constructors/inputPhoto.md | 2 +- docs/API_docs/constructors/inputPhotoEmpty.md | 2 +- .../constructors/inputPrivacyKeyChatInvite.md | 2 +- .../inputPrivacyKeyStatusTimestamp.md | 2 +- .../constructors/inputPrivacyValueAllowAll.md | 2 +- .../inputPrivacyValueAllowContacts.md | 2 +- .../inputPrivacyValueAllowUsers.md | 2 +- .../inputPrivacyValueDisallowAll.md | 2 +- .../inputPrivacyValueDisallowContacts.md | 2 +- .../inputPrivacyValueDisallowUsers.md | 2 +- .../constructors/inputReportReasonOther.md | 2 +- .../inputReportReasonPornography.md | 2 +- .../constructors/inputReportReasonSpam.md | 2 +- .../constructors/inputReportReasonViolence.md | 2 +- .../constructors/inputStickerSetEmpty.md | 2 +- .../constructors/inputStickerSetID.md | 2 +- .../constructors/inputStickerSetShortName.md | 2 +- .../inputStickeredMediaDocument.md | 2 +- .../constructors/inputStickeredMediaPhoto.md | 2 +- docs/API_docs/constructors/inputUser.md | 2 +- docs/API_docs/constructors/inputUserEmpty.md | 2 +- docs/API_docs/constructors/inputUserSelf.md | 2 +- docs/API_docs/constructors/keyboardButton.md | 2 +- .../constructors/keyboardButtonCallback.md | 2 +- .../constructors/keyboardButtonGame.md | 2 +- .../keyboardButtonRequestGeoLocation.md | 2 +- .../keyboardButtonRequestPhone.md | 2 +- .../constructors/keyboardButtonRow.md | 2 +- .../keyboardButtonSwitchInline.md | 2 +- .../constructors/keyboardButtonUrl.md | 2 +- docs/API_docs/constructors/maskCoords.md | 2 +- docs/API_docs/constructors/message.md | 2 +- .../messageActionChannelCreate.md | 2 +- .../messageActionChannelMigrateFrom.md | 2 +- .../constructors/messageActionChatAddUser.md | 2 +- .../constructors/messageActionChatCreate.md | 2 +- .../messageActionChatDeletePhoto.md | 2 +- .../messageActionChatDeleteUser.md | 2 +- .../messageActionChatEditPhoto.md | 2 +- .../messageActionChatEditTitle.md | 2 +- .../messageActionChatJoinedByLink.md | 2 +- .../messageActionChatMigrateTo.md | 2 +- .../constructors/messageActionEmpty.md | 2 +- .../constructors/messageActionGameScore.md | 2 +- .../constructors/messageActionHistoryClear.md | 2 +- .../constructors/messageActionPinMessage.md | 2 +- docs/API_docs/constructors/messageEmpty.md | 2 +- .../constructors/messageEntityBold.md | 2 +- .../constructors/messageEntityBotCommand.md | 2 +- .../constructors/messageEntityCode.md | 2 +- .../constructors/messageEntityEmail.md | 2 +- .../constructors/messageEntityHashtag.md | 2 +- .../constructors/messageEntityItalic.md | 2 +- .../constructors/messageEntityMention.md | 2 +- .../constructors/messageEntityMentionName.md | 2 +- .../API_docs/constructors/messageEntityPre.md | 2 +- .../constructors/messageEntityTextUrl.md | 2 +- .../constructors/messageEntityUnknown.md | 2 +- .../API_docs/constructors/messageEntityUrl.md | 2 +- .../API_docs/constructors/messageFwdHeader.md | 2 +- .../constructors/messageMediaContact.md | 2 +- .../constructors/messageMediaDocument.md | 2 +- .../constructors/messageMediaEmpty.md | 2 +- .../API_docs/constructors/messageMediaGame.md | 2 +- docs/API_docs/constructors/messageMediaGeo.md | 2 +- .../constructors/messageMediaPhoto.md | 2 +- .../constructors/messageMediaUnsupported.md | 2 +- .../constructors/messageMediaVenue.md | 2 +- .../constructors/messageMediaWebPage.md | 2 +- docs/API_docs/constructors/messageRange.md | 2 +- docs/API_docs/constructors/messageService.md | 2 +- .../constructors/messages_affectedHistory.md | 2 +- .../constructors/messages_affectedMessages.md | 2 +- .../constructors/messages_allStickers.md | 2 +- .../messages_allStickersNotModified.md | 2 +- .../constructors/messages_archivedStickers.md | 2 +- .../messages_botCallbackAnswer.md | 2 +- .../constructors/messages_botResults.md | 2 +- .../constructors/messages_channelMessages.md | 2 +- .../constructors/messages_chatFull.md | 2 +- docs/API_docs/constructors/messages_chats.md | 2 +- .../constructors/messages_dhConfig.md | 2 +- .../messages_dhConfigNotModified.md | 2 +- .../API_docs/constructors/messages_dialogs.md | 2 +- .../constructors/messages_dialogsSlice.md | 2 +- .../constructors/messages_featuredStickers.md | 2 +- .../messages_featuredStickersNotModified.md | 2 +- .../constructors/messages_foundGifs.md | 2 +- .../constructors/messages_highScores.md | 2 +- .../constructors/messages_messageEditData.md | 2 +- .../constructors/messages_messages.md | 2 +- .../constructors/messages_messagesSlice.md | 2 +- .../constructors/messages_peerDialogs.md | 2 +- .../constructors/messages_recentStickers.md | 2 +- .../messages_recentStickersNotModified.md | 2 +- .../constructors/messages_savedGifs.md | 2 +- .../messages_savedGifsNotModified.md | 2 +- .../messages_sentEncryptedFile.md | 2 +- .../messages_sentEncryptedMessage.md | 2 +- .../constructors/messages_stickerSet.md | 2 +- ...messages_stickerSetInstallResultArchive.md | 2 +- ...messages_stickerSetInstallResultSuccess.md | 2 +- .../constructors/messages_stickers.md | 2 +- .../messages_stickersNotModified.md | 2 +- docs/API_docs/constructors/msg_container.md | 25 ++ docs/API_docs/constructors/msg_copy.md | 25 ++ .../constructors/msg_detailed_info.md | 28 ++ .../constructors/msg_new_detailed_info.md | 27 ++ docs/API_docs/constructors/msg_resend_req.md | 25 ++ docs/API_docs/constructors/msgs_ack.md | 25 ++ docs/API_docs/constructors/msgs_all_info.md | 26 ++ docs/API_docs/constructors/msgs_state_info.md | 26 ++ docs/API_docs/constructors/msgs_state_req.md | 25 ++ docs/API_docs/constructors/nearestDc.md | 2 +- .../constructors/new_session_created.md | 27 ++ docs/API_docs/constructors/notifyAll.md | 2 +- docs/API_docs/constructors/notifyChats.md | 2 +- docs/API_docs/constructors/notifyPeer.md | 2 +- docs/API_docs/constructors/notifyUsers.md | 2 +- docs/API_docs/constructors/p_q_inner_data.md | 30 ++ .../constructors/p_q_inner_data_temp.md | 31 ++ docs/API_docs/constructors/peerChannel.md | 2 +- docs/API_docs/constructors/peerChat.md | 2 +- .../constructors/peerNotifyEventsAll.md | 2 +- .../constructors/peerNotifyEventsEmpty.md | 2 +- .../constructors/peerNotifySettings.md | 2 +- .../constructors/peerNotifySettingsEmpty.md | 2 +- docs/API_docs/constructors/peerSettings.md | 2 +- docs/API_docs/constructors/peerUser.md | 2 +- docs/API_docs/constructors/photo.md | 2 +- docs/API_docs/constructors/photoCachedSize.md | 2 +- docs/API_docs/constructors/photoEmpty.md | 2 +- docs/API_docs/constructors/photoSize.md | 2 +- docs/API_docs/constructors/photoSizeEmpty.md | 2 +- docs/API_docs/constructors/photos_photo.md | 2 +- docs/API_docs/constructors/photos_photos.md | 2 +- .../constructors/photos_photosSlice.md | 2 +- docs/API_docs/constructors/pong.md | 26 ++ .../constructors/privacyKeyChatInvite.md | 2 +- .../constructors/privacyKeyStatusTimestamp.md | 2 +- .../constructors/privacyValueAllowAll.md | 2 +- .../constructors/privacyValueAllowContacts.md | 2 +- .../constructors/privacyValueAllowUsers.md | 2 +- .../constructors/privacyValueDisallowAll.md | 2 +- .../privacyValueDisallowContacts.md | 2 +- .../constructors/privacyValueDisallowUsers.md | 2 +- .../constructors/receivedNotifyMessage.md | 2 +- .../constructors/replyInlineMarkup.md | 2 +- .../constructors/replyKeyboardForceReply.md | 2 +- .../constructors/replyKeyboardHide.md | 2 +- .../constructors/replyKeyboardMarkup.md | 2 +- docs/API_docs/constructors/resPQ.md | 28 ++ .../constructors/rpc_answer_dropped.md | 27 ++ .../rpc_answer_dropped_running.md | 20 ++ .../constructors/rpc_answer_unknown.md | 20 ++ docs/API_docs/constructors/rpc_error.md | 26 ++ docs/API_docs/constructors/rpc_result.md | 26 ++ .../constructors/sendMessageCancelAction.md | 2 +- .../sendMessageChooseContactAction.md | 2 +- .../constructors/sendMessageGamePlayAction.md | 2 +- .../sendMessageGeoLocationAction.md | 2 +- .../sendMessageRecordAudioAction.md | 2 +- .../sendMessageRecordVideoAction.md | 2 +- .../constructors/sendMessageTypingAction.md | 2 +- .../sendMessageUploadAudioAction.md | 2 +- .../sendMessageUploadDocumentAction.md | 2 +- .../sendMessageUploadPhotoAction.md | 2 +- .../sendMessageUploadVideoAction.md | 2 +- .../constructors/server_DH_inner_data.md | 30 ++ .../constructors/server_DH_params_fail.md | 27 ++ .../constructors/server_DH_params_ok.md | 27 ++ docs/API_docs/constructors/stickerPack.md | 2 +- docs/API_docs/constructors/stickerSet.md | 2 +- .../constructors/stickerSetCovered.md | 2 +- .../constructors/stickerSetMultiCovered.md | 2 +- docs/API_docs/constructors/storage_fileGif.md | 2 +- .../API_docs/constructors/storage_fileJpeg.md | 2 +- docs/API_docs/constructors/storage_fileMov.md | 2 +- docs/API_docs/constructors/storage_fileMp3.md | 2 +- docs/API_docs/constructors/storage_fileMp4.md | 2 +- .../constructors/storage_filePartial.md | 2 +- docs/API_docs/constructors/storage_filePdf.md | 2 +- docs/API_docs/constructors/storage_filePng.md | 2 +- .../constructors/storage_fileUnknown.md | 2 +- .../API_docs/constructors/storage_fileWebp.md | 2 +- docs/API_docs/constructors/topPeer.md | 2 +- .../constructors/topPeerCategoryBotsInline.md | 2 +- .../constructors/topPeerCategoryBotsPM.md | 2 +- .../constructors/topPeerCategoryChannels.md | 2 +- .../topPeerCategoryCorrespondents.md | 2 +- .../constructors/topPeerCategoryGroups.md | 2 +- .../constructors/topPeerCategoryPeers.md | 2 +- docs/API_docs/constructors/true.md | 2 +- .../constructors/updateBotCallbackQuery.md | 2 +- .../constructors/updateBotInlineQuery.md | 2 +- .../constructors/updateBotInlineSend.md | 2 +- docs/API_docs/constructors/updateChannel.md | 2 +- .../constructors/updateChannelMessageViews.md | 2 +- .../updateChannelPinnedMessage.md | 2 +- .../constructors/updateChannelTooLong.md | 2 +- .../API_docs/constructors/updateChatAdmins.md | 2 +- .../constructors/updateChatParticipantAdd.md | 2 +- .../updateChatParticipantAdmin.md | 2 +- .../updateChatParticipantDelete.md | 2 +- .../constructors/updateChatParticipants.md | 2 +- .../constructors/updateChatUserTyping.md | 2 +- docs/API_docs/constructors/updateConfig.md | 2 +- .../constructors/updateContactLink.md | 2 +- .../constructors/updateContactRegistered.md | 2 +- docs/API_docs/constructors/updateDcOptions.md | 2 +- .../updateDeleteChannelMessages.md | 2 +- .../constructors/updateDeleteMessages.md | 2 +- .../constructors/updateDraftMessage.md | 2 +- .../constructors/updateEditChannelMessage.md | 2 +- .../constructors/updateEditMessage.md | 2 +- .../constructors/updateEncryptedChatTyping.md | 2 +- .../updateEncryptedMessagesRead.md | 2 +- .../API_docs/constructors/updateEncryption.md | 2 +- .../updateInlineBotCallbackQuery.md | 2 +- docs/API_docs/constructors/updateMessageID.md | 2 +- .../constructors/updateNewAuthorization.md | 2 +- .../constructors/updateNewChannelMessage.md | 2 +- .../constructors/updateNewEncryptedMessage.md | 2 +- .../API_docs/constructors/updateNewMessage.md | 2 +- .../constructors/updateNewStickerSet.md | 2 +- .../constructors/updateNotifySettings.md | 2 +- docs/API_docs/constructors/updatePrivacy.md | 2 +- .../API_docs/constructors/updatePtsChanged.md | 2 +- .../constructors/updateReadChannelInbox.md | 2 +- .../constructors/updateReadChannelOutbox.md | 2 +- .../updateReadFeaturedStickers.md | 2 +- .../constructors/updateReadHistoryInbox.md | 2 +- .../constructors/updateReadHistoryOutbox.md | 2 +- .../updateReadMessagesContents.md | 2 +- .../constructors/updateRecentStickers.md | 2 +- docs/API_docs/constructors/updateSavedGifs.md | 2 +- .../constructors/updateServiceNotification.md | 2 +- docs/API_docs/constructors/updateShort.md | 2 +- .../constructors/updateShortChatMessage.md | 2 +- .../constructors/updateShortMessage.md | 2 +- .../constructors/updateShortSentMessage.md | 2 +- .../constructors/updateStickerSets.md | 2 +- .../constructors/updateStickerSetsOrder.md | 2 +- .../constructors/updateUserBlocked.md | 2 +- docs/API_docs/constructors/updateUserName.md | 2 +- docs/API_docs/constructors/updateUserPhone.md | 2 +- docs/API_docs/constructors/updateUserPhoto.md | 2 +- .../API_docs/constructors/updateUserStatus.md | 2 +- .../API_docs/constructors/updateUserTyping.md | 2 +- docs/API_docs/constructors/updateWebPage.md | 2 +- docs/API_docs/constructors/updates.md | 2 +- docs/API_docs/constructors/updatesCombined.md | 2 +- docs/API_docs/constructors/updatesTooLong.md | 2 +- .../constructors/updates_channelDifference.md | 2 +- .../updates_channelDifferenceEmpty.md | 2 +- .../updates_channelDifferenceTooLong.md | 2 +- .../constructors/updates_difference.md | 2 +- .../constructors/updates_differenceEmpty.md | 2 +- .../constructors/updates_differenceSlice.md | 2 +- docs/API_docs/constructors/updates_state.md | 2 +- docs/API_docs/constructors/upload_file.md | 2 +- docs/API_docs/constructors/user.md | 2 +- docs/API_docs/constructors/userEmpty.md | 2 +- docs/API_docs/constructors/userFull.md | 2 +- .../API_docs/constructors/userProfilePhoto.md | 2 +- .../constructors/userProfilePhotoEmpty.md | 2 +- docs/API_docs/constructors/userStatusEmpty.md | 2 +- .../constructors/userStatusLastMonth.md | 2 +- .../constructors/userStatusLastWeek.md | 2 +- .../constructors/userStatusOffline.md | 2 +- .../API_docs/constructors/userStatusOnline.md | 2 +- .../constructors/userStatusRecently.md | 2 +- docs/API_docs/constructors/vector.md | 2 +- docs/API_docs/constructors/wallPaper.md | 2 +- docs/API_docs/constructors/wallPaperSolid.md | 2 +- docs/API_docs/constructors/webPage.md | 2 +- docs/API_docs/constructors/webPageEmpty.md | 2 +- docs/API_docs/constructors/webPagePending.md | 2 +- docs/API_docs/methods/destroy_session.md | 37 ++ docs/API_docs/methods/get_future_salts.md | 37 ++ docs/API_docs/methods/http_wait.md | 39 +++ docs/API_docs/methods/index.md | 25 ++ docs/API_docs/methods/ping.md | 37 ++ .../API_docs/methods/ping_delay_disconnect.md | 38 ++ docs/API_docs/methods/req_DH_params.md | 42 +++ docs/API_docs/methods/req_pq.md | 37 ++ docs/API_docs/methods/rpc_drop_answer.md | 37 ++ docs/API_docs/methods/set_client_DH_params.md | 39 +++ docs/API_docs/types/BadMsgNotification.md | 21 ++ docs/API_docs/types/BindAuthKeyInner.md | 19 + docs/API_docs/types/Client_DH_Inner_Data.md | 19 + docs/API_docs/types/DestroySessionRes.md | 23 ++ docs/API_docs/types/FutureSalt.md | 19 + docs/API_docs/types/FutureSalts.md | 21 ++ docs/API_docs/types/HttpWait.md | 19 + docs/API_docs/types/Message.md | 2 + docs/API_docs/types/MessageContainer.md | 19 + docs/API_docs/types/MessageCopy.md | 19 + docs/API_docs/types/MsgDetailedInfo.md | 21 ++ docs/API_docs/types/MsgResendReq.md | 19 + docs/API_docs/types/MsgsAck.md | 19 + docs/API_docs/types/MsgsAllInfo.md | 19 + docs/API_docs/types/MsgsStateInfo.md | 19 + docs/API_docs/types/MsgsStateReq.md | 19 + docs/API_docs/types/NewSession.md | 19 + docs/API_docs/types/Object.md | 19 + docs/API_docs/types/P_Q_inner_data.md | 21 ++ docs/API_docs/types/Pong.md | 23 ++ docs/API_docs/types/ResPQ.md | 21 ++ docs/API_docs/types/RpcDropAnswer.md | 25 ++ docs/API_docs/types/RpcError.md | 19 + docs/API_docs/types/RpcResult.md | 19 + docs/API_docs/types/Server_DH_Params.md | 23 ++ docs/API_docs/types/Server_DH_inner_data.md | 19 + .../types/Set_client_DH_params_answer.md | 25 ++ docs/API_docs/types/Vector t.md | 2 + docs/API_docs/types/index.md | 52 +++ docs/index.md | 157 +++++++-- enc.tar.xz.enc | Bin 33840 -> 33728 bytes src/danog/MadelineProto/API.php | 2 +- src/danog/MadelineProto/Connection.php | 3 +- src/danog/MadelineProto/DataCenter.php | 4 +- src/danog/MadelineProto/MTProto.php | 9 +- .../MTProtoTools/AuthKeyHandler.php | 10 +- .../MTProtoTools/CallHandler.php | 10 +- .../MTProtoTools/MessageHandler.php | 3 +- .../MTProtoTools/PeerHandler.php | 65 +++- .../MTProtoTools/ResponseHandler.php | 69 +++- .../MTProtoTools/UpdateHandler.php | 328 +++++++++++------- src/danog/MadelineProto/PrimeModule.php | 2 +- src/danog/MadelineProto/RSA.php | 5 +- src/danog/MadelineProto/Serialization.php | 1 + src/danog/MadelineProto/TL/TL.php | 21 +- src/danog/MadelineProto/Tools.php | 2 +- src/danog/MadelineProto/Wrappers/Login.php | 7 +- .../Wrappers/SettingsManager.php | 2 +- testing.php | 18 +- 549 files changed, 3066 insertions(+), 684 deletions(-) create mode 100644 docs/API_docs/constructors/MTmessage.md create mode 100644 docs/API_docs/constructors/bad_msg_notification.md create mode 100644 docs/API_docs/constructors/bad_server_salt.md create mode 100644 docs/API_docs/constructors/bind_auth_key_inner.md create mode 100644 docs/API_docs/constructors/client_DH_inner_data.md create mode 100644 docs/API_docs/constructors/destroy_session_none.md create mode 100644 docs/API_docs/constructors/destroy_session_ok.md create mode 100644 docs/API_docs/constructors/dh_gen_fail.md create mode 100644 docs/API_docs/constructors/dh_gen_ok.md create mode 100644 docs/API_docs/constructors/dh_gen_retry.md create mode 100644 docs/API_docs/constructors/future_salt.md create mode 100644 docs/API_docs/constructors/future_salts.md create mode 100644 docs/API_docs/constructors/gzip_packed.md create mode 100644 docs/API_docs/constructors/msg_container.md create mode 100644 docs/API_docs/constructors/msg_copy.md create mode 100644 docs/API_docs/constructors/msg_detailed_info.md create mode 100644 docs/API_docs/constructors/msg_new_detailed_info.md create mode 100644 docs/API_docs/constructors/msg_resend_req.md create mode 100644 docs/API_docs/constructors/msgs_ack.md create mode 100644 docs/API_docs/constructors/msgs_all_info.md create mode 100644 docs/API_docs/constructors/msgs_state_info.md create mode 100644 docs/API_docs/constructors/msgs_state_req.md create mode 100644 docs/API_docs/constructors/new_session_created.md create mode 100644 docs/API_docs/constructors/p_q_inner_data.md create mode 100644 docs/API_docs/constructors/p_q_inner_data_temp.md create mode 100644 docs/API_docs/constructors/pong.md create mode 100644 docs/API_docs/constructors/resPQ.md create mode 100644 docs/API_docs/constructors/rpc_answer_dropped.md create mode 100644 docs/API_docs/constructors/rpc_answer_dropped_running.md create mode 100644 docs/API_docs/constructors/rpc_answer_unknown.md create mode 100644 docs/API_docs/constructors/rpc_error.md create mode 100644 docs/API_docs/constructors/rpc_result.md create mode 100644 docs/API_docs/constructors/server_DH_inner_data.md create mode 100644 docs/API_docs/constructors/server_DH_params_fail.md create mode 100644 docs/API_docs/constructors/server_DH_params_ok.md create mode 100644 docs/API_docs/methods/destroy_session.md create mode 100644 docs/API_docs/methods/get_future_salts.md create mode 100644 docs/API_docs/methods/http_wait.md create mode 100644 docs/API_docs/methods/ping.md create mode 100644 docs/API_docs/methods/ping_delay_disconnect.md create mode 100644 docs/API_docs/methods/req_DH_params.md create mode 100644 docs/API_docs/methods/req_pq.md create mode 100644 docs/API_docs/methods/rpc_drop_answer.md create mode 100644 docs/API_docs/methods/set_client_DH_params.md create mode 100644 docs/API_docs/types/BadMsgNotification.md create mode 100644 docs/API_docs/types/BindAuthKeyInner.md create mode 100644 docs/API_docs/types/Client_DH_Inner_Data.md create mode 100644 docs/API_docs/types/DestroySessionRes.md create mode 100644 docs/API_docs/types/FutureSalt.md create mode 100644 docs/API_docs/types/FutureSalts.md create mode 100644 docs/API_docs/types/HttpWait.md create mode 100644 docs/API_docs/types/MessageContainer.md create mode 100644 docs/API_docs/types/MessageCopy.md create mode 100644 docs/API_docs/types/MsgDetailedInfo.md create mode 100644 docs/API_docs/types/MsgResendReq.md create mode 100644 docs/API_docs/types/MsgsAck.md create mode 100644 docs/API_docs/types/MsgsAllInfo.md create mode 100644 docs/API_docs/types/MsgsStateInfo.md create mode 100644 docs/API_docs/types/MsgsStateReq.md create mode 100644 docs/API_docs/types/NewSession.md create mode 100644 docs/API_docs/types/Object.md create mode 100644 docs/API_docs/types/P_Q_inner_data.md create mode 100644 docs/API_docs/types/Pong.md create mode 100644 docs/API_docs/types/ResPQ.md create mode 100644 docs/API_docs/types/RpcDropAnswer.md create mode 100644 docs/API_docs/types/RpcError.md create mode 100644 docs/API_docs/types/RpcResult.md create mode 100644 docs/API_docs/types/Server_DH_Params.md create mode 100644 docs/API_docs/types/Server_DH_inner_data.md create mode 100644 docs/API_docs/types/Set_client_DH_params_answer.md diff --git a/.travis.yml b/.travis.yml index 4f09cbbc..f6522919 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,8 @@ before_script: script: - "./testing.php" before_install: +- openssl aes-256-cbc -K $encrypted_223c5fe08d29_key -iv $encrypted_223c5fe08d29_iv + -in enc.tar.xz.enc -out enc.tar.xz -d - openssl aes-256-cbc -K $encrypted_0b05103af24b_key -iv $encrypted_0b05103af24b_iv -in enc.tar.xz.enc -out enc.tar.xz -d - tar -xJpf enc.tar.xz diff --git a/README.md b/README.md index e80892e2..44b5d736 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,10 @@ Slv8kg9qv1m6XHVQY3PnEw+QQtqSIXklHwIDAQAB 'incoming' => 30, 'outgoing' => 30, ], + 'updates' => [ + 'updates_array_limit' => 1000, // How big should be the array containing the updates processed with the default example_update_handler callback + 'callback' => [$this, 'get_updates_update_handler'], // A callable function that will be called every time an update is received, must accept an array (for the update) as the only parameter + ], ]; ``` @@ -176,13 +180,142 @@ The settings array can be accessed in the instantiated class like this: ``` $MadelineProto = new \danog\MadelineProto\API(); -var_dump($MadelineProto->API->settings); +var_dump($MadelineProto->get_settings()); ``` +The settings array can be modified in the instantiated class like this: + +``` +$MadelineProto = new \danog\MadelineProto\API(); +$settings = $MadelineProto->get_settings(); +// Make changes to $settings +$MadelineProto->update_settings($settings); +``` + +### Handling updates + +When an update is received, the update callback function (see settings) is called. By default, the get_updates_update_handler MadelineProto method is called. This method stores all incoming updates into an array (its size limit is specified by the updates\_array\_limit parameter in the settings) and can be fetched by running the `get_updates` method. +This method accepts an array of options as the first parameter, and returns an array of updates. Example: + +``` +$MadelineProto = new \danog\MadelineProto\API(); +// Login or deserialize + +$offset = 0; +while (true) { + $updates = $MadelineProto->API->get_updates(['offset' => $offset, 'limit' => 50, 'timeout' => 1]); // Just like in the bot API, you can specify an offset, a limit and a timeout + foreach ($updates as $update) { + $offset = $update['update_id'] // Just like in the bot API, the offset must be set to the last update_id + // Parse $update['update'], that is an object of type Update + } + var_dump($update); +} + +array(3) { + [0]=> + array(2) { + ["update_id"]=> + int(0) + ["update"]=> + array(5) { + ["_"]=> + string(22) "updateNewAuthorization" + ["auth_key_id"]=> + int(-8182897590766478746) + ["date"]=> + int(1483110797) + ["device"]=> + string(3) "Web" + ["location"]=> + string(25) "IT, 05 (IP = 79.2.51.203)" + } + } + [1]=> + array(2) { + ["update_id"]=> + int(1) + ["update"]=> + array(3) { + ["_"]=> + string(23) "updateReadChannelOutbox" + ["channel_id"]=> + int(1049295266) + ["max_id"]=> + int(8288) + } + } + [2]=> + array(2) { + ["update_id"]=> + int(2) + ["update"]=> + array(4) { + ["_"]=> + string(23) "updateNewChannelMessage" + ["message"]=> + array(12) { + ["_"]=> + string(7) "message" + ["out"]=> + bool(false) + ["mentioned"]=> + bool(false) + ["media_unread"]=> + bool(false) + ["silent"]=> + bool(false) + ["post"]=> + bool(false) + ["id"]=> + int(11521) + ["from_id"]=> + int(262946027) + ["to_id"]=> + array(2) { + ["_"]=> + string(11) "peerChannel" + ["channel_id"]=> + int(1066910227) + } + ["date"]=> + int(1483110798) + ["message"]=> + string(3) "yay" + ["entities"]=> + array(1) { + [0]=> + array(4) { + ["_"]=> + string(24) "messageEntityMentionName" + ["offset"]=> + int(0) + ["length"]=> + int(3) + ["user_id"]=> + int(101374607) + } + } + } + ["pts"]=> + int(13010) + ["pts_count"]=> + int(1) + } + } +} + + +``` + +To specify a custom callback change the correct value in the settings. The specified callable must accept one parameter for the update. + + + ### Calling mtproto methods and available wrappers The API documentation can be found [here](https://daniil.it/MadelineProto/API_docs/). -To call an MTProto method simply call it as if it is a method of the API class, substitute namespace sepators (.) with -> if needed: +To call an MTProto method simply call it as if it is a method of the API class, substitute namespace sepators (.) with -> if needed. +Also, an object of type User, InputUser, Chat, InputChannel, Peer or InputPeer must be provided as a parameter to a method, you can substitute it with the user/group/channel's username or bot API id. ``` $MadelineProto = new \danog\MadelineProto\API(); @@ -193,10 +326,7 @@ $checkedPhone = $MadelineProto->auth->checkPhone( // auth.checkPhone becomes aut ); $ping = $MadelineProto->ping([3]); // parameter names can be omitted as long as the order specified by the TL scheme is respected $message = "Hey! I'm sending this message with MadelineProto!"; -$username = $MadelineProto->contacts->resolveUsername(['username' => 'pwrtelegramgroup']); -var_dump($username); -$peer = ['_' => 'inputPeerChannel', 'channel_id' => $username['peer']['channel_id'], 'access_hash' => $username['chats'][0]['access_hash']]; -$sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'random_id' => \danog\PHP\Struct::unpack('messages->sendMessage(['peer' => '@danogentili', 'message' => $message]); var_dump($sentMessage); ``` @@ -213,20 +343,6 @@ for ($x = 0; $x < $sentCode['type']['length']; $x++) { $authorization = $MadelineProto->complete_phone_login($code); // Complete authorization var_dump($authorization); -var_dump($MadelineProto->resolve_username('@Palmas2012')); // Always use this method to resolve usernames, but you won't need to call this to get info about peers, as get_peer and get_input_peer will call it for you if needed - -$message = "I've installed MadelineProto!"; - -$mention = $MadelineProto->get_info('@@NonSonoGioTech'); // Returns the following array: ['constructor' => $constructor, 'inputPeer' => $inputPeer, 'inputType' => $inputType, 'Peer' => $Peer, 'id' => $id, 'botApiId' => $bot_api_id] -$mention = $mention['inputType']; // Selects only the inputType object - -foreach (['@pwrtelegramgroup', '@pwrtelegramgroupita'] as $peer) { - $peer = $MadelineProto->get_info($peer)['inputPeer']; // Select the inputPeerType (alias inputPeer) object - $sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'entities' => [['_' => 'inputMessageEntityMentionName', 'offset' => 0, 'length' => strlen($message), 'user_id' => $mention]]]); - \danog\MadelineProto\Logger::log($sentMessage); -} - -// The above works with bots too $authorization = $MadelineProto->bot_login($token); // Note that every time you login as a bot or as a user MadelineProto will logout first, so now MadelineProto is logged in as the bot with token $token, not as the user with number $number var_dump($authorization); ``` @@ -275,6 +391,7 @@ src/danog/MadelineProto/ Wrappers/ Login - Handles logging in as a bot or a user, logging out PeerHandler - Eases getting of input peer objects using usernames or bot API chat ids + SettingsManager - Eases updating settings API - Wrapper class that instantiates the MTProto class, sets the error handler, provides a wrapper for calling mtproto methods directly as class submethods, and uses the simplified wrappers from Wrappers/ APIFactory - Provides a wrapper for calling namespaced mtproto methods directly as class submethods Connection - Handles tcp/udp/http connections and wrapping payloads generated by MTProtoTools/MessageHandler into the right message according to the protocol, stores authorization keys, session id and sequence number diff --git a/build_docs.php b/build_docs.php index e557b4fb..83b0c663 100755 --- a/build_docs.php +++ b/build_docs.php @@ -16,10 +16,10 @@ require_once 'vendor/autoload.php'; $mode = 3; \danog\MadelineProto\Logger::constructor($mode); -$TL = new \danog\MadelineProto\TL\TL([ +$TL = new \danog\MadelineProto\MTProto(['tl' => [ //'mtproto' => __DIR__.'/src/danog/MadelineProto/TL_mtproto_v1.json', // mtproto TL scheme 'telegram' => __DIR__.'/src/danog/MadelineProto/TL_telegram_v57.json', // telegram TL scheme -]); +]]); $types = []; \danog\MadelineProto\Logger::log('Copying readme...'); @@ -284,7 +284,7 @@ foreach ($TL->constructors->predicate as $key => $constructor) { $params .= "'".$param['name']."' => "; $params .= (isset($param['subtype']) ? '['.$param['type'].']' : $param['type']).', '; } - $params = "['_' => ".$constructor."', ".$params.']'; + $params = "['_' => ".$constructor.", ".$params.']'; $header = '--- title: '.$constructor.' diff --git a/docs/API_docs/constructors/MTmessage.md b/docs/API_docs/constructors/MTmessage.md new file mode 100644 index 00000000..0a9be66d --- /dev/null +++ b/docs/API_docs/constructors/MTmessage.md @@ -0,0 +1,28 @@ +--- +title: MTmessage +description: MTmessage attributes, type and example +--- +## Constructor: MTmessage +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|msg\_id|[long](../types/long.md) | Required| +|seqno|[int](../types/int.md) | Required| +|bytes|[int](../types/int.md) | Required| +|body|[Object](../types/Object.md) | Required| + + + +### Type: [Message](../types/Message.md) + + +### Example: + +``` +$MTmessage = ['_' => MTmessage, 'msg_id' => long, 'seqno' => int, 'bytes' => int, 'body' => Object, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/accountDaysTTL.md b/docs/API_docs/constructors/accountDaysTTL.md index 91b28fb7..597b5c56 100644 --- a/docs/API_docs/constructors/accountDaysTTL.md +++ b/docs/API_docs/constructors/accountDaysTTL.md @@ -21,5 +21,5 @@ description: accountDaysTTL attributes, type and example ### Example: ``` -$accountDaysTTL = ['_' => accountDaysTTL', 'days' => int, ]; +$accountDaysTTL = ['_' => accountDaysTTL, 'days' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/account_authorizations.md b/docs/API_docs/constructors/account_authorizations.md index e7f62baf..5592781a 100644 --- a/docs/API_docs/constructors/account_authorizations.md +++ b/docs/API_docs/constructors/account_authorizations.md @@ -21,5 +21,5 @@ description: account_authorizations attributes, type and example ### Example: ``` -$account_authorizations = ['_' => account_authorizations', 'authorizations' => [Vector t], ]; +$account_authorizations = ['_' => account_authorizations, 'authorizations' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/account_noPassword.md b/docs/API_docs/constructors/account_noPassword.md index 70d55e2d..0248bbb0 100644 --- a/docs/API_docs/constructors/account_noPassword.md +++ b/docs/API_docs/constructors/account_noPassword.md @@ -22,5 +22,5 @@ description: account_noPassword attributes, type and example ### Example: ``` -$account_noPassword = ['_' => account_noPassword', 'new_salt' => bytes, 'email_unconfirmed_pattern' => string, ]; +$account_noPassword = ['_' => account_noPassword, 'new_salt' => bytes, 'email_unconfirmed_pattern' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/account_password.md b/docs/API_docs/constructors/account_password.md index 709dec45..ea573167 100644 --- a/docs/API_docs/constructors/account_password.md +++ b/docs/API_docs/constructors/account_password.md @@ -25,5 +25,5 @@ description: account_password attributes, type and example ### Example: ``` -$account_password = ['_' => account_password', 'current_salt' => bytes, 'new_salt' => bytes, 'hint' => string, 'has_recovery' => Bool, 'email_unconfirmed_pattern' => string, ]; +$account_password = ['_' => account_password, 'current_salt' => bytes, 'new_salt' => bytes, 'hint' => string, 'has_recovery' => Bool, 'email_unconfirmed_pattern' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/account_passwordInputSettings.md b/docs/API_docs/constructors/account_passwordInputSettings.md index 832e766d..ecb4774c 100644 --- a/docs/API_docs/constructors/account_passwordInputSettings.md +++ b/docs/API_docs/constructors/account_passwordInputSettings.md @@ -24,5 +24,5 @@ description: account_passwordInputSettings attributes, type and example ### Example: ``` -$account_passwordInputSettings = ['_' => account_passwordInputSettings', 'new_salt' => bytes, 'new_password_hash' => bytes, 'hint' => string, 'email' => string, ]; +$account_passwordInputSettings = ['_' => account_passwordInputSettings, 'new_salt' => bytes, 'new_password_hash' => bytes, 'hint' => string, 'email' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/account_passwordSettings.md b/docs/API_docs/constructors/account_passwordSettings.md index 2c4456e0..ddbc2dfd 100644 --- a/docs/API_docs/constructors/account_passwordSettings.md +++ b/docs/API_docs/constructors/account_passwordSettings.md @@ -21,5 +21,5 @@ description: account_passwordSettings attributes, type and example ### Example: ``` -$account_passwordSettings = ['_' => account_passwordSettings', 'email' => string, ]; +$account_passwordSettings = ['_' => account_passwordSettings, 'email' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/account_privacyRules.md b/docs/API_docs/constructors/account_privacyRules.md index afd21914..dae992f4 100644 --- a/docs/API_docs/constructors/account_privacyRules.md +++ b/docs/API_docs/constructors/account_privacyRules.md @@ -22,5 +22,5 @@ description: account_privacyRules attributes, type and example ### Example: ``` -$account_privacyRules = ['_' => account_privacyRules', 'rules' => [Vector t], 'users' => [Vector t], ]; +$account_privacyRules = ['_' => account_privacyRules, 'rules' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_authorization.md b/docs/API_docs/constructors/auth_authorization.md index 87ce5ff0..9dd97ab1 100644 --- a/docs/API_docs/constructors/auth_authorization.md +++ b/docs/API_docs/constructors/auth_authorization.md @@ -22,5 +22,5 @@ description: auth_authorization attributes, type and example ### Example: ``` -$auth_authorization = ['_' => auth_authorization', 'tmp_sessions' => int, 'user' => User, ]; +$auth_authorization = ['_' => auth_authorization, 'tmp_sessions' => int, 'user' => User, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_checkedPhone.md b/docs/API_docs/constructors/auth_checkedPhone.md index 3fc2a1ec..7f449fa4 100644 --- a/docs/API_docs/constructors/auth_checkedPhone.md +++ b/docs/API_docs/constructors/auth_checkedPhone.md @@ -21,5 +21,5 @@ description: auth_checkedPhone attributes, type and example ### Example: ``` -$auth_checkedPhone = ['_' => auth_checkedPhone', 'phone_registered' => Bool, ]; +$auth_checkedPhone = ['_' => auth_checkedPhone, 'phone_registered' => Bool, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_codeTypeCall.md b/docs/API_docs/constructors/auth_codeTypeCall.md index c10f7003..e29c032a 100644 --- a/docs/API_docs/constructors/auth_codeTypeCall.md +++ b/docs/API_docs/constructors/auth_codeTypeCall.md @@ -16,5 +16,5 @@ description: auth_codeTypeCall attributes, type and example ### Example: ``` -$auth_codeTypeCall = ['_' => auth_codeTypeCall', ]; +$auth_codeTypeCall = ['_' => auth_codeTypeCall, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_codeTypeFlashCall.md b/docs/API_docs/constructors/auth_codeTypeFlashCall.md index 4fb83e55..7aff80c5 100644 --- a/docs/API_docs/constructors/auth_codeTypeFlashCall.md +++ b/docs/API_docs/constructors/auth_codeTypeFlashCall.md @@ -16,5 +16,5 @@ description: auth_codeTypeFlashCall attributes, type and example ### Example: ``` -$auth_codeTypeFlashCall = ['_' => auth_codeTypeFlashCall', ]; +$auth_codeTypeFlashCall = ['_' => auth_codeTypeFlashCall, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_codeTypeSms.md b/docs/API_docs/constructors/auth_codeTypeSms.md index 26a60704..851c12ea 100644 --- a/docs/API_docs/constructors/auth_codeTypeSms.md +++ b/docs/API_docs/constructors/auth_codeTypeSms.md @@ -16,5 +16,5 @@ description: auth_codeTypeSms attributes, type and example ### Example: ``` -$auth_codeTypeSms = ['_' => auth_codeTypeSms', ]; +$auth_codeTypeSms = ['_' => auth_codeTypeSms, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_exportedAuthorization.md b/docs/API_docs/constructors/auth_exportedAuthorization.md index eb20edfa..1ed744cb 100644 --- a/docs/API_docs/constructors/auth_exportedAuthorization.md +++ b/docs/API_docs/constructors/auth_exportedAuthorization.md @@ -22,5 +22,5 @@ description: auth_exportedAuthorization attributes, type and example ### Example: ``` -$auth_exportedAuthorization = ['_' => auth_exportedAuthorization', 'id' => int, 'bytes' => bytes, ]; +$auth_exportedAuthorization = ['_' => auth_exportedAuthorization, 'id' => int, 'bytes' => bytes, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_passwordRecovery.md b/docs/API_docs/constructors/auth_passwordRecovery.md index 559179b3..739c7518 100644 --- a/docs/API_docs/constructors/auth_passwordRecovery.md +++ b/docs/API_docs/constructors/auth_passwordRecovery.md @@ -21,5 +21,5 @@ description: auth_passwordRecovery attributes, type and example ### Example: ``` -$auth_passwordRecovery = ['_' => auth_passwordRecovery', 'email_pattern' => string, ]; +$auth_passwordRecovery = ['_' => auth_passwordRecovery, 'email_pattern' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_sentCode.md b/docs/API_docs/constructors/auth_sentCode.md index d832eb66..5ecfb0cb 100644 --- a/docs/API_docs/constructors/auth_sentCode.md +++ b/docs/API_docs/constructors/auth_sentCode.md @@ -25,5 +25,5 @@ description: auth_sentCode attributes, type and example ### Example: ``` -$auth_sentCode = ['_' => auth_sentCode', 'phone_registered' => true, 'type' => auth.SentCodeType, 'phone_code_hash' => string, 'next_type' => auth.CodeType, 'timeout' => int, ]; +$auth_sentCode = ['_' => auth_sentCode, 'phone_registered' => true, 'type' => auth.SentCodeType, 'phone_code_hash' => string, 'next_type' => auth.CodeType, 'timeout' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_sentCodeTypeApp.md b/docs/API_docs/constructors/auth_sentCodeTypeApp.md index 6d737fcf..749da707 100644 --- a/docs/API_docs/constructors/auth_sentCodeTypeApp.md +++ b/docs/API_docs/constructors/auth_sentCodeTypeApp.md @@ -21,5 +21,5 @@ description: auth_sentCodeTypeApp attributes, type and example ### Example: ``` -$auth_sentCodeTypeApp = ['_' => auth_sentCodeTypeApp', 'length' => int, ]; +$auth_sentCodeTypeApp = ['_' => auth_sentCodeTypeApp, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_sentCodeTypeCall.md b/docs/API_docs/constructors/auth_sentCodeTypeCall.md index 08373ea4..1a1de9f4 100644 --- a/docs/API_docs/constructors/auth_sentCodeTypeCall.md +++ b/docs/API_docs/constructors/auth_sentCodeTypeCall.md @@ -21,5 +21,5 @@ description: auth_sentCodeTypeCall attributes, type and example ### Example: ``` -$auth_sentCodeTypeCall = ['_' => auth_sentCodeTypeCall', 'length' => int, ]; +$auth_sentCodeTypeCall = ['_' => auth_sentCodeTypeCall, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_sentCodeTypeFlashCall.md b/docs/API_docs/constructors/auth_sentCodeTypeFlashCall.md index 8e8df0e1..aa548e9a 100644 --- a/docs/API_docs/constructors/auth_sentCodeTypeFlashCall.md +++ b/docs/API_docs/constructors/auth_sentCodeTypeFlashCall.md @@ -21,5 +21,5 @@ description: auth_sentCodeTypeFlashCall attributes, type and example ### Example: ``` -$auth_sentCodeTypeFlashCall = ['_' => auth_sentCodeTypeFlashCall', 'pattern' => string, ]; +$auth_sentCodeTypeFlashCall = ['_' => auth_sentCodeTypeFlashCall, 'pattern' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/auth_sentCodeTypeSms.md b/docs/API_docs/constructors/auth_sentCodeTypeSms.md index f3f9184e..31486159 100644 --- a/docs/API_docs/constructors/auth_sentCodeTypeSms.md +++ b/docs/API_docs/constructors/auth_sentCodeTypeSms.md @@ -21,5 +21,5 @@ description: auth_sentCodeTypeSms attributes, type and example ### Example: ``` -$auth_sentCodeTypeSms = ['_' => auth_sentCodeTypeSms', 'length' => int, ]; +$auth_sentCodeTypeSms = ['_' => auth_sentCodeTypeSms, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/authorization.md b/docs/API_docs/constructors/authorization.md index 6df45e80..cc69c5f3 100644 --- a/docs/API_docs/constructors/authorization.md +++ b/docs/API_docs/constructors/authorization.md @@ -32,5 +32,5 @@ description: authorization attributes, type and example ### Example: ``` -$authorization = ['_' => authorization', 'hash' => long, 'device_model' => string, 'platform' => string, 'system_version' => string, 'api_id' => int, 'app_name' => string, 'app_version' => string, 'date_created' => int, 'date_active' => int, 'ip' => string, 'country' => string, 'region' => string, ]; +$authorization = ['_' => authorization, 'hash' => long, 'device_model' => string, 'platform' => string, 'system_version' => string, 'api_id' => int, 'app_name' => string, 'app_version' => string, 'date_created' => int, 'date_active' => int, 'ip' => string, 'country' => string, 'region' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/bad_msg_notification.md b/docs/API_docs/constructors/bad_msg_notification.md new file mode 100644 index 00000000..2d0cde7b --- /dev/null +++ b/docs/API_docs/constructors/bad_msg_notification.md @@ -0,0 +1,27 @@ +--- +title: bad_msg_notification +description: bad_msg_notification attributes, type and example +--- +## Constructor: bad\_msg\_notification +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|bad\_msg\_id|[long](../types/long.md) | Required| +|bad\_msg\_seqno|[int](../types/int.md) | Required| +|error\_code|[int](../types/int.md) | Required| + + + +### Type: [BadMsgNotification](../types/BadMsgNotification.md) + + +### Example: + +``` +$bad_msg_notification = ['_' => bad_msg_notification, 'bad_msg_id' => long, 'bad_msg_seqno' => int, 'error_code' => int, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/bad_server_salt.md b/docs/API_docs/constructors/bad_server_salt.md new file mode 100644 index 00000000..11146697 --- /dev/null +++ b/docs/API_docs/constructors/bad_server_salt.md @@ -0,0 +1,28 @@ +--- +title: bad_server_salt +description: bad_server_salt attributes, type and example +--- +## Constructor: bad\_server\_salt +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|bad\_msg\_id|[long](../types/long.md) | Required| +|bad\_msg\_seqno|[int](../types/int.md) | Required| +|error\_code|[int](../types/int.md) | Required| +|new\_server\_salt|[long](../types/long.md) | Required| + + + +### Type: [BadMsgNotification](../types/BadMsgNotification.md) + + +### Example: + +``` +$bad_server_salt = ['_' => bad_server_salt, 'bad_msg_id' => long, 'bad_msg_seqno' => int, 'error_code' => int, 'new_server_salt' => long, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/bind_auth_key_inner.md b/docs/API_docs/constructors/bind_auth_key_inner.md new file mode 100644 index 00000000..afc1d685 --- /dev/null +++ b/docs/API_docs/constructors/bind_auth_key_inner.md @@ -0,0 +1,29 @@ +--- +title: bind_auth_key_inner +description: bind_auth_key_inner attributes, type and example +--- +## Constructor: bind\_auth\_key\_inner +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[long](../types/long.md) | Required| +|temp\_auth\_key\_id|[long](../types/long.md) | Required| +|perm\_auth\_key\_id|[long](../types/long.md) | Required| +|temp\_session\_id|[long](../types/long.md) | Required| +|expires\_at|[int](../types/int.md) | Required| + + + +### Type: [BindAuthKeyInner](../types/BindAuthKeyInner.md) + + +### Example: + +``` +$bind_auth_key_inner = ['_' => bind_auth_key_inner, 'nonce' => long, 'temp_auth_key_id' => long, 'perm_auth_key_id' => long, 'temp_session_id' => long, 'expires_at' => int, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/botCommand.md b/docs/API_docs/constructors/botCommand.md index 3b5b0f22..2293807a 100644 --- a/docs/API_docs/constructors/botCommand.md +++ b/docs/API_docs/constructors/botCommand.md @@ -22,5 +22,5 @@ description: botCommand attributes, type and example ### Example: ``` -$botCommand = ['_' => botCommand', 'command' => string, 'description' => string, ]; +$botCommand = ['_' => botCommand, 'command' => string, 'description' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/botInfo.md b/docs/API_docs/constructors/botInfo.md index 821cb1a4..d53ab43f 100644 --- a/docs/API_docs/constructors/botInfo.md +++ b/docs/API_docs/constructors/botInfo.md @@ -23,5 +23,5 @@ description: botInfo attributes, type and example ### Example: ``` -$botInfo = ['_' => botInfo', 'user_id' => int, 'description' => string, 'commands' => [Vector t], ]; +$botInfo = ['_' => botInfo, 'user_id' => int, 'description' => string, 'commands' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/botInlineMediaResult.md b/docs/API_docs/constructors/botInlineMediaResult.md index f22a0726..c7461309 100644 --- a/docs/API_docs/constructors/botInlineMediaResult.md +++ b/docs/API_docs/constructors/botInlineMediaResult.md @@ -27,5 +27,5 @@ description: botInlineMediaResult attributes, type and example ### Example: ``` -$botInlineMediaResult = ['_' => botInlineMediaResult', 'id' => string, 'type' => string, 'photo' => Photo, 'document' => Document, 'title' => string, 'description' => string, 'send_message' => BotInlineMessage, ]; +$botInlineMediaResult = ['_' => botInlineMediaResult, 'id' => string, 'type' => string, 'photo' => Photo, 'document' => Document, 'title' => string, 'description' => string, 'send_message' => BotInlineMessage, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/botInlineMessageMediaAuto.md b/docs/API_docs/constructors/botInlineMessageMediaAuto.md index 4816064d..e2830485 100644 --- a/docs/API_docs/constructors/botInlineMessageMediaAuto.md +++ b/docs/API_docs/constructors/botInlineMessageMediaAuto.md @@ -22,5 +22,5 @@ description: botInlineMessageMediaAuto attributes, type and example ### Example: ``` -$botInlineMessageMediaAuto = ['_' => botInlineMessageMediaAuto', 'caption' => string, 'reply_markup' => ReplyMarkup, ]; +$botInlineMessageMediaAuto = ['_' => botInlineMessageMediaAuto, 'caption' => string, 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/botInlineMessageMediaContact.md b/docs/API_docs/constructors/botInlineMessageMediaContact.md index ac8958c9..8d431898 100644 --- a/docs/API_docs/constructors/botInlineMessageMediaContact.md +++ b/docs/API_docs/constructors/botInlineMessageMediaContact.md @@ -24,5 +24,5 @@ description: botInlineMessageMediaContact attributes, type and example ### Example: ``` -$botInlineMessageMediaContact = ['_' => botInlineMessageMediaContact', 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'reply_markup' => ReplyMarkup, ]; +$botInlineMessageMediaContact = ['_' => botInlineMessageMediaContact, 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/botInlineMessageMediaGeo.md b/docs/API_docs/constructors/botInlineMessageMediaGeo.md index 545deeba..5f7095cf 100644 --- a/docs/API_docs/constructors/botInlineMessageMediaGeo.md +++ b/docs/API_docs/constructors/botInlineMessageMediaGeo.md @@ -22,5 +22,5 @@ description: botInlineMessageMediaGeo attributes, type and example ### Example: ``` -$botInlineMessageMediaGeo = ['_' => botInlineMessageMediaGeo', 'geo' => GeoPoint, 'reply_markup' => ReplyMarkup, ]; +$botInlineMessageMediaGeo = ['_' => botInlineMessageMediaGeo, 'geo' => GeoPoint, 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/botInlineMessageMediaVenue.md b/docs/API_docs/constructors/botInlineMessageMediaVenue.md index 3ccc788d..8991a5b1 100644 --- a/docs/API_docs/constructors/botInlineMessageMediaVenue.md +++ b/docs/API_docs/constructors/botInlineMessageMediaVenue.md @@ -26,5 +26,5 @@ description: botInlineMessageMediaVenue attributes, type and example ### Example: ``` -$botInlineMessageMediaVenue = ['_' => botInlineMessageMediaVenue', 'geo' => GeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, 'reply_markup' => ReplyMarkup, ]; +$botInlineMessageMediaVenue = ['_' => botInlineMessageMediaVenue, 'geo' => GeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/botInlineMessageText.md b/docs/API_docs/constructors/botInlineMessageText.md index f1aaf9dc..326e8e60 100644 --- a/docs/API_docs/constructors/botInlineMessageText.md +++ b/docs/API_docs/constructors/botInlineMessageText.md @@ -24,5 +24,5 @@ description: botInlineMessageText attributes, type and example ### Example: ``` -$botInlineMessageText = ['_' => botInlineMessageText', 'no_webpage' => true, 'message' => string, 'entities' => [Vector t], 'reply_markup' => ReplyMarkup, ]; +$botInlineMessageText = ['_' => botInlineMessageText, 'no_webpage' => true, 'message' => string, 'entities' => [Vector t], 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/botInlineResult.md b/docs/API_docs/constructors/botInlineResult.md index 2d8456c2..efda2f23 100644 --- a/docs/API_docs/constructors/botInlineResult.md +++ b/docs/API_docs/constructors/botInlineResult.md @@ -32,5 +32,5 @@ description: botInlineResult attributes, type and example ### Example: ``` -$botInlineResult = ['_' => botInlineResult', 'id' => string, 'type' => string, 'title' => string, 'description' => string, 'url' => string, 'thumb_url' => string, 'content_url' => string, 'content_type' => string, 'w' => int, 'h' => int, 'duration' => int, 'send_message' => BotInlineMessage, ]; +$botInlineResult = ['_' => botInlineResult, 'id' => string, 'type' => string, 'title' => string, 'description' => string, 'url' => string, 'thumb_url' => string, 'content_url' => string, 'content_type' => string, 'w' => int, 'h' => int, 'duration' => int, 'send_message' => BotInlineMessage, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channel.md b/docs/API_docs/constructors/channel.md index bd8201af..13a43685 100644 --- a/docs/API_docs/constructors/channel.md +++ b/docs/API_docs/constructors/channel.md @@ -40,5 +40,5 @@ description: channel attributes, type and example ### Example: ``` -$channel = ['_' => channel', 'creator' => true, 'kicked' => true, 'left' => true, 'editor' => true, 'moderator' => true, 'broadcast' => true, 'verified' => true, 'megagroup' => true, 'restricted' => true, 'democracy' => true, 'signatures' => true, 'min' => true, 'id' => int, 'access_hash' => long, 'title' => string, 'username' => string, 'photo' => ChatPhoto, 'date' => int, 'version' => int, 'restriction_reason' => string, ]; +$channel = ['_' => channel, 'creator' => true, 'kicked' => true, 'left' => true, 'editor' => true, 'moderator' => true, 'broadcast' => true, 'verified' => true, 'megagroup' => true, 'restricted' => true, 'democracy' => true, 'signatures' => true, 'min' => true, 'id' => int, 'access_hash' => long, 'title' => string, 'username' => string, 'photo' => ChatPhoto, 'date' => int, 'version' => int, 'restriction_reason' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelForbidden.md b/docs/API_docs/constructors/channelForbidden.md index 0a89da49..bc87b9d3 100644 --- a/docs/API_docs/constructors/channelForbidden.md +++ b/docs/API_docs/constructors/channelForbidden.md @@ -25,5 +25,5 @@ description: channelForbidden attributes, type and example ### Example: ``` -$channelForbidden = ['_' => channelForbidden', 'broadcast' => true, 'megagroup' => true, 'id' => int, 'access_hash' => long, 'title' => string, ]; +$channelForbidden = ['_' => channelForbidden, 'broadcast' => true, 'megagroup' => true, 'id' => int, 'access_hash' => long, 'title' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelFull.md b/docs/API_docs/constructors/channelFull.md index 258d02eb..92921206 100644 --- a/docs/API_docs/constructors/channelFull.md +++ b/docs/API_docs/constructors/channelFull.md @@ -37,5 +37,5 @@ description: channelFull attributes, type and example ### Example: ``` -$channelFull = ['_' => channelFull', 'can_view_participants' => true, 'can_set_username' => true, 'id' => int, 'about' => string, 'participants_count' => int, 'admins_count' => int, 'kicked_count' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'chat_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'exported_invite' => ExportedChatInvite, 'bot_info' => [Vector t], 'migrated_from_chat_id' => int, 'migrated_from_max_id' => int, 'pinned_msg_id' => int, ]; +$channelFull = ['_' => channelFull, 'can_view_participants' => true, 'can_set_username' => true, 'id' => int, 'about' => string, 'participants_count' => int, 'admins_count' => int, 'kicked_count' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'chat_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'exported_invite' => ExportedChatInvite, 'bot_info' => [Vector t], 'migrated_from_chat_id' => int, 'migrated_from_max_id' => int, 'pinned_msg_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelMessagesFilter.md b/docs/API_docs/constructors/channelMessagesFilter.md index 3420a1d2..2e39d636 100644 --- a/docs/API_docs/constructors/channelMessagesFilter.md +++ b/docs/API_docs/constructors/channelMessagesFilter.md @@ -22,5 +22,5 @@ description: channelMessagesFilter attributes, type and example ### Example: ``` -$channelMessagesFilter = ['_' => channelMessagesFilter', 'exclude_new_messages' => true, 'ranges' => [Vector t], ]; +$channelMessagesFilter = ['_' => channelMessagesFilter, 'exclude_new_messages' => true, 'ranges' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelMessagesFilterEmpty.md b/docs/API_docs/constructors/channelMessagesFilterEmpty.md index c848ba15..84e083aa 100644 --- a/docs/API_docs/constructors/channelMessagesFilterEmpty.md +++ b/docs/API_docs/constructors/channelMessagesFilterEmpty.md @@ -16,5 +16,5 @@ description: channelMessagesFilterEmpty attributes, type and example ### Example: ``` -$channelMessagesFilterEmpty = ['_' => channelMessagesFilterEmpty', ]; +$channelMessagesFilterEmpty = ['_' => channelMessagesFilterEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelParticipant.md b/docs/API_docs/constructors/channelParticipant.md index 69508296..5403fa55 100644 --- a/docs/API_docs/constructors/channelParticipant.md +++ b/docs/API_docs/constructors/channelParticipant.md @@ -22,5 +22,5 @@ description: channelParticipant attributes, type and example ### Example: ``` -$channelParticipant = ['_' => channelParticipant', 'user_id' => int, 'date' => int, ]; +$channelParticipant = ['_' => channelParticipant, 'user_id' => int, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelParticipantCreator.md b/docs/API_docs/constructors/channelParticipantCreator.md index 62ecf1e4..93d1d738 100644 --- a/docs/API_docs/constructors/channelParticipantCreator.md +++ b/docs/API_docs/constructors/channelParticipantCreator.md @@ -21,5 +21,5 @@ description: channelParticipantCreator attributes, type and example ### Example: ``` -$channelParticipantCreator = ['_' => channelParticipantCreator', 'user_id' => int, ]; +$channelParticipantCreator = ['_' => channelParticipantCreator, 'user_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelParticipantEditor.md b/docs/API_docs/constructors/channelParticipantEditor.md index c430b73b..c53447cc 100644 --- a/docs/API_docs/constructors/channelParticipantEditor.md +++ b/docs/API_docs/constructors/channelParticipantEditor.md @@ -23,5 +23,5 @@ description: channelParticipantEditor attributes, type and example ### Example: ``` -$channelParticipantEditor = ['_' => channelParticipantEditor', 'user_id' => int, 'inviter_id' => int, 'date' => int, ]; +$channelParticipantEditor = ['_' => channelParticipantEditor, 'user_id' => int, 'inviter_id' => int, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelParticipantKicked.md b/docs/API_docs/constructors/channelParticipantKicked.md index 1f30b663..56fb07dd 100644 --- a/docs/API_docs/constructors/channelParticipantKicked.md +++ b/docs/API_docs/constructors/channelParticipantKicked.md @@ -23,5 +23,5 @@ description: channelParticipantKicked attributes, type and example ### Example: ``` -$channelParticipantKicked = ['_' => channelParticipantKicked', 'user_id' => int, 'kicked_by' => int, 'date' => int, ]; +$channelParticipantKicked = ['_' => channelParticipantKicked, 'user_id' => int, 'kicked_by' => int, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelParticipantModerator.md b/docs/API_docs/constructors/channelParticipantModerator.md index 300cc1ce..b1a61e03 100644 --- a/docs/API_docs/constructors/channelParticipantModerator.md +++ b/docs/API_docs/constructors/channelParticipantModerator.md @@ -23,5 +23,5 @@ description: channelParticipantModerator attributes, type and example ### Example: ``` -$channelParticipantModerator = ['_' => channelParticipantModerator', 'user_id' => int, 'inviter_id' => int, 'date' => int, ]; +$channelParticipantModerator = ['_' => channelParticipantModerator, 'user_id' => int, 'inviter_id' => int, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelParticipantSelf.md b/docs/API_docs/constructors/channelParticipantSelf.md index fb927060..6f575b9c 100644 --- a/docs/API_docs/constructors/channelParticipantSelf.md +++ b/docs/API_docs/constructors/channelParticipantSelf.md @@ -23,5 +23,5 @@ description: channelParticipantSelf attributes, type and example ### Example: ``` -$channelParticipantSelf = ['_' => channelParticipantSelf', 'user_id' => int, 'inviter_id' => int, 'date' => int, ]; +$channelParticipantSelf = ['_' => channelParticipantSelf, 'user_id' => int, 'inviter_id' => int, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelParticipantsAdmins.md b/docs/API_docs/constructors/channelParticipantsAdmins.md index 390cc0b9..516ca16d 100644 --- a/docs/API_docs/constructors/channelParticipantsAdmins.md +++ b/docs/API_docs/constructors/channelParticipantsAdmins.md @@ -16,5 +16,5 @@ description: channelParticipantsAdmins attributes, type and example ### Example: ``` -$channelParticipantsAdmins = ['_' => channelParticipantsAdmins', ]; +$channelParticipantsAdmins = ['_' => channelParticipantsAdmins, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelParticipantsBots.md b/docs/API_docs/constructors/channelParticipantsBots.md index fae77a32..f6c5b142 100644 --- a/docs/API_docs/constructors/channelParticipantsBots.md +++ b/docs/API_docs/constructors/channelParticipantsBots.md @@ -16,5 +16,5 @@ description: channelParticipantsBots attributes, type and example ### Example: ``` -$channelParticipantsBots = ['_' => channelParticipantsBots', ]; +$channelParticipantsBots = ['_' => channelParticipantsBots, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelParticipantsKicked.md b/docs/API_docs/constructors/channelParticipantsKicked.md index 18083358..affa429b 100644 --- a/docs/API_docs/constructors/channelParticipantsKicked.md +++ b/docs/API_docs/constructors/channelParticipantsKicked.md @@ -16,5 +16,5 @@ description: channelParticipantsKicked attributes, type and example ### Example: ``` -$channelParticipantsKicked = ['_' => channelParticipantsKicked', ]; +$channelParticipantsKicked = ['_' => channelParticipantsKicked, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelParticipantsRecent.md b/docs/API_docs/constructors/channelParticipantsRecent.md index 1232e6d6..b4b5fd8f 100644 --- a/docs/API_docs/constructors/channelParticipantsRecent.md +++ b/docs/API_docs/constructors/channelParticipantsRecent.md @@ -16,5 +16,5 @@ description: channelParticipantsRecent attributes, type and example ### Example: ``` -$channelParticipantsRecent = ['_' => channelParticipantsRecent', ]; +$channelParticipantsRecent = ['_' => channelParticipantsRecent, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelRoleEditor.md b/docs/API_docs/constructors/channelRoleEditor.md index 42b52933..89b08ced 100644 --- a/docs/API_docs/constructors/channelRoleEditor.md +++ b/docs/API_docs/constructors/channelRoleEditor.md @@ -16,5 +16,5 @@ description: channelRoleEditor attributes, type and example ### Example: ``` -$channelRoleEditor = ['_' => channelRoleEditor', ]; +$channelRoleEditor = ['_' => channelRoleEditor, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelRoleEmpty.md b/docs/API_docs/constructors/channelRoleEmpty.md index 18447a7c..4c3d8685 100644 --- a/docs/API_docs/constructors/channelRoleEmpty.md +++ b/docs/API_docs/constructors/channelRoleEmpty.md @@ -16,5 +16,5 @@ description: channelRoleEmpty attributes, type and example ### Example: ``` -$channelRoleEmpty = ['_' => channelRoleEmpty', ]; +$channelRoleEmpty = ['_' => channelRoleEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channelRoleModerator.md b/docs/API_docs/constructors/channelRoleModerator.md index ac8bda9c..d1cb9dc4 100644 --- a/docs/API_docs/constructors/channelRoleModerator.md +++ b/docs/API_docs/constructors/channelRoleModerator.md @@ -16,5 +16,5 @@ description: channelRoleModerator attributes, type and example ### Example: ``` -$channelRoleModerator = ['_' => channelRoleModerator', ]; +$channelRoleModerator = ['_' => channelRoleModerator, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channels_channelParticipant.md b/docs/API_docs/constructors/channels_channelParticipant.md index be96b632..726eb0f1 100644 --- a/docs/API_docs/constructors/channels_channelParticipant.md +++ b/docs/API_docs/constructors/channels_channelParticipant.md @@ -22,5 +22,5 @@ description: channels_channelParticipant attributes, type and example ### Example: ``` -$channels_channelParticipant = ['_' => channels_channelParticipant', 'participant' => ChannelParticipant, 'users' => [Vector t], ]; +$channels_channelParticipant = ['_' => channels_channelParticipant, 'participant' => ChannelParticipant, 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/channels_channelParticipants.md b/docs/API_docs/constructors/channels_channelParticipants.md index 8698e987..8cd762ec 100644 --- a/docs/API_docs/constructors/channels_channelParticipants.md +++ b/docs/API_docs/constructors/channels_channelParticipants.md @@ -23,5 +23,5 @@ description: channels_channelParticipants attributes, type and example ### Example: ``` -$channels_channelParticipants = ['_' => channels_channelParticipants', 'count' => int, 'participants' => [Vector t], 'users' => [Vector t], ]; +$channels_channelParticipants = ['_' => channels_channelParticipants, 'count' => int, 'participants' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chat.md b/docs/API_docs/constructors/chat.md index 41649e1a..6dd2981e 100644 --- a/docs/API_docs/constructors/chat.md +++ b/docs/API_docs/constructors/chat.md @@ -33,5 +33,5 @@ description: chat attributes, type and example ### Example: ``` -$chat = ['_' => chat', 'creator' => true, 'kicked' => true, 'left' => true, 'admins_enabled' => true, 'admin' => true, 'deactivated' => true, 'id' => int, 'title' => string, 'photo' => ChatPhoto, 'participants_count' => int, 'date' => int, 'version' => int, 'migrated_to' => InputChannel, ]; +$chat = ['_' => chat, 'creator' => true, 'kicked' => true, 'left' => true, 'admins_enabled' => true, 'admin' => true, 'deactivated' => true, 'id' => int, 'title' => string, 'photo' => ChatPhoto, 'participants_count' => int, 'date' => int, 'version' => int, 'migrated_to' => InputChannel, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatEmpty.md b/docs/API_docs/constructors/chatEmpty.md index 8328392d..8580d01d 100644 --- a/docs/API_docs/constructors/chatEmpty.md +++ b/docs/API_docs/constructors/chatEmpty.md @@ -21,5 +21,5 @@ description: chatEmpty attributes, type and example ### Example: ``` -$chatEmpty = ['_' => chatEmpty', 'id' => int, ]; +$chatEmpty = ['_' => chatEmpty, 'id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatForbidden.md b/docs/API_docs/constructors/chatForbidden.md index a27dee06..7bfc5126 100644 --- a/docs/API_docs/constructors/chatForbidden.md +++ b/docs/API_docs/constructors/chatForbidden.md @@ -22,5 +22,5 @@ description: chatForbidden attributes, type and example ### Example: ``` -$chatForbidden = ['_' => chatForbidden', 'id' => int, 'title' => string, ]; +$chatForbidden = ['_' => chatForbidden, 'id' => int, 'title' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatFull.md b/docs/API_docs/constructors/chatFull.md index fdafc1c6..2ffe0151 100644 --- a/docs/API_docs/constructors/chatFull.md +++ b/docs/API_docs/constructors/chatFull.md @@ -26,5 +26,5 @@ description: chatFull attributes, type and example ### Example: ``` -$chatFull = ['_' => chatFull', 'id' => int, 'participants' => ChatParticipants, 'chat_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'exported_invite' => ExportedChatInvite, 'bot_info' => [Vector t], ]; +$chatFull = ['_' => chatFull, 'id' => int, 'participants' => ChatParticipants, 'chat_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'exported_invite' => ExportedChatInvite, 'bot_info' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatInvite.md b/docs/API_docs/constructors/chatInvite.md index af034c9a..b38f77c6 100644 --- a/docs/API_docs/constructors/chatInvite.md +++ b/docs/API_docs/constructors/chatInvite.md @@ -28,5 +28,5 @@ description: chatInvite attributes, type and example ### Example: ``` -$chatInvite = ['_' => chatInvite', 'channel' => true, 'broadcast' => true, 'public' => true, 'megagroup' => true, 'title' => string, 'photo' => ChatPhoto, 'participants_count' => int, 'participants' => [Vector t], ]; +$chatInvite = ['_' => chatInvite, 'channel' => true, 'broadcast' => true, 'public' => true, 'megagroup' => true, 'title' => string, 'photo' => ChatPhoto, 'participants_count' => int, 'participants' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatInviteAlready.md b/docs/API_docs/constructors/chatInviteAlready.md index 563692a4..29fed4bc 100644 --- a/docs/API_docs/constructors/chatInviteAlready.md +++ b/docs/API_docs/constructors/chatInviteAlready.md @@ -21,5 +21,5 @@ description: chatInviteAlready attributes, type and example ### Example: ``` -$chatInviteAlready = ['_' => chatInviteAlready', 'chat' => Chat, ]; +$chatInviteAlready = ['_' => chatInviteAlready, 'chat' => Chat, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatInviteEmpty.md b/docs/API_docs/constructors/chatInviteEmpty.md index 952868b0..ef187dcd 100644 --- a/docs/API_docs/constructors/chatInviteEmpty.md +++ b/docs/API_docs/constructors/chatInviteEmpty.md @@ -16,5 +16,5 @@ description: chatInviteEmpty attributes, type and example ### Example: ``` -$chatInviteEmpty = ['_' => chatInviteEmpty', ]; +$chatInviteEmpty = ['_' => chatInviteEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatInviteExported.md b/docs/API_docs/constructors/chatInviteExported.md index c538f920..cb613232 100644 --- a/docs/API_docs/constructors/chatInviteExported.md +++ b/docs/API_docs/constructors/chatInviteExported.md @@ -21,5 +21,5 @@ description: chatInviteExported attributes, type and example ### Example: ``` -$chatInviteExported = ['_' => chatInviteExported', 'link' => string, ]; +$chatInviteExported = ['_' => chatInviteExported, 'link' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatParticipant.md b/docs/API_docs/constructors/chatParticipant.md index 74dc68b7..033865f2 100644 --- a/docs/API_docs/constructors/chatParticipant.md +++ b/docs/API_docs/constructors/chatParticipant.md @@ -23,5 +23,5 @@ description: chatParticipant attributes, type and example ### Example: ``` -$chatParticipant = ['_' => chatParticipant', 'user_id' => int, 'inviter_id' => int, 'date' => int, ]; +$chatParticipant = ['_' => chatParticipant, 'user_id' => int, 'inviter_id' => int, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatParticipantAdmin.md b/docs/API_docs/constructors/chatParticipantAdmin.md index a2c6ccdf..c3124b43 100644 --- a/docs/API_docs/constructors/chatParticipantAdmin.md +++ b/docs/API_docs/constructors/chatParticipantAdmin.md @@ -23,5 +23,5 @@ description: chatParticipantAdmin attributes, type and example ### Example: ``` -$chatParticipantAdmin = ['_' => chatParticipantAdmin', 'user_id' => int, 'inviter_id' => int, 'date' => int, ]; +$chatParticipantAdmin = ['_' => chatParticipantAdmin, 'user_id' => int, 'inviter_id' => int, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatParticipantCreator.md b/docs/API_docs/constructors/chatParticipantCreator.md index 8f51d72f..da22348a 100644 --- a/docs/API_docs/constructors/chatParticipantCreator.md +++ b/docs/API_docs/constructors/chatParticipantCreator.md @@ -21,5 +21,5 @@ description: chatParticipantCreator attributes, type and example ### Example: ``` -$chatParticipantCreator = ['_' => chatParticipantCreator', 'user_id' => int, ]; +$chatParticipantCreator = ['_' => chatParticipantCreator, 'user_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatParticipants.md b/docs/API_docs/constructors/chatParticipants.md index 07b79e97..cb476b23 100644 --- a/docs/API_docs/constructors/chatParticipants.md +++ b/docs/API_docs/constructors/chatParticipants.md @@ -23,5 +23,5 @@ description: chatParticipants attributes, type and example ### Example: ``` -$chatParticipants = ['_' => chatParticipants', 'chat_id' => int, 'participants' => [Vector t], 'version' => int, ]; +$chatParticipants = ['_' => chatParticipants, 'chat_id' => int, 'participants' => [Vector t], 'version' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatParticipantsForbidden.md b/docs/API_docs/constructors/chatParticipantsForbidden.md index bd32ddc1..231c413b 100644 --- a/docs/API_docs/constructors/chatParticipantsForbidden.md +++ b/docs/API_docs/constructors/chatParticipantsForbidden.md @@ -22,5 +22,5 @@ description: chatParticipantsForbidden attributes, type and example ### Example: ``` -$chatParticipantsForbidden = ['_' => chatParticipantsForbidden', 'chat_id' => int, 'self_participant' => ChatParticipant, ]; +$chatParticipantsForbidden = ['_' => chatParticipantsForbidden, 'chat_id' => int, 'self_participant' => ChatParticipant, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatPhoto.md b/docs/API_docs/constructors/chatPhoto.md index 66447fbd..7eada977 100644 --- a/docs/API_docs/constructors/chatPhoto.md +++ b/docs/API_docs/constructors/chatPhoto.md @@ -22,5 +22,5 @@ description: chatPhoto attributes, type and example ### Example: ``` -$chatPhoto = ['_' => chatPhoto', 'photo_small' => FileLocation, 'photo_big' => FileLocation, ]; +$chatPhoto = ['_' => chatPhoto, 'photo_small' => FileLocation, 'photo_big' => FileLocation, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/chatPhotoEmpty.md b/docs/API_docs/constructors/chatPhotoEmpty.md index 1fac4589..503e5696 100644 --- a/docs/API_docs/constructors/chatPhotoEmpty.md +++ b/docs/API_docs/constructors/chatPhotoEmpty.md @@ -16,5 +16,5 @@ description: chatPhotoEmpty attributes, type and example ### Example: ``` -$chatPhotoEmpty = ['_' => chatPhotoEmpty', ]; +$chatPhotoEmpty = ['_' => chatPhotoEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/client_DH_inner_data.md b/docs/API_docs/constructors/client_DH_inner_data.md new file mode 100644 index 00000000..c4385a65 --- /dev/null +++ b/docs/API_docs/constructors/client_DH_inner_data.md @@ -0,0 +1,28 @@ +--- +title: client_DH_inner_data +description: client_DH_inner_data attributes, type and example +--- +## Constructor: client\_DH\_inner\_data +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|retry\_id|[long](../types/long.md) | Required| +|g\_b|[bytes](../types/bytes.md) | Required| + + + +### Type: [Client\_DH\_Inner\_Data](../types/Client_DH_Inner_Data.md) + + +### Example: + +``` +$client_DH_inner_data = ['_' => client_DH_inner_data, 'nonce' => int128, 'server_nonce' => int128, 'retry_id' => long, 'g_b' => bytes, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/config.md b/docs/API_docs/constructors/config.md index abd7a747..c98ef0ef 100644 --- a/docs/API_docs/constructors/config.md +++ b/docs/API_docs/constructors/config.md @@ -43,5 +43,5 @@ description: config attributes, type and example ### Example: ``` -$config = ['_' => config', 'date' => int, 'expires' => int, 'test_mode' => Bool, 'this_dc' => int, 'dc_options' => [Vector t], '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, 'chat_big_size' => int, 'push_chat_period_ms' => int, 'push_chat_limit' => int, 'saved_gifs_limit' => int, 'edit_time_limit' => int, 'rating_e_decay' => int, 'stickers_recent_limit' => int, 'tmp_sessions' => int, 'disabled_features' => [Vector t], ]; +$config = ['_' => config, 'date' => int, 'expires' => int, 'test_mode' => Bool, 'this_dc' => int, 'dc_options' => [Vector t], '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, 'chat_big_size' => int, 'push_chat_period_ms' => int, 'push_chat_limit' => int, 'saved_gifs_limit' => int, 'edit_time_limit' => int, 'rating_e_decay' => int, 'stickers_recent_limit' => int, 'tmp_sessions' => int, 'disabled_features' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contact.md b/docs/API_docs/constructors/contact.md index e7615ccb..f37a4402 100644 --- a/docs/API_docs/constructors/contact.md +++ b/docs/API_docs/constructors/contact.md @@ -22,5 +22,5 @@ description: contact attributes, type and example ### Example: ``` -$contact = ['_' => contact', 'user_id' => int, 'mutual' => Bool, ]; +$contact = ['_' => contact, 'user_id' => int, 'mutual' => Bool, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contactBlocked.md b/docs/API_docs/constructors/contactBlocked.md index b32d3142..4786066e 100644 --- a/docs/API_docs/constructors/contactBlocked.md +++ b/docs/API_docs/constructors/contactBlocked.md @@ -22,5 +22,5 @@ description: contactBlocked attributes, type and example ### Example: ``` -$contactBlocked = ['_' => contactBlocked', 'user_id' => int, 'date' => int, ]; +$contactBlocked = ['_' => contactBlocked, 'user_id' => int, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contactLinkContact.md b/docs/API_docs/constructors/contactLinkContact.md index cefcda54..efa11b41 100644 --- a/docs/API_docs/constructors/contactLinkContact.md +++ b/docs/API_docs/constructors/contactLinkContact.md @@ -16,5 +16,5 @@ description: contactLinkContact attributes, type and example ### Example: ``` -$contactLinkContact = ['_' => contactLinkContact', ]; +$contactLinkContact = ['_' => contactLinkContact, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contactLinkHasPhone.md b/docs/API_docs/constructors/contactLinkHasPhone.md index e5f9baaa..13df842f 100644 --- a/docs/API_docs/constructors/contactLinkHasPhone.md +++ b/docs/API_docs/constructors/contactLinkHasPhone.md @@ -16,5 +16,5 @@ description: contactLinkHasPhone attributes, type and example ### Example: ``` -$contactLinkHasPhone = ['_' => contactLinkHasPhone', ]; +$contactLinkHasPhone = ['_' => contactLinkHasPhone, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contactLinkNone.md b/docs/API_docs/constructors/contactLinkNone.md index 5a165d36..76eed2d7 100644 --- a/docs/API_docs/constructors/contactLinkNone.md +++ b/docs/API_docs/constructors/contactLinkNone.md @@ -16,5 +16,5 @@ description: contactLinkNone attributes, type and example ### Example: ``` -$contactLinkNone = ['_' => contactLinkNone', ]; +$contactLinkNone = ['_' => contactLinkNone, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contactLinkUnknown.md b/docs/API_docs/constructors/contactLinkUnknown.md index fe91959b..838f741d 100644 --- a/docs/API_docs/constructors/contactLinkUnknown.md +++ b/docs/API_docs/constructors/contactLinkUnknown.md @@ -16,5 +16,5 @@ description: contactLinkUnknown attributes, type and example ### Example: ``` -$contactLinkUnknown = ['_' => contactLinkUnknown', ]; +$contactLinkUnknown = ['_' => contactLinkUnknown, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contactStatus.md b/docs/API_docs/constructors/contactStatus.md index b3256f14..f2bb0f13 100644 --- a/docs/API_docs/constructors/contactStatus.md +++ b/docs/API_docs/constructors/contactStatus.md @@ -22,5 +22,5 @@ description: contactStatus attributes, type and example ### Example: ``` -$contactStatus = ['_' => contactStatus', 'user_id' => int, 'status' => UserStatus, ]; +$contactStatus = ['_' => contactStatus, 'user_id' => int, 'status' => UserStatus, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contacts_blocked.md b/docs/API_docs/constructors/contacts_blocked.md index 0f644fa5..8b6a749b 100644 --- a/docs/API_docs/constructors/contacts_blocked.md +++ b/docs/API_docs/constructors/contacts_blocked.md @@ -22,5 +22,5 @@ description: contacts_blocked attributes, type and example ### Example: ``` -$contacts_blocked = ['_' => contacts_blocked', 'blocked' => [Vector t], 'users' => [Vector t], ]; +$contacts_blocked = ['_' => contacts_blocked, 'blocked' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contacts_blockedSlice.md b/docs/API_docs/constructors/contacts_blockedSlice.md index a1e62648..082ce441 100644 --- a/docs/API_docs/constructors/contacts_blockedSlice.md +++ b/docs/API_docs/constructors/contacts_blockedSlice.md @@ -23,5 +23,5 @@ description: contacts_blockedSlice attributes, type and example ### Example: ``` -$contacts_blockedSlice = ['_' => contacts_blockedSlice', 'count' => int, 'blocked' => [Vector t], 'users' => [Vector t], ]; +$contacts_blockedSlice = ['_' => contacts_blockedSlice, 'count' => int, 'blocked' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contacts_contacts.md b/docs/API_docs/constructors/contacts_contacts.md index 6b4838d7..b4d805d8 100644 --- a/docs/API_docs/constructors/contacts_contacts.md +++ b/docs/API_docs/constructors/contacts_contacts.md @@ -22,5 +22,5 @@ description: contacts_contacts attributes, type and example ### Example: ``` -$contacts_contacts = ['_' => contacts_contacts', 'contacts' => [Vector t], 'users' => [Vector t], ]; +$contacts_contacts = ['_' => contacts_contacts, 'contacts' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contacts_contactsNotModified.md b/docs/API_docs/constructors/contacts_contactsNotModified.md index 1d400845..c186cbb6 100644 --- a/docs/API_docs/constructors/contacts_contactsNotModified.md +++ b/docs/API_docs/constructors/contacts_contactsNotModified.md @@ -16,5 +16,5 @@ description: contacts_contactsNotModified attributes, type and example ### Example: ``` -$contacts_contactsNotModified = ['_' => contacts_contactsNotModified', ]; +$contacts_contactsNotModified = ['_' => contacts_contactsNotModified, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contacts_found.md b/docs/API_docs/constructors/contacts_found.md index c3418568..6b9f3161 100644 --- a/docs/API_docs/constructors/contacts_found.md +++ b/docs/API_docs/constructors/contacts_found.md @@ -23,5 +23,5 @@ description: contacts_found attributes, type and example ### Example: ``` -$contacts_found = ['_' => contacts_found', 'results' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; +$contacts_found = ['_' => contacts_found, 'results' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contacts_importedContacts.md b/docs/API_docs/constructors/contacts_importedContacts.md index da818d1f..08def9b7 100644 --- a/docs/API_docs/constructors/contacts_importedContacts.md +++ b/docs/API_docs/constructors/contacts_importedContacts.md @@ -23,5 +23,5 @@ description: contacts_importedContacts attributes, type and example ### Example: ``` -$contacts_importedContacts = ['_' => contacts_importedContacts', 'imported' => [Vector t], 'retry_contacts' => [Vector t], 'users' => [Vector t], ]; +$contacts_importedContacts = ['_' => contacts_importedContacts, 'imported' => [Vector t], 'retry_contacts' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contacts_link.md b/docs/API_docs/constructors/contacts_link.md index a06c31e0..f074b7d5 100644 --- a/docs/API_docs/constructors/contacts_link.md +++ b/docs/API_docs/constructors/contacts_link.md @@ -23,5 +23,5 @@ description: contacts_link attributes, type and example ### Example: ``` -$contacts_link = ['_' => contacts_link', 'my_link' => ContactLink, 'foreign_link' => ContactLink, 'user' => User, ]; +$contacts_link = ['_' => contacts_link, 'my_link' => ContactLink, 'foreign_link' => ContactLink, 'user' => User, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contacts_resolvedPeer.md b/docs/API_docs/constructors/contacts_resolvedPeer.md index a1f09dd2..960fc455 100644 --- a/docs/API_docs/constructors/contacts_resolvedPeer.md +++ b/docs/API_docs/constructors/contacts_resolvedPeer.md @@ -23,5 +23,5 @@ description: contacts_resolvedPeer attributes, type and example ### Example: ``` -$contacts_resolvedPeer = ['_' => contacts_resolvedPeer', 'peer' => Peer, 'chats' => [Vector t], 'users' => [Vector t], ]; +$contacts_resolvedPeer = ['_' => contacts_resolvedPeer, 'peer' => Peer, 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contacts_topPeers.md b/docs/API_docs/constructors/contacts_topPeers.md index 3ebd1795..850d6acc 100644 --- a/docs/API_docs/constructors/contacts_topPeers.md +++ b/docs/API_docs/constructors/contacts_topPeers.md @@ -23,5 +23,5 @@ description: contacts_topPeers attributes, type and example ### Example: ``` -$contacts_topPeers = ['_' => contacts_topPeers', 'categories' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; +$contacts_topPeers = ['_' => contacts_topPeers, 'categories' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/contacts_topPeersNotModified.md b/docs/API_docs/constructors/contacts_topPeersNotModified.md index 1224e377..ccbbf012 100644 --- a/docs/API_docs/constructors/contacts_topPeersNotModified.md +++ b/docs/API_docs/constructors/contacts_topPeersNotModified.md @@ -16,5 +16,5 @@ description: contacts_topPeersNotModified attributes, type and example ### Example: ``` -$contacts_topPeersNotModified = ['_' => contacts_topPeersNotModified', ]; +$contacts_topPeersNotModified = ['_' => contacts_topPeersNotModified, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/dcOption.md b/docs/API_docs/constructors/dcOption.md index 4d88f47c..bc217fe8 100644 --- a/docs/API_docs/constructors/dcOption.md +++ b/docs/API_docs/constructors/dcOption.md @@ -26,5 +26,5 @@ description: dcOption attributes, type and example ### Example: ``` -$dcOption = ['_' => dcOption', 'ipv6' => true, 'media_only' => true, 'tcpo_only' => true, 'id' => int, 'ip_address' => string, 'port' => int, ]; +$dcOption = ['_' => dcOption, 'ipv6' => true, 'media_only' => true, 'tcpo_only' => true, 'id' => int, 'ip_address' => string, 'port' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/destroy_session_none.md b/docs/API_docs/constructors/destroy_session_none.md new file mode 100644 index 00000000..230eefed --- /dev/null +++ b/docs/API_docs/constructors/destroy_session_none.md @@ -0,0 +1,25 @@ +--- +title: destroy_session_none +description: destroy_session_none attributes, type and example +--- +## Constructor: destroy\_session\_none +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|session\_id|[long](../types/long.md) | Required| + + + +### Type: [DestroySessionRes](../types/DestroySessionRes.md) + + +### Example: + +``` +$destroy_session_none = ['_' => destroy_session_none, 'session_id' => long, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/destroy_session_ok.md b/docs/API_docs/constructors/destroy_session_ok.md new file mode 100644 index 00000000..7e3139aa --- /dev/null +++ b/docs/API_docs/constructors/destroy_session_ok.md @@ -0,0 +1,25 @@ +--- +title: destroy_session_ok +description: destroy_session_ok attributes, type and example +--- +## Constructor: destroy\_session\_ok +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|session\_id|[long](../types/long.md) | Required| + + + +### Type: [DestroySessionRes](../types/DestroySessionRes.md) + + +### Example: + +``` +$destroy_session_ok = ['_' => destroy_session_ok, 'session_id' => long, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/dh_gen_fail.md b/docs/API_docs/constructors/dh_gen_fail.md new file mode 100644 index 00000000..60ea3741 --- /dev/null +++ b/docs/API_docs/constructors/dh_gen_fail.md @@ -0,0 +1,27 @@ +--- +title: dh_gen_fail +description: dh_gen_fail attributes, type and example +--- +## Constructor: dh\_gen\_fail +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|new\_nonce\_hash3|[int128](../types/int128.md) | Required| + + + +### Type: [Set\_client\_DH\_params\_answer](../types/Set_client_DH_params_answer.md) + + +### Example: + +``` +$dh_gen_fail = ['_' => dh_gen_fail, 'nonce' => int128, 'server_nonce' => int128, 'new_nonce_hash3' => int128, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/dh_gen_ok.md b/docs/API_docs/constructors/dh_gen_ok.md new file mode 100644 index 00000000..6ccc411e --- /dev/null +++ b/docs/API_docs/constructors/dh_gen_ok.md @@ -0,0 +1,27 @@ +--- +title: dh_gen_ok +description: dh_gen_ok attributes, type and example +--- +## Constructor: dh\_gen\_ok +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|new\_nonce\_hash1|[int128](../types/int128.md) | Required| + + + +### Type: [Set\_client\_DH\_params\_answer](../types/Set_client_DH_params_answer.md) + + +### Example: + +``` +$dh_gen_ok = ['_' => dh_gen_ok, 'nonce' => int128, 'server_nonce' => int128, 'new_nonce_hash1' => int128, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/dh_gen_retry.md b/docs/API_docs/constructors/dh_gen_retry.md new file mode 100644 index 00000000..8e836c28 --- /dev/null +++ b/docs/API_docs/constructors/dh_gen_retry.md @@ -0,0 +1,27 @@ +--- +title: dh_gen_retry +description: dh_gen_retry attributes, type and example +--- +## Constructor: dh\_gen\_retry +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|new\_nonce\_hash2|[int128](../types/int128.md) | Required| + + + +### Type: [Set\_client\_DH\_params\_answer](../types/Set_client_DH_params_answer.md) + + +### Example: + +``` +$dh_gen_retry = ['_' => dh_gen_retry, 'nonce' => int128, 'server_nonce' => int128, 'new_nonce_hash2' => int128, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/dialog.md b/docs/API_docs/constructors/dialog.md index 81677709..82b820ac 100644 --- a/docs/API_docs/constructors/dialog.md +++ b/docs/API_docs/constructors/dialog.md @@ -28,5 +28,5 @@ description: dialog attributes, type and example ### Example: ``` -$dialog = ['_' => dialog', 'peer' => Peer, 'top_message' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'notify_settings' => PeerNotifySettings, 'pts' => int, 'draft' => DraftMessage, ]; +$dialog = ['_' => dialog, 'peer' => Peer, 'top_message' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'notify_settings' => PeerNotifySettings, 'pts' => int, 'draft' => DraftMessage, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/disabledFeature.md b/docs/API_docs/constructors/disabledFeature.md index 72d9e349..84131eea 100644 --- a/docs/API_docs/constructors/disabledFeature.md +++ b/docs/API_docs/constructors/disabledFeature.md @@ -22,5 +22,5 @@ description: disabledFeature attributes, type and example ### Example: ``` -$disabledFeature = ['_' => disabledFeature', 'feature' => string, 'description' => string, ]; +$disabledFeature = ['_' => disabledFeature, 'feature' => string, 'description' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/document.md b/docs/API_docs/constructors/document.md index 8e6ce35f..46636c12 100644 --- a/docs/API_docs/constructors/document.md +++ b/docs/API_docs/constructors/document.md @@ -29,5 +29,5 @@ description: document attributes, type and example ### Example: ``` -$document = ['_' => document', 'id' => long, 'access_hash' => long, 'date' => int, 'mime_type' => string, 'size' => int, 'thumb' => PhotoSize, 'dc_id' => int, 'version' => int, 'attributes' => [Vector t], ]; +$document = ['_' => document, 'id' => long, 'access_hash' => long, 'date' => int, 'mime_type' => string, 'size' => int, 'thumb' => PhotoSize, 'dc_id' => int, 'version' => int, 'attributes' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/documentAttributeAnimated.md b/docs/API_docs/constructors/documentAttributeAnimated.md index d4a1d58a..afbb97b4 100644 --- a/docs/API_docs/constructors/documentAttributeAnimated.md +++ b/docs/API_docs/constructors/documentAttributeAnimated.md @@ -16,5 +16,5 @@ description: documentAttributeAnimated attributes, type and example ### Example: ``` -$documentAttributeAnimated = ['_' => documentAttributeAnimated', ]; +$documentAttributeAnimated = ['_' => documentAttributeAnimated, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/documentAttributeAudio.md b/docs/API_docs/constructors/documentAttributeAudio.md index 7a551932..ea5af831 100644 --- a/docs/API_docs/constructors/documentAttributeAudio.md +++ b/docs/API_docs/constructors/documentAttributeAudio.md @@ -25,5 +25,5 @@ description: documentAttributeAudio attributes, type and example ### Example: ``` -$documentAttributeAudio = ['_' => documentAttributeAudio', 'voice' => true, 'duration' => int, 'title' => string, 'performer' => string, 'waveform' => bytes, ]; +$documentAttributeAudio = ['_' => documentAttributeAudio, 'voice' => true, 'duration' => int, 'title' => string, 'performer' => string, 'waveform' => bytes, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/documentAttributeFilename.md b/docs/API_docs/constructors/documentAttributeFilename.md index ad90d8fd..6e672872 100644 --- a/docs/API_docs/constructors/documentAttributeFilename.md +++ b/docs/API_docs/constructors/documentAttributeFilename.md @@ -21,5 +21,5 @@ description: documentAttributeFilename attributes, type and example ### Example: ``` -$documentAttributeFilename = ['_' => documentAttributeFilename', 'file_name' => string, ]; +$documentAttributeFilename = ['_' => documentAttributeFilename, 'file_name' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/documentAttributeHasStickers.md b/docs/API_docs/constructors/documentAttributeHasStickers.md index d1bd4041..d3ca404b 100644 --- a/docs/API_docs/constructors/documentAttributeHasStickers.md +++ b/docs/API_docs/constructors/documentAttributeHasStickers.md @@ -16,5 +16,5 @@ description: documentAttributeHasStickers attributes, type and example ### Example: ``` -$documentAttributeHasStickers = ['_' => documentAttributeHasStickers', ]; +$documentAttributeHasStickers = ['_' => documentAttributeHasStickers, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/documentAttributeImageSize.md b/docs/API_docs/constructors/documentAttributeImageSize.md index b7de8210..6b6da0f9 100644 --- a/docs/API_docs/constructors/documentAttributeImageSize.md +++ b/docs/API_docs/constructors/documentAttributeImageSize.md @@ -22,5 +22,5 @@ description: documentAttributeImageSize attributes, type and example ### Example: ``` -$documentAttributeImageSize = ['_' => documentAttributeImageSize', 'w' => int, 'h' => int, ]; +$documentAttributeImageSize = ['_' => documentAttributeImageSize, 'w' => int, 'h' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/documentAttributeSticker.md b/docs/API_docs/constructors/documentAttributeSticker.md index bd55f842..5924433b 100644 --- a/docs/API_docs/constructors/documentAttributeSticker.md +++ b/docs/API_docs/constructors/documentAttributeSticker.md @@ -24,5 +24,5 @@ description: documentAttributeSticker attributes, type and example ### Example: ``` -$documentAttributeSticker = ['_' => documentAttributeSticker', 'mask' => true, 'alt' => string, 'stickerset' => InputStickerSet, 'mask_coords' => MaskCoords, ]; +$documentAttributeSticker = ['_' => documentAttributeSticker, 'mask' => true, 'alt' => string, 'stickerset' => InputStickerSet, 'mask_coords' => MaskCoords, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/documentAttributeVideo.md b/docs/API_docs/constructors/documentAttributeVideo.md index f890b0c0..a33f68d2 100644 --- a/docs/API_docs/constructors/documentAttributeVideo.md +++ b/docs/API_docs/constructors/documentAttributeVideo.md @@ -23,5 +23,5 @@ description: documentAttributeVideo attributes, type and example ### Example: ``` -$documentAttributeVideo = ['_' => documentAttributeVideo', 'duration' => int, 'w' => int, 'h' => int, ]; +$documentAttributeVideo = ['_' => documentAttributeVideo, 'duration' => int, 'w' => int, 'h' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/documentEmpty.md b/docs/API_docs/constructors/documentEmpty.md index 6bde9621..ec6016fd 100644 --- a/docs/API_docs/constructors/documentEmpty.md +++ b/docs/API_docs/constructors/documentEmpty.md @@ -21,5 +21,5 @@ description: documentEmpty attributes, type and example ### Example: ``` -$documentEmpty = ['_' => documentEmpty', 'id' => long, ]; +$documentEmpty = ['_' => documentEmpty, 'id' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/draftMessage.md b/docs/API_docs/constructors/draftMessage.md index 1e9252fd..d7bea20b 100644 --- a/docs/API_docs/constructors/draftMessage.md +++ b/docs/API_docs/constructors/draftMessage.md @@ -25,5 +25,5 @@ description: draftMessage attributes, type and example ### Example: ``` -$draftMessage = ['_' => draftMessage', 'no_webpage' => true, 'reply_to_msg_id' => int, 'message' => string, 'entities' => [Vector t], 'date' => int, ]; +$draftMessage = ['_' => draftMessage, 'no_webpage' => true, 'reply_to_msg_id' => int, 'message' => string, 'entities' => [Vector t], 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/draftMessageEmpty.md b/docs/API_docs/constructors/draftMessageEmpty.md index 91424837..4dbb474f 100644 --- a/docs/API_docs/constructors/draftMessageEmpty.md +++ b/docs/API_docs/constructors/draftMessageEmpty.md @@ -16,5 +16,5 @@ description: draftMessageEmpty attributes, type and example ### Example: ``` -$draftMessageEmpty = ['_' => draftMessageEmpty', ]; +$draftMessageEmpty = ['_' => draftMessageEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/encryptedChat.md b/docs/API_docs/constructors/encryptedChat.md index 532865c1..27bf63ec 100644 --- a/docs/API_docs/constructors/encryptedChat.md +++ b/docs/API_docs/constructors/encryptedChat.md @@ -27,5 +27,5 @@ description: encryptedChat attributes, type and example ### Example: ``` -$encryptedChat = ['_' => encryptedChat', 'id' => int, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_a_or_b' => bytes, 'key_fingerprint' => long, ]; +$encryptedChat = ['_' => encryptedChat, 'id' => int, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_a_or_b' => bytes, 'key_fingerprint' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/encryptedChatDiscarded.md b/docs/API_docs/constructors/encryptedChatDiscarded.md index db4411c0..292e977d 100644 --- a/docs/API_docs/constructors/encryptedChatDiscarded.md +++ b/docs/API_docs/constructors/encryptedChatDiscarded.md @@ -21,5 +21,5 @@ description: encryptedChatDiscarded attributes, type and example ### Example: ``` -$encryptedChatDiscarded = ['_' => encryptedChatDiscarded', 'id' => int, ]; +$encryptedChatDiscarded = ['_' => encryptedChatDiscarded, 'id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/encryptedChatEmpty.md b/docs/API_docs/constructors/encryptedChatEmpty.md index a1ed5a38..a268cab8 100644 --- a/docs/API_docs/constructors/encryptedChatEmpty.md +++ b/docs/API_docs/constructors/encryptedChatEmpty.md @@ -21,5 +21,5 @@ description: encryptedChatEmpty attributes, type and example ### Example: ``` -$encryptedChatEmpty = ['_' => encryptedChatEmpty', 'id' => int, ]; +$encryptedChatEmpty = ['_' => encryptedChatEmpty, 'id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/encryptedChatRequested.md b/docs/API_docs/constructors/encryptedChatRequested.md index 47c52bbf..01265098 100644 --- a/docs/API_docs/constructors/encryptedChatRequested.md +++ b/docs/API_docs/constructors/encryptedChatRequested.md @@ -26,5 +26,5 @@ description: encryptedChatRequested attributes, type and example ### Example: ``` -$encryptedChatRequested = ['_' => encryptedChatRequested', 'id' => int, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_a' => bytes, ]; +$encryptedChatRequested = ['_' => encryptedChatRequested, 'id' => int, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_a' => bytes, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/encryptedChatWaiting.md b/docs/API_docs/constructors/encryptedChatWaiting.md index 71714080..6e2bbfd9 100644 --- a/docs/API_docs/constructors/encryptedChatWaiting.md +++ b/docs/API_docs/constructors/encryptedChatWaiting.md @@ -25,5 +25,5 @@ description: encryptedChatWaiting attributes, type and example ### Example: ``` -$encryptedChatWaiting = ['_' => encryptedChatWaiting', 'id' => int, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, ]; +$encryptedChatWaiting = ['_' => encryptedChatWaiting, 'id' => int, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/encryptedFile.md b/docs/API_docs/constructors/encryptedFile.md index 82393153..09c88214 100644 --- a/docs/API_docs/constructors/encryptedFile.md +++ b/docs/API_docs/constructors/encryptedFile.md @@ -25,5 +25,5 @@ description: encryptedFile attributes, type and example ### Example: ``` -$encryptedFile = ['_' => encryptedFile', 'id' => long, 'access_hash' => long, 'size' => int, 'dc_id' => int, 'key_fingerprint' => int, ]; +$encryptedFile = ['_' => encryptedFile, 'id' => long, 'access_hash' => long, 'size' => int, 'dc_id' => int, 'key_fingerprint' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/encryptedFileEmpty.md b/docs/API_docs/constructors/encryptedFileEmpty.md index 79ef95b5..7c552581 100644 --- a/docs/API_docs/constructors/encryptedFileEmpty.md +++ b/docs/API_docs/constructors/encryptedFileEmpty.md @@ -16,5 +16,5 @@ description: encryptedFileEmpty attributes, type and example ### Example: ``` -$encryptedFileEmpty = ['_' => encryptedFileEmpty', ]; +$encryptedFileEmpty = ['_' => encryptedFileEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/encryptedMessage.md b/docs/API_docs/constructors/encryptedMessage.md index 6781f75e..0b64ca64 100644 --- a/docs/API_docs/constructors/encryptedMessage.md +++ b/docs/API_docs/constructors/encryptedMessage.md @@ -24,5 +24,5 @@ description: encryptedMessage attributes, type and example ### Example: ``` -$encryptedMessage = ['_' => encryptedMessage', 'chat_id' => int, 'date' => int, 'bytes' => bytes, 'file' => EncryptedFile, ]; +$encryptedMessage = ['_' => encryptedMessage, 'chat_id' => int, 'date' => int, 'bytes' => bytes, 'file' => EncryptedFile, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/encryptedMessageService.md b/docs/API_docs/constructors/encryptedMessageService.md index 0f96d34e..8e2a4536 100644 --- a/docs/API_docs/constructors/encryptedMessageService.md +++ b/docs/API_docs/constructors/encryptedMessageService.md @@ -23,5 +23,5 @@ description: encryptedMessageService attributes, type and example ### Example: ``` -$encryptedMessageService = ['_' => encryptedMessageService', 'chat_id' => int, 'date' => int, 'bytes' => bytes, ]; +$encryptedMessageService = ['_' => encryptedMessageService, 'chat_id' => int, 'date' => int, 'bytes' => bytes, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/error.md b/docs/API_docs/constructors/error.md index 5ac210df..20485d50 100644 --- a/docs/API_docs/constructors/error.md +++ b/docs/API_docs/constructors/error.md @@ -22,5 +22,5 @@ description: error attributes, type and example ### Example: ``` -$error = ['_' => error', 'code' => int, 'text' => string, ]; +$error = ['_' => error, 'code' => int, 'text' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/exportedMessageLink.md b/docs/API_docs/constructors/exportedMessageLink.md index adcef48a..25a05d2f 100644 --- a/docs/API_docs/constructors/exportedMessageLink.md +++ b/docs/API_docs/constructors/exportedMessageLink.md @@ -21,5 +21,5 @@ description: exportedMessageLink attributes, type and example ### Example: ``` -$exportedMessageLink = ['_' => exportedMessageLink', 'link' => string, ]; +$exportedMessageLink = ['_' => exportedMessageLink, 'link' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/fileLocation.md b/docs/API_docs/constructors/fileLocation.md index fe7a321e..6583f28c 100644 --- a/docs/API_docs/constructors/fileLocation.md +++ b/docs/API_docs/constructors/fileLocation.md @@ -24,5 +24,5 @@ description: fileLocation attributes, type and example ### Example: ``` -$fileLocation = ['_' => fileLocation', 'dc_id' => int, 'volume_id' => long, 'local_id' => int, 'secret' => long, ]; +$fileLocation = ['_' => fileLocation, 'dc_id' => int, 'volume_id' => long, 'local_id' => int, 'secret' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/fileLocationUnavailable.md b/docs/API_docs/constructors/fileLocationUnavailable.md index a99cae50..120e6fc6 100644 --- a/docs/API_docs/constructors/fileLocationUnavailable.md +++ b/docs/API_docs/constructors/fileLocationUnavailable.md @@ -23,5 +23,5 @@ description: fileLocationUnavailable attributes, type and example ### Example: ``` -$fileLocationUnavailable = ['_' => fileLocationUnavailable', 'volume_id' => long, 'local_id' => int, 'secret' => long, ]; +$fileLocationUnavailable = ['_' => fileLocationUnavailable, 'volume_id' => long, 'local_id' => int, 'secret' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/foundGif.md b/docs/API_docs/constructors/foundGif.md index 5b69fca3..8417297d 100644 --- a/docs/API_docs/constructors/foundGif.md +++ b/docs/API_docs/constructors/foundGif.md @@ -26,5 +26,5 @@ description: foundGif attributes, type and example ### Example: ``` -$foundGif = ['_' => foundGif', 'url' => string, 'thumb_url' => string, 'content_url' => string, 'content_type' => string, 'w' => int, 'h' => int, ]; +$foundGif = ['_' => foundGif, 'url' => string, 'thumb_url' => string, 'content_url' => string, 'content_type' => string, 'w' => int, 'h' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/foundGifCached.md b/docs/API_docs/constructors/foundGifCached.md index fee390df..4dfe086f 100644 --- a/docs/API_docs/constructors/foundGifCached.md +++ b/docs/API_docs/constructors/foundGifCached.md @@ -23,5 +23,5 @@ description: foundGifCached attributes, type and example ### Example: ``` -$foundGifCached = ['_' => foundGifCached', 'url' => string, 'photo' => Photo, 'document' => Document, ]; +$foundGifCached = ['_' => foundGifCached, 'url' => string, 'photo' => Photo, 'document' => Document, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/future_salt.md b/docs/API_docs/constructors/future_salt.md new file mode 100644 index 00000000..39defff2 --- /dev/null +++ b/docs/API_docs/constructors/future_salt.md @@ -0,0 +1,27 @@ +--- +title: future_salt +description: future_salt attributes, type and example +--- +## Constructor: future\_salt +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|valid\_since|[int](../types/int.md) | Required| +|valid\_until|[int](../types/int.md) | Required| +|salt|[long](../types/long.md) | Required| + + + +### Type: [FutureSalt](../types/FutureSalt.md) + + +### Example: + +``` +$future_salt = ['_' => future_salt, 'valid_since' => int, 'valid_until' => int, 'salt' => long, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/future_salts.md b/docs/API_docs/constructors/future_salts.md new file mode 100644 index 00000000..0500c889 --- /dev/null +++ b/docs/API_docs/constructors/future_salts.md @@ -0,0 +1,27 @@ +--- +title: future_salts +description: future_salts attributes, type and example +--- +## Constructor: future\_salts +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|req\_msg\_id|[long](../types/long.md) | Required| +|now|[int](../types/int.md) | Required| +|salts|Array of [future\_salt](../constructors/future_salt.md) | Required| + + + +### Type: [FutureSalts](../types/FutureSalts.md) + + +### Example: + +``` +$future_salts = ['_' => future_salts, 'req_msg_id' => long, 'now' => int, 'salts' => [vector], ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/game.md b/docs/API_docs/constructors/game.md index 0292d1a9..c13b1e5d 100644 --- a/docs/API_docs/constructors/game.md +++ b/docs/API_docs/constructors/game.md @@ -27,5 +27,5 @@ description: game attributes, type and example ### Example: ``` -$game = ['_' => game', 'id' => long, 'access_hash' => long, 'short_name' => string, 'title' => string, 'description' => string, 'photo' => Photo, 'document' => Document, ]; +$game = ['_' => game, 'id' => long, 'access_hash' => long, 'short_name' => string, 'title' => string, 'description' => string, 'photo' => Photo, 'document' => Document, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/geoPoint.md b/docs/API_docs/constructors/geoPoint.md index e3484aeb..bae30889 100644 --- a/docs/API_docs/constructors/geoPoint.md +++ b/docs/API_docs/constructors/geoPoint.md @@ -22,5 +22,5 @@ description: geoPoint attributes, type and example ### Example: ``` -$geoPoint = ['_' => geoPoint', 'long' => double, 'lat' => double, ]; +$geoPoint = ['_' => geoPoint, 'long' => double, 'lat' => double, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/geoPointEmpty.md b/docs/API_docs/constructors/geoPointEmpty.md index bf7b29b9..c791293c 100644 --- a/docs/API_docs/constructors/geoPointEmpty.md +++ b/docs/API_docs/constructors/geoPointEmpty.md @@ -16,5 +16,5 @@ description: geoPointEmpty attributes, type and example ### Example: ``` -$geoPointEmpty = ['_' => geoPointEmpty', ]; +$geoPointEmpty = ['_' => geoPointEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/gzip_packed.md b/docs/API_docs/constructors/gzip_packed.md new file mode 100644 index 00000000..1cba5d8c --- /dev/null +++ b/docs/API_docs/constructors/gzip_packed.md @@ -0,0 +1,25 @@ +--- +title: gzip_packed +description: gzip_packed attributes, type and example +--- +## Constructor: gzip\_packed +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|packed\_data|[bytes](../types/bytes.md) | Required| + + + +### Type: [Object](../types/Object.md) + + +### Example: + +``` +$gzip_packed = ['_' => gzip_packed, 'packed_data' => bytes, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/help_appChangelog.md b/docs/API_docs/constructors/help_appChangelog.md index c8ace294..b90ba2d3 100644 --- a/docs/API_docs/constructors/help_appChangelog.md +++ b/docs/API_docs/constructors/help_appChangelog.md @@ -21,5 +21,5 @@ description: help_appChangelog attributes, type and example ### Example: ``` -$help_appChangelog = ['_' => help_appChangelog', 'text' => string, ]; +$help_appChangelog = ['_' => help_appChangelog, 'text' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/help_appChangelogEmpty.md b/docs/API_docs/constructors/help_appChangelogEmpty.md index febee225..3e75d10b 100644 --- a/docs/API_docs/constructors/help_appChangelogEmpty.md +++ b/docs/API_docs/constructors/help_appChangelogEmpty.md @@ -16,5 +16,5 @@ description: help_appChangelogEmpty attributes, type and example ### Example: ``` -$help_appChangelogEmpty = ['_' => help_appChangelogEmpty', ]; +$help_appChangelogEmpty = ['_' => help_appChangelogEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/help_appUpdate.md b/docs/API_docs/constructors/help_appUpdate.md index 11bcb6fe..31bc0ea5 100644 --- a/docs/API_docs/constructors/help_appUpdate.md +++ b/docs/API_docs/constructors/help_appUpdate.md @@ -24,5 +24,5 @@ description: help_appUpdate attributes, type and example ### Example: ``` -$help_appUpdate = ['_' => help_appUpdate', 'id' => int, 'critical' => Bool, 'url' => string, 'text' => string, ]; +$help_appUpdate = ['_' => help_appUpdate, 'id' => int, 'critical' => Bool, 'url' => string, 'text' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/help_inviteText.md b/docs/API_docs/constructors/help_inviteText.md index 4ed07265..7206fb46 100644 --- a/docs/API_docs/constructors/help_inviteText.md +++ b/docs/API_docs/constructors/help_inviteText.md @@ -21,5 +21,5 @@ description: help_inviteText attributes, type and example ### Example: ``` -$help_inviteText = ['_' => help_inviteText', 'message' => string, ]; +$help_inviteText = ['_' => help_inviteText, 'message' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/help_noAppUpdate.md b/docs/API_docs/constructors/help_noAppUpdate.md index 2a35897f..6cdcdd91 100644 --- a/docs/API_docs/constructors/help_noAppUpdate.md +++ b/docs/API_docs/constructors/help_noAppUpdate.md @@ -16,5 +16,5 @@ description: help_noAppUpdate attributes, type and example ### Example: ``` -$help_noAppUpdate = ['_' => help_noAppUpdate', ]; +$help_noAppUpdate = ['_' => help_noAppUpdate, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/help_support.md b/docs/API_docs/constructors/help_support.md index ae83c97a..d4670ddc 100644 --- a/docs/API_docs/constructors/help_support.md +++ b/docs/API_docs/constructors/help_support.md @@ -22,5 +22,5 @@ description: help_support attributes, type and example ### Example: ``` -$help_support = ['_' => help_support', 'phone_number' => string, 'user' => User, ]; +$help_support = ['_' => help_support, 'phone_number' => string, 'user' => User, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/help_termsOfService.md b/docs/API_docs/constructors/help_termsOfService.md index f125b8ab..01588acb 100644 --- a/docs/API_docs/constructors/help_termsOfService.md +++ b/docs/API_docs/constructors/help_termsOfService.md @@ -21,5 +21,5 @@ description: help_termsOfService attributes, type and example ### Example: ``` -$help_termsOfService = ['_' => help_termsOfService', 'text' => string, ]; +$help_termsOfService = ['_' => help_termsOfService, 'text' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/highScore.md b/docs/API_docs/constructors/highScore.md index 68076d47..3a6593fc 100644 --- a/docs/API_docs/constructors/highScore.md +++ b/docs/API_docs/constructors/highScore.md @@ -23,5 +23,5 @@ description: highScore attributes, type and example ### Example: ``` -$highScore = ['_' => highScore', 'pos' => int, 'user_id' => int, 'score' => int, ]; +$highScore = ['_' => highScore, 'pos' => int, 'user_id' => int, 'score' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/importedContact.md b/docs/API_docs/constructors/importedContact.md index 93edb814..3532b708 100644 --- a/docs/API_docs/constructors/importedContact.md +++ b/docs/API_docs/constructors/importedContact.md @@ -22,5 +22,5 @@ description: importedContact attributes, type and example ### Example: ``` -$importedContact = ['_' => importedContact', 'user_id' => int, 'client_id' => long, ]; +$importedContact = ['_' => importedContact, 'user_id' => int, 'client_id' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/index.md b/docs/API_docs/constructors/index.md index a9ffeb93..32126c3e 100644 --- a/docs/API_docs/constructors/index.md +++ b/docs/API_docs/constructors/index.md @@ -7,6 +7,9 @@ description: List of constructors +*** +

[$MTmessage](../constructors/MTmessage.md) = \['msg_id' => [long](../types/long.md), 'seqno' => [int](../types/int.md), 'bytes' => [int](../types/int.md), 'body' => [Object](../types/Object.md), \]; + ***

[$accountDaysTTL](../constructors/accountDaysTTL.md) = \['days' => [int](../types/int.md), \]; @@ -51,6 +54,14 @@ description: List of constructors ***

[$authorization](../constructors/authorization.md) = \['hash' => [long](../types/long.md), 'device_model' => [string](../types/string.md), 'platform' => [string](../types/string.md), 'system_version' => [string](../types/string.md), 'api_id' => [int](../types/int.md), 'app_name' => [string](../types/string.md), 'app_version' => [string](../types/string.md), 'date_created' => [int](../types/int.md), 'date_active' => [int](../types/int.md), 'ip' => [string](../types/string.md), 'country' => [string](../types/string.md), 'region' => [string](../types/string.md), \]; +*** +

[$bad\_msg\_notification](../constructors/bad_msg_notification.md) = \['bad_msg_id' => [long](../types/long.md), 'bad_msg_seqno' => [int](../types/int.md), 'error_code' => [int](../types/int.md), \]; + +[$bad\_server\_salt](../constructors/bad_server_salt.md) = \['bad_msg_id' => [long](../types/long.md), 'bad_msg_seqno' => [int](../types/int.md), 'error_code' => [int](../types/int.md), 'new_server_salt' => [long](../types/long.md), \]; + +*** +

[$bind\_auth\_key\_inner](../constructors/bind_auth_key_inner.md) = \['nonce' => [long](../types/long.md), 'temp_auth_key_id' => [long](../types/long.md), 'perm_auth_key_id' => [long](../types/long.md), 'temp_session_id' => [long](../types/long.md), 'expires_at' => [int](../types/int.md), \]; + ***

[$boolFalse](../constructors/boolFalse.md) = \[\]; @@ -188,6 +199,9 @@ description: List of constructors ***

[$chatPhotoEmpty](../constructors/chatPhotoEmpty.md) = \[\]; +*** +

[$client\_DH\_inner\_data](../constructors/client_DH_inner_data.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'retry_id' => [long](../types/long.md), 'g_b' => [bytes](../types/bytes.md), \]; + ***

[$config](../constructors/config.md) = \['date' => [int](../types/int.md), 'expires' => [int](../types/int.md), 'test_mode' => [Bool](../types/Bool.md), 'this_dc' => [int](../types/int.md), 'dc_options' => \[[DcOption](../types/DcOption.md)\], 'chat_size_max' => [int](../types/int.md), 'megagroup_size_max' => [int](../types/int.md), 'forwarded_count_max' => [int](../types/int.md), 'online_update_period_ms' => [int](../types/int.md), 'offline_blur_timeout_ms' => [int](../types/int.md), 'offline_idle_timeout_ms' => [int](../types/int.md), 'online_cloud_timeout_ms' => [int](../types/int.md), 'notify_cloud_delay_ms' => [int](../types/int.md), 'notify_default_delay_ms' => [int](../types/int.md), 'chat_big_size' => [int](../types/int.md), 'push_chat_period_ms' => [int](../types/int.md), 'push_chat_limit' => [int](../types/int.md), 'saved_gifs_limit' => [int](../types/int.md), 'edit_time_limit' => [int](../types/int.md), 'rating_e_decay' => [int](../types/int.md), 'stickers_recent_limit' => [int](../types/int.md), 'tmp_sessions' => [int](../types/int.md), 'disabled_features' => \[[DisabledFeature](../types/DisabledFeature.md)\], \]; @@ -236,6 +250,18 @@ description: List of constructors ***

[$dcOption](../constructors/dcOption.md) = \['ipv6' => [Bool](../types/Bool.md), 'media_only' => [Bool](../types/Bool.md), 'tcpo_only' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'ip_address' => [string](../types/string.md), 'port' => [int](../types/int.md), \]; +*** +

[$destroy\_session\_none](../constructors/destroy_session_none.md) = \['session_id' => [long](../types/long.md), \]; + +[$destroy\_session\_ok](../constructors/destroy_session_ok.md) = \['session_id' => [long](../types/long.md), \]; + +*** +

[$dh\_gen\_fail](../constructors/dh_gen_fail.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce_hash3' => [int128](../types/int128.md), \]; + +[$dh\_gen\_ok](../constructors/dh_gen_ok.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce_hash1' => [int128](../types/int128.md), \]; + +[$dh\_gen\_retry](../constructors/dh_gen_retry.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce_hash2' => [int128](../types/int128.md), \]; + ***

[$dialog](../constructors/dialog.md) = \['peer' => [Peer](../types/Peer.md), 'top_message' => [int](../types/int.md), 'read_inbox_max_id' => [int](../types/int.md), 'read_outbox_max_id' => [int](../types/int.md), 'unread_count' => [int](../types/int.md), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), 'pts' => [int](../types/int.md), 'draft' => [DraftMessage](../types/DraftMessage.md), \]; @@ -320,6 +346,11 @@ description: List of constructors ***

[$foundGifCached](../constructors/foundGifCached.md) = \['url' => [string](../types/string.md), 'photo' => [Photo](../types/Photo.md), 'document' => [Document](../types/Document.md), \]; +*** +

[$future\_salt](../constructors/future_salt.md) = \['valid_since' => [int](../types/int.md), 'valid_until' => [int](../types/int.md), 'salt' => [long](../types/long.md), \]; + +[$future\_salts](../constructors/future_salts.md) = \['req_msg_id' => [long](../types/long.md), 'now' => [int](../types/int.md), 'salts' => \[[future\_salt](../constructors/future_salt.md)\], \]; + ***

[$game](../constructors/game.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'short_name' => [string](../types/string.md), 'title' => [string](../types/string.md), 'description' => [string](../types/string.md), 'photo' => [Photo](../types/Photo.md), 'document' => [Document](../types/Document.md), \]; @@ -329,6 +360,9 @@ description: List of constructors ***

[$geoPointEmpty](../constructors/geoPointEmpty.md) = \[\]; +*** +

[$gzip\_packed](../constructors/gzip_packed.md) = \['packed_data' => [bytes](../types/bytes.md), \]; + ***

[$help\_appChangelog](../constructors/help_appChangelog.md) = \['text' => [string](../types/string.md), \]; @@ -846,9 +880,32 @@ description: List of constructors [$messages\_stickersNotModified](../constructors/messages_stickersNotModified.md) = \[\]; +*** +

[$msg\_container](../constructors/msg_container.md) = \['messages' => \[[%Message](../constructors/%Message.md)\], \]; + +[$msg\_copy](../constructors/msg_copy.md) = \['orig_message' => [MTMessage](../types/MTMessage.md), \]; + +[$msg\_detailed\_info](../constructors/msg_detailed_info.md) = \['msg_id' => [long](../types/long.md), 'answer_msg_id' => [long](../types/long.md), 'bytes' => [int](../types/int.md), 'status' => [int](../types/int.md), \]; + +[$msg\_new\_detailed\_info](../constructors/msg_new_detailed_info.md) = \['answer_msg_id' => [long](../types/long.md), 'bytes' => [int](../types/int.md), 'status' => [int](../types/int.md), \]; + +[$msg\_resend\_req](../constructors/msg_resend_req.md) = \['msg_ids' => \[[long](../types/long.md)\], \]; + +*** +

[$msgs\_ack](../constructors/msgs_ack.md) = \['msg_ids' => \[[long](../types/long.md)\], \]; + +[$msgs\_all\_info](../constructors/msgs_all_info.md) = \['msg_ids' => \[[long](../types/long.md)\], 'info' => [bytes](../types/bytes.md), \]; + +[$msgs\_state\_info](../constructors/msgs_state_info.md) = \['req_msg_id' => [long](../types/long.md), 'info' => [bytes](../types/bytes.md), \]; + +[$msgs\_state\_req](../constructors/msgs_state_req.md) = \['msg_ids' => \[[long](../types/long.md)\], \]; + ***

[$nearestDc](../constructors/nearestDc.md) = \['country' => [string](../types/string.md), 'this_dc' => [int](../types/int.md), 'nearest_dc' => [int](../types/int.md), \]; +*** +

[$new\_session\_created](../constructors/new_session_created.md) = \['first_msg_id' => [long](../types/long.md), 'unique_id' => [long](../types/long.md), 'server_salt' => [long](../types/long.md), \]; + ***

[$notifyAll](../constructors/notifyAll.md) = \[\]; @@ -864,6 +921,11 @@ description: List of constructors ***

[$null](../constructors/null.md) = \[\]; +*** +

[$p\_q\_inner\_data](../constructors/p_q_inner_data.md) = \['pq' => [bytes](../types/bytes.md), 'p' => [bytes](../types/bytes.md), 'q' => [bytes](../types/bytes.md), 'nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce' => [int256](../types/int256.md), \]; + +[$p\_q\_inner\_data\_temp](../constructors/p_q_inner_data_temp.md) = \['pq' => [bytes](../types/bytes.md), 'p' => [bytes](../types/bytes.md), 'q' => [bytes](../types/bytes.md), 'nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce' => [int256](../types/int256.md), 'expires_in' => [int](../types/int.md), \]; + ***

[$peerChannel](../constructors/peerChannel.md) = \['channel_id' => [int](../types/int.md), \]; @@ -910,6 +972,9 @@ description: List of constructors [$photos\_photosSlice](../constructors/photos_photosSlice.md) = \['count' => [int](../types/int.md), 'photos' => \[[Photo](../types/Photo.md)\], 'users' => \[[User](../types/User.md)\], \]; +*** +

[$pong](../constructors/pong.md) = \['msg_id' => [long](../types/long.md), 'ping_id' => [long](../types/long.md), \]; + ***

[$privacyKeyChatInvite](../constructors/privacyKeyChatInvite.md) = \[\]; @@ -949,6 +1014,20 @@ description: List of constructors ***

[$replyKeyboardMarkup](../constructors/replyKeyboardMarkup.md) = \['resize' => [Bool](../types/Bool.md), 'single_use' => [Bool](../types/Bool.md), 'selective' => [Bool](../types/Bool.md), 'rows' => \[[KeyboardButtonRow](../types/KeyboardButtonRow.md)\], \]; +*** +

[$resPQ](../constructors/resPQ.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'pq' => [bytes](../types/bytes.md), 'server_public_key_fingerprints' => \[[long](../types/long.md)\], \]; + +*** +

[$rpc\_answer\_dropped](../constructors/rpc_answer_dropped.md) = \['msg_id' => [long](../types/long.md), 'seq_no' => [int](../types/int.md), 'bytes' => [int](../types/int.md), \]; + +[$rpc\_answer\_dropped\_running](../constructors/rpc_answer_dropped_running.md) = \[\]; + +[$rpc\_answer\_unknown](../constructors/rpc_answer_unknown.md) = \[\]; + +[$rpc\_error](../constructors/rpc_error.md) = \['error_code' => [int](../types/int.md), 'error_message' => [string](../types/string.md), \]; + +[$rpc\_result](../constructors/rpc_result.md) = \['req_msg_id' => [long](../types/long.md), 'result' => [Object](../types/Object.md), \]; + ***

[$sendMessageCancelAction](../constructors/sendMessageCancelAction.md) = \[\]; @@ -982,6 +1061,13 @@ description: List of constructors ***

[$sendMessageUploadVideoAction](../constructors/sendMessageUploadVideoAction.md) = \['progress' => [int](../types/int.md), \]; +*** +

[$server\_DH\_inner\_data](../constructors/server_DH_inner_data.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'g' => [int](../types/int.md), 'dh_prime' => [bytes](../types/bytes.md), 'g_a' => [bytes](../types/bytes.md), 'server_time' => [int](../types/int.md), \]; + +[$server\_DH\_params\_fail](../constructors/server_DH_params_fail.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce_hash' => [int128](../types/int128.md), \]; + +[$server\_DH\_params\_ok](../constructors/server_DH_params_ok.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'encrypted_answer' => [bytes](../types/bytes.md), \]; + ***

[$stickerPack](../constructors/stickerPack.md) = \['emoticon' => [string](../types/string.md), 'documents' => \[[long](../types/long.md)\], \]; diff --git a/docs/API_docs/constructors/inlineBotSwitchPM.md b/docs/API_docs/constructors/inlineBotSwitchPM.md index 7701e3f0..c4b3bebf 100644 --- a/docs/API_docs/constructors/inlineBotSwitchPM.md +++ b/docs/API_docs/constructors/inlineBotSwitchPM.md @@ -22,5 +22,5 @@ description: inlineBotSwitchPM attributes, type and example ### Example: ``` -$inlineBotSwitchPM = ['_' => inlineBotSwitchPM', 'text' => string, 'start_param' => string, ]; +$inlineBotSwitchPM = ['_' => inlineBotSwitchPM, 'text' => string, 'start_param' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputAppEvent.md b/docs/API_docs/constructors/inputAppEvent.md index 62096985..39d12fc5 100644 --- a/docs/API_docs/constructors/inputAppEvent.md +++ b/docs/API_docs/constructors/inputAppEvent.md @@ -24,5 +24,5 @@ description: inputAppEvent attributes, type and example ### Example: ``` -$inputAppEvent = ['_' => inputAppEvent', 'time' => double, 'type' => string, 'peer' => long, 'data' => string, ]; +$inputAppEvent = ['_' => inputAppEvent, 'time' => double, 'type' => string, 'peer' => long, 'data' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineMessageGame.md b/docs/API_docs/constructors/inputBotInlineMessageGame.md index a431c7d5..df7e570e 100644 --- a/docs/API_docs/constructors/inputBotInlineMessageGame.md +++ b/docs/API_docs/constructors/inputBotInlineMessageGame.md @@ -21,5 +21,5 @@ description: inputBotInlineMessageGame attributes, type and example ### Example: ``` -$inputBotInlineMessageGame = ['_' => inputBotInlineMessageGame', 'reply_markup' => ReplyMarkup, ]; +$inputBotInlineMessageGame = ['_' => inputBotInlineMessageGame, 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineMessageID.md b/docs/API_docs/constructors/inputBotInlineMessageID.md index 66adcff9..4f812a05 100644 --- a/docs/API_docs/constructors/inputBotInlineMessageID.md +++ b/docs/API_docs/constructors/inputBotInlineMessageID.md @@ -23,5 +23,5 @@ description: inputBotInlineMessageID attributes, type and example ### Example: ``` -$inputBotInlineMessageID = ['_' => inputBotInlineMessageID', 'dc_id' => int, 'id' => long, 'access_hash' => long, ]; +$inputBotInlineMessageID = ['_' => inputBotInlineMessageID, 'dc_id' => int, 'id' => long, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineMessageMediaAuto.md b/docs/API_docs/constructors/inputBotInlineMessageMediaAuto.md index f4cdd20d..ef41e8a7 100644 --- a/docs/API_docs/constructors/inputBotInlineMessageMediaAuto.md +++ b/docs/API_docs/constructors/inputBotInlineMessageMediaAuto.md @@ -22,5 +22,5 @@ description: inputBotInlineMessageMediaAuto attributes, type and example ### Example: ``` -$inputBotInlineMessageMediaAuto = ['_' => inputBotInlineMessageMediaAuto', 'caption' => string, 'reply_markup' => ReplyMarkup, ]; +$inputBotInlineMessageMediaAuto = ['_' => inputBotInlineMessageMediaAuto, 'caption' => string, 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineMessageMediaContact.md b/docs/API_docs/constructors/inputBotInlineMessageMediaContact.md index 13359aa1..ce82cf9f 100644 --- a/docs/API_docs/constructors/inputBotInlineMessageMediaContact.md +++ b/docs/API_docs/constructors/inputBotInlineMessageMediaContact.md @@ -24,5 +24,5 @@ description: inputBotInlineMessageMediaContact attributes, type and example ### Example: ``` -$inputBotInlineMessageMediaContact = ['_' => inputBotInlineMessageMediaContact', 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'reply_markup' => ReplyMarkup, ]; +$inputBotInlineMessageMediaContact = ['_' => inputBotInlineMessageMediaContact, 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineMessageMediaGeo.md b/docs/API_docs/constructors/inputBotInlineMessageMediaGeo.md index 9d9a0855..e7bc5636 100644 --- a/docs/API_docs/constructors/inputBotInlineMessageMediaGeo.md +++ b/docs/API_docs/constructors/inputBotInlineMessageMediaGeo.md @@ -22,5 +22,5 @@ description: inputBotInlineMessageMediaGeo attributes, type and example ### Example: ``` -$inputBotInlineMessageMediaGeo = ['_' => inputBotInlineMessageMediaGeo', 'geo_point' => InputGeoPoint, 'reply_markup' => ReplyMarkup, ]; +$inputBotInlineMessageMediaGeo = ['_' => inputBotInlineMessageMediaGeo, 'geo_point' => InputGeoPoint, 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineMessageMediaVenue.md b/docs/API_docs/constructors/inputBotInlineMessageMediaVenue.md index db2dca13..afc7dd20 100644 --- a/docs/API_docs/constructors/inputBotInlineMessageMediaVenue.md +++ b/docs/API_docs/constructors/inputBotInlineMessageMediaVenue.md @@ -26,5 +26,5 @@ description: inputBotInlineMessageMediaVenue attributes, type and example ### Example: ``` -$inputBotInlineMessageMediaVenue = ['_' => inputBotInlineMessageMediaVenue', 'geo_point' => InputGeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, 'reply_markup' => ReplyMarkup, ]; +$inputBotInlineMessageMediaVenue = ['_' => inputBotInlineMessageMediaVenue, 'geo_point' => InputGeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineMessageText.md b/docs/API_docs/constructors/inputBotInlineMessageText.md index eaf734a3..f191c057 100644 --- a/docs/API_docs/constructors/inputBotInlineMessageText.md +++ b/docs/API_docs/constructors/inputBotInlineMessageText.md @@ -24,5 +24,5 @@ description: inputBotInlineMessageText attributes, type and example ### Example: ``` -$inputBotInlineMessageText = ['_' => inputBotInlineMessageText', 'no_webpage' => true, 'message' => string, 'entities' => [Vector t], 'reply_markup' => ReplyMarkup, ]; +$inputBotInlineMessageText = ['_' => inputBotInlineMessageText, 'no_webpage' => true, 'message' => string, 'entities' => [Vector t], 'reply_markup' => ReplyMarkup, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineResult.md b/docs/API_docs/constructors/inputBotInlineResult.md index 446e5cfe..03aef78e 100644 --- a/docs/API_docs/constructors/inputBotInlineResult.md +++ b/docs/API_docs/constructors/inputBotInlineResult.md @@ -32,5 +32,5 @@ description: inputBotInlineResult attributes, type and example ### Example: ``` -$inputBotInlineResult = ['_' => inputBotInlineResult', 'id' => string, 'type' => string, 'title' => string, 'description' => string, 'url' => string, 'thumb_url' => string, 'content_url' => string, 'content_type' => string, 'w' => int, 'h' => int, 'duration' => int, 'send_message' => InputBotInlineMessage, ]; +$inputBotInlineResult = ['_' => inputBotInlineResult, 'id' => string, 'type' => string, 'title' => string, 'description' => string, 'url' => string, 'thumb_url' => string, 'content_url' => string, 'content_type' => string, 'w' => int, 'h' => int, 'duration' => int, 'send_message' => InputBotInlineMessage, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineResultDocument.md b/docs/API_docs/constructors/inputBotInlineResultDocument.md index b35de09e..acf1e88c 100644 --- a/docs/API_docs/constructors/inputBotInlineResultDocument.md +++ b/docs/API_docs/constructors/inputBotInlineResultDocument.md @@ -26,5 +26,5 @@ description: inputBotInlineResultDocument attributes, type and example ### Example: ``` -$inputBotInlineResultDocument = ['_' => inputBotInlineResultDocument', 'id' => string, 'type' => string, 'title' => string, 'description' => string, 'document' => InputDocument, 'send_message' => InputBotInlineMessage, ]; +$inputBotInlineResultDocument = ['_' => inputBotInlineResultDocument, 'id' => string, 'type' => string, 'title' => string, 'description' => string, 'document' => InputDocument, 'send_message' => InputBotInlineMessage, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineResultGame.md b/docs/API_docs/constructors/inputBotInlineResultGame.md index 8e82498f..7a9173fc 100644 --- a/docs/API_docs/constructors/inputBotInlineResultGame.md +++ b/docs/API_docs/constructors/inputBotInlineResultGame.md @@ -23,5 +23,5 @@ description: inputBotInlineResultGame attributes, type and example ### Example: ``` -$inputBotInlineResultGame = ['_' => inputBotInlineResultGame', 'id' => string, 'short_name' => string, 'send_message' => InputBotInlineMessage, ]; +$inputBotInlineResultGame = ['_' => inputBotInlineResultGame, 'id' => string, 'short_name' => string, 'send_message' => InputBotInlineMessage, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputBotInlineResultPhoto.md b/docs/API_docs/constructors/inputBotInlineResultPhoto.md index a35b7692..e13b5b93 100644 --- a/docs/API_docs/constructors/inputBotInlineResultPhoto.md +++ b/docs/API_docs/constructors/inputBotInlineResultPhoto.md @@ -24,5 +24,5 @@ description: inputBotInlineResultPhoto attributes, type and example ### Example: ``` -$inputBotInlineResultPhoto = ['_' => inputBotInlineResultPhoto', 'id' => string, 'type' => string, 'photo' => InputPhoto, 'send_message' => InputBotInlineMessage, ]; +$inputBotInlineResultPhoto = ['_' => inputBotInlineResultPhoto, 'id' => string, 'type' => string, 'photo' => InputPhoto, 'send_message' => InputBotInlineMessage, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputChannel.md b/docs/API_docs/constructors/inputChannel.md index a650abd8..2c53295e 100644 --- a/docs/API_docs/constructors/inputChannel.md +++ b/docs/API_docs/constructors/inputChannel.md @@ -22,5 +22,5 @@ description: inputChannel attributes, type and example ### Example: ``` -$inputChannel = ['_' => inputChannel', 'channel_id' => int, 'access_hash' => long, ]; +$inputChannel = ['_' => inputChannel, 'channel_id' => int, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputChannelEmpty.md b/docs/API_docs/constructors/inputChannelEmpty.md index fe608ca7..02f5a2bc 100644 --- a/docs/API_docs/constructors/inputChannelEmpty.md +++ b/docs/API_docs/constructors/inputChannelEmpty.md @@ -16,5 +16,5 @@ description: inputChannelEmpty attributes, type and example ### Example: ``` -$inputChannelEmpty = ['_' => inputChannelEmpty', ]; +$inputChannelEmpty = ['_' => inputChannelEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputChatPhoto.md b/docs/API_docs/constructors/inputChatPhoto.md index c0224e36..94d1dc3d 100644 --- a/docs/API_docs/constructors/inputChatPhoto.md +++ b/docs/API_docs/constructors/inputChatPhoto.md @@ -21,5 +21,5 @@ description: inputChatPhoto attributes, type and example ### Example: ``` -$inputChatPhoto = ['_' => inputChatPhoto', 'id' => InputPhoto, ]; +$inputChatPhoto = ['_' => inputChatPhoto, 'id' => InputPhoto, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputChatPhotoEmpty.md b/docs/API_docs/constructors/inputChatPhotoEmpty.md index df9346c9..323d9c73 100644 --- a/docs/API_docs/constructors/inputChatPhotoEmpty.md +++ b/docs/API_docs/constructors/inputChatPhotoEmpty.md @@ -16,5 +16,5 @@ description: inputChatPhotoEmpty attributes, type and example ### Example: ``` -$inputChatPhotoEmpty = ['_' => inputChatPhotoEmpty', ]; +$inputChatPhotoEmpty = ['_' => inputChatPhotoEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputChatUploadedPhoto.md b/docs/API_docs/constructors/inputChatUploadedPhoto.md index d57bed80..459c4e81 100644 --- a/docs/API_docs/constructors/inputChatUploadedPhoto.md +++ b/docs/API_docs/constructors/inputChatUploadedPhoto.md @@ -21,5 +21,5 @@ description: inputChatUploadedPhoto attributes, type and example ### Example: ``` -$inputChatUploadedPhoto = ['_' => inputChatUploadedPhoto', 'file' => InputFile, ]; +$inputChatUploadedPhoto = ['_' => inputChatUploadedPhoto, 'file' => InputFile, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputDocument.md b/docs/API_docs/constructors/inputDocument.md index ed6deecb..a1722230 100644 --- a/docs/API_docs/constructors/inputDocument.md +++ b/docs/API_docs/constructors/inputDocument.md @@ -22,5 +22,5 @@ description: inputDocument attributes, type and example ### Example: ``` -$inputDocument = ['_' => inputDocument', 'id' => long, 'access_hash' => long, ]; +$inputDocument = ['_' => inputDocument, 'id' => long, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputDocumentEmpty.md b/docs/API_docs/constructors/inputDocumentEmpty.md index ff04f34a..646840f7 100644 --- a/docs/API_docs/constructors/inputDocumentEmpty.md +++ b/docs/API_docs/constructors/inputDocumentEmpty.md @@ -16,5 +16,5 @@ description: inputDocumentEmpty attributes, type and example ### Example: ``` -$inputDocumentEmpty = ['_' => inputDocumentEmpty', ]; +$inputDocumentEmpty = ['_' => inputDocumentEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputDocumentFileLocation.md b/docs/API_docs/constructors/inputDocumentFileLocation.md index f2da02cf..d674ef96 100644 --- a/docs/API_docs/constructors/inputDocumentFileLocation.md +++ b/docs/API_docs/constructors/inputDocumentFileLocation.md @@ -23,5 +23,5 @@ description: inputDocumentFileLocation attributes, type and example ### Example: ``` -$inputDocumentFileLocation = ['_' => inputDocumentFileLocation', 'id' => long, 'access_hash' => long, 'version' => int, ]; +$inputDocumentFileLocation = ['_' => inputDocumentFileLocation, 'id' => long, 'access_hash' => long, 'version' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputEncryptedChat.md b/docs/API_docs/constructors/inputEncryptedChat.md index 0e4c9431..41c57c29 100644 --- a/docs/API_docs/constructors/inputEncryptedChat.md +++ b/docs/API_docs/constructors/inputEncryptedChat.md @@ -22,5 +22,5 @@ description: inputEncryptedChat attributes, type and example ### Example: ``` -$inputEncryptedChat = ['_' => inputEncryptedChat', 'chat_id' => int, 'access_hash' => long, ]; +$inputEncryptedChat = ['_' => inputEncryptedChat, 'chat_id' => int, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputEncryptedFile.md b/docs/API_docs/constructors/inputEncryptedFile.md index 0d9fa463..85add283 100644 --- a/docs/API_docs/constructors/inputEncryptedFile.md +++ b/docs/API_docs/constructors/inputEncryptedFile.md @@ -22,5 +22,5 @@ description: inputEncryptedFile attributes, type and example ### Example: ``` -$inputEncryptedFile = ['_' => inputEncryptedFile', 'id' => long, 'access_hash' => long, ]; +$inputEncryptedFile = ['_' => inputEncryptedFile, 'id' => long, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputEncryptedFileBigUploaded.md b/docs/API_docs/constructors/inputEncryptedFileBigUploaded.md index 67bbae66..989e70b2 100644 --- a/docs/API_docs/constructors/inputEncryptedFileBigUploaded.md +++ b/docs/API_docs/constructors/inputEncryptedFileBigUploaded.md @@ -23,5 +23,5 @@ description: inputEncryptedFileBigUploaded attributes, type and example ### Example: ``` -$inputEncryptedFileBigUploaded = ['_' => inputEncryptedFileBigUploaded', 'id' => long, 'parts' => int, 'key_fingerprint' => int, ]; +$inputEncryptedFileBigUploaded = ['_' => inputEncryptedFileBigUploaded, 'id' => long, 'parts' => int, 'key_fingerprint' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputEncryptedFileEmpty.md b/docs/API_docs/constructors/inputEncryptedFileEmpty.md index ecf0f0af..608fea29 100644 --- a/docs/API_docs/constructors/inputEncryptedFileEmpty.md +++ b/docs/API_docs/constructors/inputEncryptedFileEmpty.md @@ -16,5 +16,5 @@ description: inputEncryptedFileEmpty attributes, type and example ### Example: ``` -$inputEncryptedFileEmpty = ['_' => inputEncryptedFileEmpty', ]; +$inputEncryptedFileEmpty = ['_' => inputEncryptedFileEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputEncryptedFileLocation.md b/docs/API_docs/constructors/inputEncryptedFileLocation.md index 8ed37fa9..cc567bd7 100644 --- a/docs/API_docs/constructors/inputEncryptedFileLocation.md +++ b/docs/API_docs/constructors/inputEncryptedFileLocation.md @@ -22,5 +22,5 @@ description: inputEncryptedFileLocation attributes, type and example ### Example: ``` -$inputEncryptedFileLocation = ['_' => inputEncryptedFileLocation', 'id' => long, 'access_hash' => long, ]; +$inputEncryptedFileLocation = ['_' => inputEncryptedFileLocation, 'id' => long, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputEncryptedFileUploaded.md b/docs/API_docs/constructors/inputEncryptedFileUploaded.md index 0bede6eb..5929f292 100644 --- a/docs/API_docs/constructors/inputEncryptedFileUploaded.md +++ b/docs/API_docs/constructors/inputEncryptedFileUploaded.md @@ -24,5 +24,5 @@ description: inputEncryptedFileUploaded attributes, type and example ### Example: ``` -$inputEncryptedFileUploaded = ['_' => inputEncryptedFileUploaded', 'id' => long, 'parts' => int, 'md5_checksum' => string, 'key_fingerprint' => int, ]; +$inputEncryptedFileUploaded = ['_' => inputEncryptedFileUploaded, 'id' => long, 'parts' => int, 'md5_checksum' => string, 'key_fingerprint' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputFile.md b/docs/API_docs/constructors/inputFile.md index bf536b0f..b905d960 100644 --- a/docs/API_docs/constructors/inputFile.md +++ b/docs/API_docs/constructors/inputFile.md @@ -24,5 +24,5 @@ description: inputFile attributes, type and example ### Example: ``` -$inputFile = ['_' => inputFile', 'id' => long, 'parts' => int, 'name' => string, 'md5_checksum' => string, ]; +$inputFile = ['_' => inputFile, 'id' => long, 'parts' => int, 'name' => string, 'md5_checksum' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputFileBig.md b/docs/API_docs/constructors/inputFileBig.md index 07517a91..49eebb94 100644 --- a/docs/API_docs/constructors/inputFileBig.md +++ b/docs/API_docs/constructors/inputFileBig.md @@ -23,5 +23,5 @@ description: inputFileBig attributes, type and example ### Example: ``` -$inputFileBig = ['_' => inputFileBig', 'id' => long, 'parts' => int, 'name' => string, ]; +$inputFileBig = ['_' => inputFileBig, 'id' => long, 'parts' => int, 'name' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputFileLocation.md b/docs/API_docs/constructors/inputFileLocation.md index e1b459cb..5334cc09 100644 --- a/docs/API_docs/constructors/inputFileLocation.md +++ b/docs/API_docs/constructors/inputFileLocation.md @@ -23,5 +23,5 @@ description: inputFileLocation attributes, type and example ### Example: ``` -$inputFileLocation = ['_' => inputFileLocation', 'volume_id' => long, 'local_id' => int, 'secret' => long, ]; +$inputFileLocation = ['_' => inputFileLocation, 'volume_id' => long, 'local_id' => int, 'secret' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputGameID.md b/docs/API_docs/constructors/inputGameID.md index 5d7619a4..d8d4efdf 100644 --- a/docs/API_docs/constructors/inputGameID.md +++ b/docs/API_docs/constructors/inputGameID.md @@ -22,5 +22,5 @@ description: inputGameID attributes, type and example ### Example: ``` -$inputGameID = ['_' => inputGameID', 'id' => long, 'access_hash' => long, ]; +$inputGameID = ['_' => inputGameID, 'id' => long, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputGameShortName.md b/docs/API_docs/constructors/inputGameShortName.md index 73a69d60..63e3af88 100644 --- a/docs/API_docs/constructors/inputGameShortName.md +++ b/docs/API_docs/constructors/inputGameShortName.md @@ -22,5 +22,5 @@ description: inputGameShortName attributes, type and example ### Example: ``` -$inputGameShortName = ['_' => inputGameShortName', 'bot_id' => InputUser, 'short_name' => string, ]; +$inputGameShortName = ['_' => inputGameShortName, 'bot_id' => InputUser, 'short_name' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputGeoPoint.md b/docs/API_docs/constructors/inputGeoPoint.md index a3f0180e..0b4fee50 100644 --- a/docs/API_docs/constructors/inputGeoPoint.md +++ b/docs/API_docs/constructors/inputGeoPoint.md @@ -22,5 +22,5 @@ description: inputGeoPoint attributes, type and example ### Example: ``` -$inputGeoPoint = ['_' => inputGeoPoint', 'lat' => double, 'long' => double, ]; +$inputGeoPoint = ['_' => inputGeoPoint, 'lat' => double, 'long' => double, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputGeoPointEmpty.md b/docs/API_docs/constructors/inputGeoPointEmpty.md index f63ea594..cabc4c40 100644 --- a/docs/API_docs/constructors/inputGeoPointEmpty.md +++ b/docs/API_docs/constructors/inputGeoPointEmpty.md @@ -16,5 +16,5 @@ description: inputGeoPointEmpty attributes, type and example ### Example: ``` -$inputGeoPointEmpty = ['_' => inputGeoPointEmpty', ]; +$inputGeoPointEmpty = ['_' => inputGeoPointEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaContact.md b/docs/API_docs/constructors/inputMediaContact.md index 9e5ecafc..d4532e30 100644 --- a/docs/API_docs/constructors/inputMediaContact.md +++ b/docs/API_docs/constructors/inputMediaContact.md @@ -23,5 +23,5 @@ description: inputMediaContact attributes, type and example ### Example: ``` -$inputMediaContact = ['_' => inputMediaContact', 'phone_number' => string, 'first_name' => string, 'last_name' => string, ]; +$inputMediaContact = ['_' => inputMediaContact, 'phone_number' => string, 'first_name' => string, 'last_name' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaDocument.md b/docs/API_docs/constructors/inputMediaDocument.md index a069c202..36843c1b 100644 --- a/docs/API_docs/constructors/inputMediaDocument.md +++ b/docs/API_docs/constructors/inputMediaDocument.md @@ -22,5 +22,5 @@ description: inputMediaDocument attributes, type and example ### Example: ``` -$inputMediaDocument = ['_' => inputMediaDocument', 'id' => InputDocument, 'caption' => string, ]; +$inputMediaDocument = ['_' => inputMediaDocument, 'id' => InputDocument, 'caption' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaDocumentExternal.md b/docs/API_docs/constructors/inputMediaDocumentExternal.md index d63230fc..9e761a70 100644 --- a/docs/API_docs/constructors/inputMediaDocumentExternal.md +++ b/docs/API_docs/constructors/inputMediaDocumentExternal.md @@ -22,5 +22,5 @@ description: inputMediaDocumentExternal attributes, type and example ### Example: ``` -$inputMediaDocumentExternal = ['_' => inputMediaDocumentExternal', 'url' => string, 'caption' => string, ]; +$inputMediaDocumentExternal = ['_' => inputMediaDocumentExternal, 'url' => string, 'caption' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaEmpty.md b/docs/API_docs/constructors/inputMediaEmpty.md index c1bbc382..1ba0d30a 100644 --- a/docs/API_docs/constructors/inputMediaEmpty.md +++ b/docs/API_docs/constructors/inputMediaEmpty.md @@ -16,5 +16,5 @@ description: inputMediaEmpty attributes, type and example ### Example: ``` -$inputMediaEmpty = ['_' => inputMediaEmpty', ]; +$inputMediaEmpty = ['_' => inputMediaEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaGame.md b/docs/API_docs/constructors/inputMediaGame.md index 9ae59909..0e9f9c37 100644 --- a/docs/API_docs/constructors/inputMediaGame.md +++ b/docs/API_docs/constructors/inputMediaGame.md @@ -21,5 +21,5 @@ description: inputMediaGame attributes, type and example ### Example: ``` -$inputMediaGame = ['_' => inputMediaGame', 'id' => InputGame, ]; +$inputMediaGame = ['_' => inputMediaGame, 'id' => InputGame, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaGeoPoint.md b/docs/API_docs/constructors/inputMediaGeoPoint.md index 811d258a..6c948014 100644 --- a/docs/API_docs/constructors/inputMediaGeoPoint.md +++ b/docs/API_docs/constructors/inputMediaGeoPoint.md @@ -21,5 +21,5 @@ description: inputMediaGeoPoint attributes, type and example ### Example: ``` -$inputMediaGeoPoint = ['_' => inputMediaGeoPoint', 'geo_point' => InputGeoPoint, ]; +$inputMediaGeoPoint = ['_' => inputMediaGeoPoint, 'geo_point' => InputGeoPoint, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaGifExternal.md b/docs/API_docs/constructors/inputMediaGifExternal.md index 1811d4da..9bf11ad4 100644 --- a/docs/API_docs/constructors/inputMediaGifExternal.md +++ b/docs/API_docs/constructors/inputMediaGifExternal.md @@ -22,5 +22,5 @@ description: inputMediaGifExternal attributes, type and example ### Example: ``` -$inputMediaGifExternal = ['_' => inputMediaGifExternal', 'url' => string, 'q' => string, ]; +$inputMediaGifExternal = ['_' => inputMediaGifExternal, 'url' => string, 'q' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaPhoto.md b/docs/API_docs/constructors/inputMediaPhoto.md index 750372e3..88698cc8 100644 --- a/docs/API_docs/constructors/inputMediaPhoto.md +++ b/docs/API_docs/constructors/inputMediaPhoto.md @@ -22,5 +22,5 @@ description: inputMediaPhoto attributes, type and example ### Example: ``` -$inputMediaPhoto = ['_' => inputMediaPhoto', 'id' => InputPhoto, 'caption' => string, ]; +$inputMediaPhoto = ['_' => inputMediaPhoto, 'id' => InputPhoto, 'caption' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaPhotoExternal.md b/docs/API_docs/constructors/inputMediaPhotoExternal.md index 864164ce..739aec3b 100644 --- a/docs/API_docs/constructors/inputMediaPhotoExternal.md +++ b/docs/API_docs/constructors/inputMediaPhotoExternal.md @@ -22,5 +22,5 @@ description: inputMediaPhotoExternal attributes, type and example ### Example: ``` -$inputMediaPhotoExternal = ['_' => inputMediaPhotoExternal', 'url' => string, 'caption' => string, ]; +$inputMediaPhotoExternal = ['_' => inputMediaPhotoExternal, 'url' => string, 'caption' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaUploadedDocument.md b/docs/API_docs/constructors/inputMediaUploadedDocument.md index 6575ca96..bd88ccf1 100644 --- a/docs/API_docs/constructors/inputMediaUploadedDocument.md +++ b/docs/API_docs/constructors/inputMediaUploadedDocument.md @@ -25,5 +25,5 @@ description: inputMediaUploadedDocument attributes, type and example ### Example: ``` -$inputMediaUploadedDocument = ['_' => inputMediaUploadedDocument', 'file' => InputFile, 'mime_type' => string, 'attributes' => [Vector t], 'caption' => string, 'stickers' => [Vector t], ]; +$inputMediaUploadedDocument = ['_' => inputMediaUploadedDocument, 'file' => InputFile, 'mime_type' => string, 'attributes' => [Vector t], 'caption' => string, 'stickers' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaUploadedPhoto.md b/docs/API_docs/constructors/inputMediaUploadedPhoto.md index 98e987cb..128b2ced 100644 --- a/docs/API_docs/constructors/inputMediaUploadedPhoto.md +++ b/docs/API_docs/constructors/inputMediaUploadedPhoto.md @@ -23,5 +23,5 @@ description: inputMediaUploadedPhoto attributes, type and example ### Example: ``` -$inputMediaUploadedPhoto = ['_' => inputMediaUploadedPhoto', 'file' => InputFile, 'caption' => string, 'stickers' => [Vector t], ]; +$inputMediaUploadedPhoto = ['_' => inputMediaUploadedPhoto, 'file' => InputFile, 'caption' => string, 'stickers' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaUploadedThumbDocument.md b/docs/API_docs/constructors/inputMediaUploadedThumbDocument.md index 30331f6f..6704b46a 100644 --- a/docs/API_docs/constructors/inputMediaUploadedThumbDocument.md +++ b/docs/API_docs/constructors/inputMediaUploadedThumbDocument.md @@ -26,5 +26,5 @@ description: inputMediaUploadedThumbDocument attributes, type and example ### Example: ``` -$inputMediaUploadedThumbDocument = ['_' => inputMediaUploadedThumbDocument', 'file' => InputFile, 'thumb' => InputFile, 'mime_type' => string, 'attributes' => [Vector t], 'caption' => string, 'stickers' => [Vector t], ]; +$inputMediaUploadedThumbDocument = ['_' => inputMediaUploadedThumbDocument, 'file' => InputFile, 'thumb' => InputFile, 'mime_type' => string, 'attributes' => [Vector t], 'caption' => string, 'stickers' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMediaVenue.md b/docs/API_docs/constructors/inputMediaVenue.md index c2e2f73b..3541ce0f 100644 --- a/docs/API_docs/constructors/inputMediaVenue.md +++ b/docs/API_docs/constructors/inputMediaVenue.md @@ -25,5 +25,5 @@ description: inputMediaVenue attributes, type and example ### Example: ``` -$inputMediaVenue = ['_' => inputMediaVenue', 'geo_point' => InputGeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, ]; +$inputMediaVenue = ['_' => inputMediaVenue, 'geo_point' => InputGeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessageEntityMentionName.md b/docs/API_docs/constructors/inputMessageEntityMentionName.md index 7fe14caa..f4b331d7 100644 --- a/docs/API_docs/constructors/inputMessageEntityMentionName.md +++ b/docs/API_docs/constructors/inputMessageEntityMentionName.md @@ -23,5 +23,5 @@ description: inputMessageEntityMentionName attributes, type and example ### Example: ``` -$inputMessageEntityMentionName = ['_' => inputMessageEntityMentionName', 'offset' => int, 'length' => int, 'user_id' => InputUser, ]; +$inputMessageEntityMentionName = ['_' => inputMessageEntityMentionName, 'offset' => int, 'length' => int, 'user_id' => InputUser, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterChatPhotos.md b/docs/API_docs/constructors/inputMessagesFilterChatPhotos.md index 4b821bbb..d00a1445 100644 --- a/docs/API_docs/constructors/inputMessagesFilterChatPhotos.md +++ b/docs/API_docs/constructors/inputMessagesFilterChatPhotos.md @@ -16,5 +16,5 @@ description: inputMessagesFilterChatPhotos attributes, type and example ### Example: ``` -$inputMessagesFilterChatPhotos = ['_' => inputMessagesFilterChatPhotos', ]; +$inputMessagesFilterChatPhotos = ['_' => inputMessagesFilterChatPhotos, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterDocument.md b/docs/API_docs/constructors/inputMessagesFilterDocument.md index 31b13ab3..55cfcaa2 100644 --- a/docs/API_docs/constructors/inputMessagesFilterDocument.md +++ b/docs/API_docs/constructors/inputMessagesFilterDocument.md @@ -16,5 +16,5 @@ description: inputMessagesFilterDocument attributes, type and example ### Example: ``` -$inputMessagesFilterDocument = ['_' => inputMessagesFilterDocument', ]; +$inputMessagesFilterDocument = ['_' => inputMessagesFilterDocument, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterEmpty.md b/docs/API_docs/constructors/inputMessagesFilterEmpty.md index 753d8718..252de728 100644 --- a/docs/API_docs/constructors/inputMessagesFilterEmpty.md +++ b/docs/API_docs/constructors/inputMessagesFilterEmpty.md @@ -16,5 +16,5 @@ description: inputMessagesFilterEmpty attributes, type and example ### Example: ``` -$inputMessagesFilterEmpty = ['_' => inputMessagesFilterEmpty', ]; +$inputMessagesFilterEmpty = ['_' => inputMessagesFilterEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterGif.md b/docs/API_docs/constructors/inputMessagesFilterGif.md index 25a890f5..bb4bca14 100644 --- a/docs/API_docs/constructors/inputMessagesFilterGif.md +++ b/docs/API_docs/constructors/inputMessagesFilterGif.md @@ -16,5 +16,5 @@ description: inputMessagesFilterGif attributes, type and example ### Example: ``` -$inputMessagesFilterGif = ['_' => inputMessagesFilterGif', ]; +$inputMessagesFilterGif = ['_' => inputMessagesFilterGif, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterMusic.md b/docs/API_docs/constructors/inputMessagesFilterMusic.md index 7b666daa..6a72e900 100644 --- a/docs/API_docs/constructors/inputMessagesFilterMusic.md +++ b/docs/API_docs/constructors/inputMessagesFilterMusic.md @@ -16,5 +16,5 @@ description: inputMessagesFilterMusic attributes, type and example ### Example: ``` -$inputMessagesFilterMusic = ['_' => inputMessagesFilterMusic', ]; +$inputMessagesFilterMusic = ['_' => inputMessagesFilterMusic, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterPhotoVideo.md b/docs/API_docs/constructors/inputMessagesFilterPhotoVideo.md index ded46ba4..3bab0322 100644 --- a/docs/API_docs/constructors/inputMessagesFilterPhotoVideo.md +++ b/docs/API_docs/constructors/inputMessagesFilterPhotoVideo.md @@ -16,5 +16,5 @@ description: inputMessagesFilterPhotoVideo attributes, type and example ### Example: ``` -$inputMessagesFilterPhotoVideo = ['_' => inputMessagesFilterPhotoVideo', ]; +$inputMessagesFilterPhotoVideo = ['_' => inputMessagesFilterPhotoVideo, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterPhotoVideoDocuments.md b/docs/API_docs/constructors/inputMessagesFilterPhotoVideoDocuments.md index e7cb612e..4d5e2cbc 100644 --- a/docs/API_docs/constructors/inputMessagesFilterPhotoVideoDocuments.md +++ b/docs/API_docs/constructors/inputMessagesFilterPhotoVideoDocuments.md @@ -16,5 +16,5 @@ description: inputMessagesFilterPhotoVideoDocuments attributes, type and example ### Example: ``` -$inputMessagesFilterPhotoVideoDocuments = ['_' => inputMessagesFilterPhotoVideoDocuments', ]; +$inputMessagesFilterPhotoVideoDocuments = ['_' => inputMessagesFilterPhotoVideoDocuments, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterPhotos.md b/docs/API_docs/constructors/inputMessagesFilterPhotos.md index c2ef5815..ff9f6551 100644 --- a/docs/API_docs/constructors/inputMessagesFilterPhotos.md +++ b/docs/API_docs/constructors/inputMessagesFilterPhotos.md @@ -16,5 +16,5 @@ description: inputMessagesFilterPhotos attributes, type and example ### Example: ``` -$inputMessagesFilterPhotos = ['_' => inputMessagesFilterPhotos', ]; +$inputMessagesFilterPhotos = ['_' => inputMessagesFilterPhotos, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterUrl.md b/docs/API_docs/constructors/inputMessagesFilterUrl.md index 22443af8..8a4c7ebe 100644 --- a/docs/API_docs/constructors/inputMessagesFilterUrl.md +++ b/docs/API_docs/constructors/inputMessagesFilterUrl.md @@ -16,5 +16,5 @@ description: inputMessagesFilterUrl attributes, type and example ### Example: ``` -$inputMessagesFilterUrl = ['_' => inputMessagesFilterUrl', ]; +$inputMessagesFilterUrl = ['_' => inputMessagesFilterUrl, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterVideo.md b/docs/API_docs/constructors/inputMessagesFilterVideo.md index a7de2e4b..e6076316 100644 --- a/docs/API_docs/constructors/inputMessagesFilterVideo.md +++ b/docs/API_docs/constructors/inputMessagesFilterVideo.md @@ -16,5 +16,5 @@ description: inputMessagesFilterVideo attributes, type and example ### Example: ``` -$inputMessagesFilterVideo = ['_' => inputMessagesFilterVideo', ]; +$inputMessagesFilterVideo = ['_' => inputMessagesFilterVideo, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputMessagesFilterVoice.md b/docs/API_docs/constructors/inputMessagesFilterVoice.md index 099c6ff7..06cdca46 100644 --- a/docs/API_docs/constructors/inputMessagesFilterVoice.md +++ b/docs/API_docs/constructors/inputMessagesFilterVoice.md @@ -16,5 +16,5 @@ description: inputMessagesFilterVoice attributes, type and example ### Example: ``` -$inputMessagesFilterVoice = ['_' => inputMessagesFilterVoice', ]; +$inputMessagesFilterVoice = ['_' => inputMessagesFilterVoice, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputNotifyAll.md b/docs/API_docs/constructors/inputNotifyAll.md index 1d246b8b..584644b2 100644 --- a/docs/API_docs/constructors/inputNotifyAll.md +++ b/docs/API_docs/constructors/inputNotifyAll.md @@ -16,5 +16,5 @@ description: inputNotifyAll attributes, type and example ### Example: ``` -$inputNotifyAll = ['_' => inputNotifyAll', ]; +$inputNotifyAll = ['_' => inputNotifyAll, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputNotifyChats.md b/docs/API_docs/constructors/inputNotifyChats.md index c588bc1b..71e7a92f 100644 --- a/docs/API_docs/constructors/inputNotifyChats.md +++ b/docs/API_docs/constructors/inputNotifyChats.md @@ -16,5 +16,5 @@ description: inputNotifyChats attributes, type and example ### Example: ``` -$inputNotifyChats = ['_' => inputNotifyChats', ]; +$inputNotifyChats = ['_' => inputNotifyChats, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputNotifyPeer.md b/docs/API_docs/constructors/inputNotifyPeer.md index 11779394..4140ef42 100644 --- a/docs/API_docs/constructors/inputNotifyPeer.md +++ b/docs/API_docs/constructors/inputNotifyPeer.md @@ -21,5 +21,5 @@ description: inputNotifyPeer attributes, type and example ### Example: ``` -$inputNotifyPeer = ['_' => inputNotifyPeer', 'peer' => InputPeer, ]; +$inputNotifyPeer = ['_' => inputNotifyPeer, 'peer' => InputPeer, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputNotifyUsers.md b/docs/API_docs/constructors/inputNotifyUsers.md index 0651dc17..ad3c0e96 100644 --- a/docs/API_docs/constructors/inputNotifyUsers.md +++ b/docs/API_docs/constructors/inputNotifyUsers.md @@ -16,5 +16,5 @@ description: inputNotifyUsers attributes, type and example ### Example: ``` -$inputNotifyUsers = ['_' => inputNotifyUsers', ]; +$inputNotifyUsers = ['_' => inputNotifyUsers, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPeerChannel.md b/docs/API_docs/constructors/inputPeerChannel.md index 346bd561..542417d7 100644 --- a/docs/API_docs/constructors/inputPeerChannel.md +++ b/docs/API_docs/constructors/inputPeerChannel.md @@ -22,5 +22,5 @@ description: inputPeerChannel attributes, type and example ### Example: ``` -$inputPeerChannel = ['_' => inputPeerChannel', 'channel_id' => int, 'access_hash' => long, ]; +$inputPeerChannel = ['_' => inputPeerChannel, 'channel_id' => int, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPeerChat.md b/docs/API_docs/constructors/inputPeerChat.md index de34b6d7..2fa21e69 100644 --- a/docs/API_docs/constructors/inputPeerChat.md +++ b/docs/API_docs/constructors/inputPeerChat.md @@ -21,5 +21,5 @@ description: inputPeerChat attributes, type and example ### Example: ``` -$inputPeerChat = ['_' => inputPeerChat', 'chat_id' => int, ]; +$inputPeerChat = ['_' => inputPeerChat, 'chat_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPeerEmpty.md b/docs/API_docs/constructors/inputPeerEmpty.md index 4402b018..a0048ab9 100644 --- a/docs/API_docs/constructors/inputPeerEmpty.md +++ b/docs/API_docs/constructors/inputPeerEmpty.md @@ -16,5 +16,5 @@ description: inputPeerEmpty attributes, type and example ### Example: ``` -$inputPeerEmpty = ['_' => inputPeerEmpty', ]; +$inputPeerEmpty = ['_' => inputPeerEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPeerNotifyEventsAll.md b/docs/API_docs/constructors/inputPeerNotifyEventsAll.md index 130ae797..8d977007 100644 --- a/docs/API_docs/constructors/inputPeerNotifyEventsAll.md +++ b/docs/API_docs/constructors/inputPeerNotifyEventsAll.md @@ -16,5 +16,5 @@ description: inputPeerNotifyEventsAll attributes, type and example ### Example: ``` -$inputPeerNotifyEventsAll = ['_' => inputPeerNotifyEventsAll', ]; +$inputPeerNotifyEventsAll = ['_' => inputPeerNotifyEventsAll, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPeerNotifyEventsEmpty.md b/docs/API_docs/constructors/inputPeerNotifyEventsEmpty.md index 86cfc095..3b96bbfd 100644 --- a/docs/API_docs/constructors/inputPeerNotifyEventsEmpty.md +++ b/docs/API_docs/constructors/inputPeerNotifyEventsEmpty.md @@ -16,5 +16,5 @@ description: inputPeerNotifyEventsEmpty attributes, type and example ### Example: ``` -$inputPeerNotifyEventsEmpty = ['_' => inputPeerNotifyEventsEmpty', ]; +$inputPeerNotifyEventsEmpty = ['_' => inputPeerNotifyEventsEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPeerNotifySettings.md b/docs/API_docs/constructors/inputPeerNotifySettings.md index 80250f76..2c49253a 100644 --- a/docs/API_docs/constructors/inputPeerNotifySettings.md +++ b/docs/API_docs/constructors/inputPeerNotifySettings.md @@ -24,5 +24,5 @@ description: inputPeerNotifySettings attributes, type and example ### Example: ``` -$inputPeerNotifySettings = ['_' => inputPeerNotifySettings', 'show_previews' => true, 'silent' => true, 'mute_until' => int, 'sound' => string, ]; +$inputPeerNotifySettings = ['_' => inputPeerNotifySettings, 'show_previews' => true, 'silent' => true, 'mute_until' => int, 'sound' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPeerSelf.md b/docs/API_docs/constructors/inputPeerSelf.md index 2ad48db6..62a8970c 100644 --- a/docs/API_docs/constructors/inputPeerSelf.md +++ b/docs/API_docs/constructors/inputPeerSelf.md @@ -16,5 +16,5 @@ description: inputPeerSelf attributes, type and example ### Example: ``` -$inputPeerSelf = ['_' => inputPeerSelf', ]; +$inputPeerSelf = ['_' => inputPeerSelf, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPeerUser.md b/docs/API_docs/constructors/inputPeerUser.md index 154c9f6b..73ab6c2c 100644 --- a/docs/API_docs/constructors/inputPeerUser.md +++ b/docs/API_docs/constructors/inputPeerUser.md @@ -22,5 +22,5 @@ description: inputPeerUser attributes, type and example ### Example: ``` -$inputPeerUser = ['_' => inputPeerUser', 'user_id' => int, 'access_hash' => long, ]; +$inputPeerUser = ['_' => inputPeerUser, 'user_id' => int, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPhoneContact.md b/docs/API_docs/constructors/inputPhoneContact.md index 270dc237..4628c6e4 100644 --- a/docs/API_docs/constructors/inputPhoneContact.md +++ b/docs/API_docs/constructors/inputPhoneContact.md @@ -24,5 +24,5 @@ description: inputPhoneContact attributes, type and example ### Example: ``` -$inputPhoneContact = ['_' => inputPhoneContact', 'client_id' => long, 'phone' => string, 'first_name' => string, 'last_name' => string, ]; +$inputPhoneContact = ['_' => inputPhoneContact, 'client_id' => long, 'phone' => string, 'first_name' => string, 'last_name' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPhoto.md b/docs/API_docs/constructors/inputPhoto.md index 41c7e2a3..9eff82f2 100644 --- a/docs/API_docs/constructors/inputPhoto.md +++ b/docs/API_docs/constructors/inputPhoto.md @@ -22,5 +22,5 @@ description: inputPhoto attributes, type and example ### Example: ``` -$inputPhoto = ['_' => inputPhoto', 'id' => long, 'access_hash' => long, ]; +$inputPhoto = ['_' => inputPhoto, 'id' => long, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPhotoEmpty.md b/docs/API_docs/constructors/inputPhotoEmpty.md index 2234cada..e94eaae7 100644 --- a/docs/API_docs/constructors/inputPhotoEmpty.md +++ b/docs/API_docs/constructors/inputPhotoEmpty.md @@ -16,5 +16,5 @@ description: inputPhotoEmpty attributes, type and example ### Example: ``` -$inputPhotoEmpty = ['_' => inputPhotoEmpty', ]; +$inputPhotoEmpty = ['_' => inputPhotoEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPrivacyKeyChatInvite.md b/docs/API_docs/constructors/inputPrivacyKeyChatInvite.md index 430bc687..c9b3eae6 100644 --- a/docs/API_docs/constructors/inputPrivacyKeyChatInvite.md +++ b/docs/API_docs/constructors/inputPrivacyKeyChatInvite.md @@ -16,5 +16,5 @@ description: inputPrivacyKeyChatInvite attributes, type and example ### Example: ``` -$inputPrivacyKeyChatInvite = ['_' => inputPrivacyKeyChatInvite', ]; +$inputPrivacyKeyChatInvite = ['_' => inputPrivacyKeyChatInvite, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPrivacyKeyStatusTimestamp.md b/docs/API_docs/constructors/inputPrivacyKeyStatusTimestamp.md index 8bcc4d2d..de26800d 100644 --- a/docs/API_docs/constructors/inputPrivacyKeyStatusTimestamp.md +++ b/docs/API_docs/constructors/inputPrivacyKeyStatusTimestamp.md @@ -16,5 +16,5 @@ description: inputPrivacyKeyStatusTimestamp attributes, type and example ### Example: ``` -$inputPrivacyKeyStatusTimestamp = ['_' => inputPrivacyKeyStatusTimestamp', ]; +$inputPrivacyKeyStatusTimestamp = ['_' => inputPrivacyKeyStatusTimestamp, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPrivacyValueAllowAll.md b/docs/API_docs/constructors/inputPrivacyValueAllowAll.md index 3224bbc9..b16689b9 100644 --- a/docs/API_docs/constructors/inputPrivacyValueAllowAll.md +++ b/docs/API_docs/constructors/inputPrivacyValueAllowAll.md @@ -16,5 +16,5 @@ description: inputPrivacyValueAllowAll attributes, type and example ### Example: ``` -$inputPrivacyValueAllowAll = ['_' => inputPrivacyValueAllowAll', ]; +$inputPrivacyValueAllowAll = ['_' => inputPrivacyValueAllowAll, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPrivacyValueAllowContacts.md b/docs/API_docs/constructors/inputPrivacyValueAllowContacts.md index 0da2d511..c7d3f6a5 100644 --- a/docs/API_docs/constructors/inputPrivacyValueAllowContacts.md +++ b/docs/API_docs/constructors/inputPrivacyValueAllowContacts.md @@ -16,5 +16,5 @@ description: inputPrivacyValueAllowContacts attributes, type and example ### Example: ``` -$inputPrivacyValueAllowContacts = ['_' => inputPrivacyValueAllowContacts', ]; +$inputPrivacyValueAllowContacts = ['_' => inputPrivacyValueAllowContacts, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPrivacyValueAllowUsers.md b/docs/API_docs/constructors/inputPrivacyValueAllowUsers.md index b12d2a75..f31cb2a7 100644 --- a/docs/API_docs/constructors/inputPrivacyValueAllowUsers.md +++ b/docs/API_docs/constructors/inputPrivacyValueAllowUsers.md @@ -21,5 +21,5 @@ description: inputPrivacyValueAllowUsers attributes, type and example ### Example: ``` -$inputPrivacyValueAllowUsers = ['_' => inputPrivacyValueAllowUsers', 'users' => [Vector t], ]; +$inputPrivacyValueAllowUsers = ['_' => inputPrivacyValueAllowUsers, 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPrivacyValueDisallowAll.md b/docs/API_docs/constructors/inputPrivacyValueDisallowAll.md index 6feecc5f..f0fa23bd 100644 --- a/docs/API_docs/constructors/inputPrivacyValueDisallowAll.md +++ b/docs/API_docs/constructors/inputPrivacyValueDisallowAll.md @@ -16,5 +16,5 @@ description: inputPrivacyValueDisallowAll attributes, type and example ### Example: ``` -$inputPrivacyValueDisallowAll = ['_' => inputPrivacyValueDisallowAll', ]; +$inputPrivacyValueDisallowAll = ['_' => inputPrivacyValueDisallowAll, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPrivacyValueDisallowContacts.md b/docs/API_docs/constructors/inputPrivacyValueDisallowContacts.md index 2ea4ca55..73b7bc87 100644 --- a/docs/API_docs/constructors/inputPrivacyValueDisallowContacts.md +++ b/docs/API_docs/constructors/inputPrivacyValueDisallowContacts.md @@ -16,5 +16,5 @@ description: inputPrivacyValueDisallowContacts attributes, type and example ### Example: ``` -$inputPrivacyValueDisallowContacts = ['_' => inputPrivacyValueDisallowContacts', ]; +$inputPrivacyValueDisallowContacts = ['_' => inputPrivacyValueDisallowContacts, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputPrivacyValueDisallowUsers.md b/docs/API_docs/constructors/inputPrivacyValueDisallowUsers.md index 785186e2..1523fc89 100644 --- a/docs/API_docs/constructors/inputPrivacyValueDisallowUsers.md +++ b/docs/API_docs/constructors/inputPrivacyValueDisallowUsers.md @@ -21,5 +21,5 @@ description: inputPrivacyValueDisallowUsers attributes, type and example ### Example: ``` -$inputPrivacyValueDisallowUsers = ['_' => inputPrivacyValueDisallowUsers', 'users' => [Vector t], ]; +$inputPrivacyValueDisallowUsers = ['_' => inputPrivacyValueDisallowUsers, 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputReportReasonOther.md b/docs/API_docs/constructors/inputReportReasonOther.md index 4a981515..a9774b51 100644 --- a/docs/API_docs/constructors/inputReportReasonOther.md +++ b/docs/API_docs/constructors/inputReportReasonOther.md @@ -21,5 +21,5 @@ description: inputReportReasonOther attributes, type and example ### Example: ``` -$inputReportReasonOther = ['_' => inputReportReasonOther', 'text' => string, ]; +$inputReportReasonOther = ['_' => inputReportReasonOther, 'text' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputReportReasonPornography.md b/docs/API_docs/constructors/inputReportReasonPornography.md index 060277da..097ff214 100644 --- a/docs/API_docs/constructors/inputReportReasonPornography.md +++ b/docs/API_docs/constructors/inputReportReasonPornography.md @@ -16,5 +16,5 @@ description: inputReportReasonPornography attributes, type and example ### Example: ``` -$inputReportReasonPornography = ['_' => inputReportReasonPornography', ]; +$inputReportReasonPornography = ['_' => inputReportReasonPornography, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputReportReasonSpam.md b/docs/API_docs/constructors/inputReportReasonSpam.md index 1e5e9016..77dac073 100644 --- a/docs/API_docs/constructors/inputReportReasonSpam.md +++ b/docs/API_docs/constructors/inputReportReasonSpam.md @@ -16,5 +16,5 @@ description: inputReportReasonSpam attributes, type and example ### Example: ``` -$inputReportReasonSpam = ['_' => inputReportReasonSpam', ]; +$inputReportReasonSpam = ['_' => inputReportReasonSpam, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputReportReasonViolence.md b/docs/API_docs/constructors/inputReportReasonViolence.md index cba8c6dd..8146dc38 100644 --- a/docs/API_docs/constructors/inputReportReasonViolence.md +++ b/docs/API_docs/constructors/inputReportReasonViolence.md @@ -16,5 +16,5 @@ description: inputReportReasonViolence attributes, type and example ### Example: ``` -$inputReportReasonViolence = ['_' => inputReportReasonViolence', ]; +$inputReportReasonViolence = ['_' => inputReportReasonViolence, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputStickerSetEmpty.md b/docs/API_docs/constructors/inputStickerSetEmpty.md index 0744c34d..b51fe2dc 100644 --- a/docs/API_docs/constructors/inputStickerSetEmpty.md +++ b/docs/API_docs/constructors/inputStickerSetEmpty.md @@ -16,5 +16,5 @@ description: inputStickerSetEmpty attributes, type and example ### Example: ``` -$inputStickerSetEmpty = ['_' => inputStickerSetEmpty', ]; +$inputStickerSetEmpty = ['_' => inputStickerSetEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputStickerSetID.md b/docs/API_docs/constructors/inputStickerSetID.md index e0b12b58..701cee59 100644 --- a/docs/API_docs/constructors/inputStickerSetID.md +++ b/docs/API_docs/constructors/inputStickerSetID.md @@ -22,5 +22,5 @@ description: inputStickerSetID attributes, type and example ### Example: ``` -$inputStickerSetID = ['_' => inputStickerSetID', 'id' => long, 'access_hash' => long, ]; +$inputStickerSetID = ['_' => inputStickerSetID, 'id' => long, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputStickerSetShortName.md b/docs/API_docs/constructors/inputStickerSetShortName.md index 335d62ea..0190af0d 100644 --- a/docs/API_docs/constructors/inputStickerSetShortName.md +++ b/docs/API_docs/constructors/inputStickerSetShortName.md @@ -21,5 +21,5 @@ description: inputStickerSetShortName attributes, type and example ### Example: ``` -$inputStickerSetShortName = ['_' => inputStickerSetShortName', 'short_name' => string, ]; +$inputStickerSetShortName = ['_' => inputStickerSetShortName, 'short_name' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputStickeredMediaDocument.md b/docs/API_docs/constructors/inputStickeredMediaDocument.md index ef89740e..3379512b 100644 --- a/docs/API_docs/constructors/inputStickeredMediaDocument.md +++ b/docs/API_docs/constructors/inputStickeredMediaDocument.md @@ -21,5 +21,5 @@ description: inputStickeredMediaDocument attributes, type and example ### Example: ``` -$inputStickeredMediaDocument = ['_' => inputStickeredMediaDocument', 'id' => InputDocument, ]; +$inputStickeredMediaDocument = ['_' => inputStickeredMediaDocument, 'id' => InputDocument, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputStickeredMediaPhoto.md b/docs/API_docs/constructors/inputStickeredMediaPhoto.md index bbcaed8a..a31529bb 100644 --- a/docs/API_docs/constructors/inputStickeredMediaPhoto.md +++ b/docs/API_docs/constructors/inputStickeredMediaPhoto.md @@ -21,5 +21,5 @@ description: inputStickeredMediaPhoto attributes, type and example ### Example: ``` -$inputStickeredMediaPhoto = ['_' => inputStickeredMediaPhoto', 'id' => InputPhoto, ]; +$inputStickeredMediaPhoto = ['_' => inputStickeredMediaPhoto, 'id' => InputPhoto, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputUser.md b/docs/API_docs/constructors/inputUser.md index 27cb6329..cd6a8014 100644 --- a/docs/API_docs/constructors/inputUser.md +++ b/docs/API_docs/constructors/inputUser.md @@ -22,5 +22,5 @@ description: inputUser attributes, type and example ### Example: ``` -$inputUser = ['_' => inputUser', 'user_id' => int, 'access_hash' => long, ]; +$inputUser = ['_' => inputUser, 'user_id' => int, 'access_hash' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputUserEmpty.md b/docs/API_docs/constructors/inputUserEmpty.md index 57599df4..5062f4ef 100644 --- a/docs/API_docs/constructors/inputUserEmpty.md +++ b/docs/API_docs/constructors/inputUserEmpty.md @@ -16,5 +16,5 @@ description: inputUserEmpty attributes, type and example ### Example: ``` -$inputUserEmpty = ['_' => inputUserEmpty', ]; +$inputUserEmpty = ['_' => inputUserEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/inputUserSelf.md b/docs/API_docs/constructors/inputUserSelf.md index 1a772103..cad0f973 100644 --- a/docs/API_docs/constructors/inputUserSelf.md +++ b/docs/API_docs/constructors/inputUserSelf.md @@ -16,5 +16,5 @@ description: inputUserSelf attributes, type and example ### Example: ``` -$inputUserSelf = ['_' => inputUserSelf', ]; +$inputUserSelf = ['_' => inputUserSelf, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/keyboardButton.md b/docs/API_docs/constructors/keyboardButton.md index 98cd6427..c7da8f10 100644 --- a/docs/API_docs/constructors/keyboardButton.md +++ b/docs/API_docs/constructors/keyboardButton.md @@ -21,5 +21,5 @@ description: keyboardButton attributes, type and example ### Example: ``` -$keyboardButton = ['_' => keyboardButton', 'text' => string, ]; +$keyboardButton = ['_' => keyboardButton, 'text' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/keyboardButtonCallback.md b/docs/API_docs/constructors/keyboardButtonCallback.md index 05e7183a..ca83cc85 100644 --- a/docs/API_docs/constructors/keyboardButtonCallback.md +++ b/docs/API_docs/constructors/keyboardButtonCallback.md @@ -22,5 +22,5 @@ description: keyboardButtonCallback attributes, type and example ### Example: ``` -$keyboardButtonCallback = ['_' => keyboardButtonCallback', 'text' => string, 'data' => bytes, ]; +$keyboardButtonCallback = ['_' => keyboardButtonCallback, 'text' => string, 'data' => bytes, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/keyboardButtonGame.md b/docs/API_docs/constructors/keyboardButtonGame.md index 77200c64..a9444575 100644 --- a/docs/API_docs/constructors/keyboardButtonGame.md +++ b/docs/API_docs/constructors/keyboardButtonGame.md @@ -21,5 +21,5 @@ description: keyboardButtonGame attributes, type and example ### Example: ``` -$keyboardButtonGame = ['_' => keyboardButtonGame', 'text' => string, ]; +$keyboardButtonGame = ['_' => keyboardButtonGame, 'text' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/keyboardButtonRequestGeoLocation.md b/docs/API_docs/constructors/keyboardButtonRequestGeoLocation.md index 837b1513..42322a10 100644 --- a/docs/API_docs/constructors/keyboardButtonRequestGeoLocation.md +++ b/docs/API_docs/constructors/keyboardButtonRequestGeoLocation.md @@ -21,5 +21,5 @@ description: keyboardButtonRequestGeoLocation attributes, type and example ### Example: ``` -$keyboardButtonRequestGeoLocation = ['_' => keyboardButtonRequestGeoLocation', 'text' => string, ]; +$keyboardButtonRequestGeoLocation = ['_' => keyboardButtonRequestGeoLocation, 'text' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/keyboardButtonRequestPhone.md b/docs/API_docs/constructors/keyboardButtonRequestPhone.md index 7f4d110f..c5bfbd86 100644 --- a/docs/API_docs/constructors/keyboardButtonRequestPhone.md +++ b/docs/API_docs/constructors/keyboardButtonRequestPhone.md @@ -21,5 +21,5 @@ description: keyboardButtonRequestPhone attributes, type and example ### Example: ``` -$keyboardButtonRequestPhone = ['_' => keyboardButtonRequestPhone', 'text' => string, ]; +$keyboardButtonRequestPhone = ['_' => keyboardButtonRequestPhone, 'text' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/keyboardButtonRow.md b/docs/API_docs/constructors/keyboardButtonRow.md index 52406713..6d99eb81 100644 --- a/docs/API_docs/constructors/keyboardButtonRow.md +++ b/docs/API_docs/constructors/keyboardButtonRow.md @@ -21,5 +21,5 @@ description: keyboardButtonRow attributes, type and example ### Example: ``` -$keyboardButtonRow = ['_' => keyboardButtonRow', 'buttons' => [Vector t], ]; +$keyboardButtonRow = ['_' => keyboardButtonRow, 'buttons' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/keyboardButtonSwitchInline.md b/docs/API_docs/constructors/keyboardButtonSwitchInline.md index 7fd2a6ae..9078c1c0 100644 --- a/docs/API_docs/constructors/keyboardButtonSwitchInline.md +++ b/docs/API_docs/constructors/keyboardButtonSwitchInline.md @@ -23,5 +23,5 @@ description: keyboardButtonSwitchInline attributes, type and example ### Example: ``` -$keyboardButtonSwitchInline = ['_' => keyboardButtonSwitchInline', 'same_peer' => true, 'text' => string, 'query' => string, ]; +$keyboardButtonSwitchInline = ['_' => keyboardButtonSwitchInline, 'same_peer' => true, 'text' => string, 'query' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/keyboardButtonUrl.md b/docs/API_docs/constructors/keyboardButtonUrl.md index 2fcb3a8a..15f61785 100644 --- a/docs/API_docs/constructors/keyboardButtonUrl.md +++ b/docs/API_docs/constructors/keyboardButtonUrl.md @@ -22,5 +22,5 @@ description: keyboardButtonUrl attributes, type and example ### Example: ``` -$keyboardButtonUrl = ['_' => keyboardButtonUrl', 'text' => string, 'url' => string, ]; +$keyboardButtonUrl = ['_' => keyboardButtonUrl, 'text' => string, 'url' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/maskCoords.md b/docs/API_docs/constructors/maskCoords.md index 698ac88f..c86055e0 100644 --- a/docs/API_docs/constructors/maskCoords.md +++ b/docs/API_docs/constructors/maskCoords.md @@ -24,5 +24,5 @@ description: maskCoords attributes, type and example ### Example: ``` -$maskCoords = ['_' => maskCoords', 'n' => int, 'x' => double, 'y' => double, 'zoom' => double, ]; +$maskCoords = ['_' => maskCoords, 'n' => int, 'x' => double, 'y' => double, 'zoom' => double, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/message.md b/docs/API_docs/constructors/message.md index 8042851a..1473b9ad 100644 --- a/docs/API_docs/constructors/message.md +++ b/docs/API_docs/constructors/message.md @@ -38,5 +38,5 @@ description: message attributes, type and example ### Example: ``` -$message = ['_' => message', 'out' => true, 'mentioned' => true, 'media_unread' => true, 'silent' => true, 'post' => true, 'id' => int, 'from_id' => int, 'to_id' => Peer, 'fwd_from' => MessageFwdHeader, 'via_bot_id' => int, 'reply_to_msg_id' => int, 'date' => int, 'message' => string, 'media' => MessageMedia, 'reply_markup' => ReplyMarkup, 'entities' => [Vector t], 'views' => int, 'edit_date' => int, ]; +$message = ['_' => message, 'out' => true, 'mentioned' => true, 'media_unread' => true, 'silent' => true, 'post' => true, 'id' => int, 'from_id' => int, 'to_id' => Peer, 'fwd_from' => MessageFwdHeader, 'via_bot_id' => int, 'reply_to_msg_id' => int, 'date' => int, 'message' => string, 'media' => MessageMedia, 'reply_markup' => ReplyMarkup, 'entities' => [Vector t], 'views' => int, 'edit_date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionChannelCreate.md b/docs/API_docs/constructors/messageActionChannelCreate.md index 6ffa2993..46871780 100644 --- a/docs/API_docs/constructors/messageActionChannelCreate.md +++ b/docs/API_docs/constructors/messageActionChannelCreate.md @@ -21,5 +21,5 @@ description: messageActionChannelCreate attributes, type and example ### Example: ``` -$messageActionChannelCreate = ['_' => messageActionChannelCreate', 'title' => string, ]; +$messageActionChannelCreate = ['_' => messageActionChannelCreate, 'title' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionChannelMigrateFrom.md b/docs/API_docs/constructors/messageActionChannelMigrateFrom.md index 2cdb3345..2baecf19 100644 --- a/docs/API_docs/constructors/messageActionChannelMigrateFrom.md +++ b/docs/API_docs/constructors/messageActionChannelMigrateFrom.md @@ -22,5 +22,5 @@ description: messageActionChannelMigrateFrom attributes, type and example ### Example: ``` -$messageActionChannelMigrateFrom = ['_' => messageActionChannelMigrateFrom', 'title' => string, 'chat_id' => int, ]; +$messageActionChannelMigrateFrom = ['_' => messageActionChannelMigrateFrom, 'title' => string, 'chat_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionChatAddUser.md b/docs/API_docs/constructors/messageActionChatAddUser.md index f1ec2bec..a2333970 100644 --- a/docs/API_docs/constructors/messageActionChatAddUser.md +++ b/docs/API_docs/constructors/messageActionChatAddUser.md @@ -21,5 +21,5 @@ description: messageActionChatAddUser attributes, type and example ### Example: ``` -$messageActionChatAddUser = ['_' => messageActionChatAddUser', 'users' => [Vector t], ]; +$messageActionChatAddUser = ['_' => messageActionChatAddUser, 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionChatCreate.md b/docs/API_docs/constructors/messageActionChatCreate.md index da48a5f3..8f649aa5 100644 --- a/docs/API_docs/constructors/messageActionChatCreate.md +++ b/docs/API_docs/constructors/messageActionChatCreate.md @@ -22,5 +22,5 @@ description: messageActionChatCreate attributes, type and example ### Example: ``` -$messageActionChatCreate = ['_' => messageActionChatCreate', 'title' => string, 'users' => [Vector t], ]; +$messageActionChatCreate = ['_' => messageActionChatCreate, 'title' => string, 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionChatDeletePhoto.md b/docs/API_docs/constructors/messageActionChatDeletePhoto.md index a167b037..a1732a8f 100644 --- a/docs/API_docs/constructors/messageActionChatDeletePhoto.md +++ b/docs/API_docs/constructors/messageActionChatDeletePhoto.md @@ -16,5 +16,5 @@ description: messageActionChatDeletePhoto attributes, type and example ### Example: ``` -$messageActionChatDeletePhoto = ['_' => messageActionChatDeletePhoto', ]; +$messageActionChatDeletePhoto = ['_' => messageActionChatDeletePhoto, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionChatDeleteUser.md b/docs/API_docs/constructors/messageActionChatDeleteUser.md index 928cc98e..d3627ba5 100644 --- a/docs/API_docs/constructors/messageActionChatDeleteUser.md +++ b/docs/API_docs/constructors/messageActionChatDeleteUser.md @@ -21,5 +21,5 @@ description: messageActionChatDeleteUser attributes, type and example ### Example: ``` -$messageActionChatDeleteUser = ['_' => messageActionChatDeleteUser', 'user_id' => int, ]; +$messageActionChatDeleteUser = ['_' => messageActionChatDeleteUser, 'user_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionChatEditPhoto.md b/docs/API_docs/constructors/messageActionChatEditPhoto.md index fa1bae03..599a2666 100644 --- a/docs/API_docs/constructors/messageActionChatEditPhoto.md +++ b/docs/API_docs/constructors/messageActionChatEditPhoto.md @@ -21,5 +21,5 @@ description: messageActionChatEditPhoto attributes, type and example ### Example: ``` -$messageActionChatEditPhoto = ['_' => messageActionChatEditPhoto', 'photo' => Photo, ]; +$messageActionChatEditPhoto = ['_' => messageActionChatEditPhoto, 'photo' => Photo, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionChatEditTitle.md b/docs/API_docs/constructors/messageActionChatEditTitle.md index ce6071c5..57842318 100644 --- a/docs/API_docs/constructors/messageActionChatEditTitle.md +++ b/docs/API_docs/constructors/messageActionChatEditTitle.md @@ -21,5 +21,5 @@ description: messageActionChatEditTitle attributes, type and example ### Example: ``` -$messageActionChatEditTitle = ['_' => messageActionChatEditTitle', 'title' => string, ]; +$messageActionChatEditTitle = ['_' => messageActionChatEditTitle, 'title' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionChatJoinedByLink.md b/docs/API_docs/constructors/messageActionChatJoinedByLink.md index 774722c3..22f867d5 100644 --- a/docs/API_docs/constructors/messageActionChatJoinedByLink.md +++ b/docs/API_docs/constructors/messageActionChatJoinedByLink.md @@ -21,5 +21,5 @@ description: messageActionChatJoinedByLink attributes, type and example ### Example: ``` -$messageActionChatJoinedByLink = ['_' => messageActionChatJoinedByLink', 'inviter_id' => int, ]; +$messageActionChatJoinedByLink = ['_' => messageActionChatJoinedByLink, 'inviter_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionChatMigrateTo.md b/docs/API_docs/constructors/messageActionChatMigrateTo.md index 32521a84..f1e47d60 100644 --- a/docs/API_docs/constructors/messageActionChatMigrateTo.md +++ b/docs/API_docs/constructors/messageActionChatMigrateTo.md @@ -21,5 +21,5 @@ description: messageActionChatMigrateTo attributes, type and example ### Example: ``` -$messageActionChatMigrateTo = ['_' => messageActionChatMigrateTo', 'channel_id' => int, ]; +$messageActionChatMigrateTo = ['_' => messageActionChatMigrateTo, 'channel_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionEmpty.md b/docs/API_docs/constructors/messageActionEmpty.md index 7b0199ed..36e45404 100644 --- a/docs/API_docs/constructors/messageActionEmpty.md +++ b/docs/API_docs/constructors/messageActionEmpty.md @@ -16,5 +16,5 @@ description: messageActionEmpty attributes, type and example ### Example: ``` -$messageActionEmpty = ['_' => messageActionEmpty', ]; +$messageActionEmpty = ['_' => messageActionEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionGameScore.md b/docs/API_docs/constructors/messageActionGameScore.md index 24df0e13..aa103c25 100644 --- a/docs/API_docs/constructors/messageActionGameScore.md +++ b/docs/API_docs/constructors/messageActionGameScore.md @@ -22,5 +22,5 @@ description: messageActionGameScore attributes, type and example ### Example: ``` -$messageActionGameScore = ['_' => messageActionGameScore', 'game_id' => long, 'score' => int, ]; +$messageActionGameScore = ['_' => messageActionGameScore, 'game_id' => long, 'score' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionHistoryClear.md b/docs/API_docs/constructors/messageActionHistoryClear.md index 08dc3d16..279370c8 100644 --- a/docs/API_docs/constructors/messageActionHistoryClear.md +++ b/docs/API_docs/constructors/messageActionHistoryClear.md @@ -16,5 +16,5 @@ description: messageActionHistoryClear attributes, type and example ### Example: ``` -$messageActionHistoryClear = ['_' => messageActionHistoryClear', ]; +$messageActionHistoryClear = ['_' => messageActionHistoryClear, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageActionPinMessage.md b/docs/API_docs/constructors/messageActionPinMessage.md index 77778de5..6c1de01e 100644 --- a/docs/API_docs/constructors/messageActionPinMessage.md +++ b/docs/API_docs/constructors/messageActionPinMessage.md @@ -16,5 +16,5 @@ description: messageActionPinMessage attributes, type and example ### Example: ``` -$messageActionPinMessage = ['_' => messageActionPinMessage', ]; +$messageActionPinMessage = ['_' => messageActionPinMessage, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEmpty.md b/docs/API_docs/constructors/messageEmpty.md index fc5126a7..6839d2f1 100644 --- a/docs/API_docs/constructors/messageEmpty.md +++ b/docs/API_docs/constructors/messageEmpty.md @@ -21,5 +21,5 @@ description: messageEmpty attributes, type and example ### Example: ``` -$messageEmpty = ['_' => messageEmpty', 'id' => int, ]; +$messageEmpty = ['_' => messageEmpty, 'id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityBold.md b/docs/API_docs/constructors/messageEntityBold.md index 8bca8b7b..9dedb6cb 100644 --- a/docs/API_docs/constructors/messageEntityBold.md +++ b/docs/API_docs/constructors/messageEntityBold.md @@ -22,5 +22,5 @@ description: messageEntityBold attributes, type and example ### Example: ``` -$messageEntityBold = ['_' => messageEntityBold', 'offset' => int, 'length' => int, ]; +$messageEntityBold = ['_' => messageEntityBold, 'offset' => int, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityBotCommand.md b/docs/API_docs/constructors/messageEntityBotCommand.md index b129c111..ac008703 100644 --- a/docs/API_docs/constructors/messageEntityBotCommand.md +++ b/docs/API_docs/constructors/messageEntityBotCommand.md @@ -22,5 +22,5 @@ description: messageEntityBotCommand attributes, type and example ### Example: ``` -$messageEntityBotCommand = ['_' => messageEntityBotCommand', 'offset' => int, 'length' => int, ]; +$messageEntityBotCommand = ['_' => messageEntityBotCommand, 'offset' => int, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityCode.md b/docs/API_docs/constructors/messageEntityCode.md index 1e982fcc..80627574 100644 --- a/docs/API_docs/constructors/messageEntityCode.md +++ b/docs/API_docs/constructors/messageEntityCode.md @@ -22,5 +22,5 @@ description: messageEntityCode attributes, type and example ### Example: ``` -$messageEntityCode = ['_' => messageEntityCode', 'offset' => int, 'length' => int, ]; +$messageEntityCode = ['_' => messageEntityCode, 'offset' => int, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityEmail.md b/docs/API_docs/constructors/messageEntityEmail.md index b964b4ee..25f90557 100644 --- a/docs/API_docs/constructors/messageEntityEmail.md +++ b/docs/API_docs/constructors/messageEntityEmail.md @@ -22,5 +22,5 @@ description: messageEntityEmail attributes, type and example ### Example: ``` -$messageEntityEmail = ['_' => messageEntityEmail', 'offset' => int, 'length' => int, ]; +$messageEntityEmail = ['_' => messageEntityEmail, 'offset' => int, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityHashtag.md b/docs/API_docs/constructors/messageEntityHashtag.md index f026d9b2..9e988a84 100644 --- a/docs/API_docs/constructors/messageEntityHashtag.md +++ b/docs/API_docs/constructors/messageEntityHashtag.md @@ -22,5 +22,5 @@ description: messageEntityHashtag attributes, type and example ### Example: ``` -$messageEntityHashtag = ['_' => messageEntityHashtag', 'offset' => int, 'length' => int, ]; +$messageEntityHashtag = ['_' => messageEntityHashtag, 'offset' => int, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityItalic.md b/docs/API_docs/constructors/messageEntityItalic.md index 8c45d110..cf31a302 100644 --- a/docs/API_docs/constructors/messageEntityItalic.md +++ b/docs/API_docs/constructors/messageEntityItalic.md @@ -22,5 +22,5 @@ description: messageEntityItalic attributes, type and example ### Example: ``` -$messageEntityItalic = ['_' => messageEntityItalic', 'offset' => int, 'length' => int, ]; +$messageEntityItalic = ['_' => messageEntityItalic, 'offset' => int, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityMention.md b/docs/API_docs/constructors/messageEntityMention.md index 37feb1b3..80c83962 100644 --- a/docs/API_docs/constructors/messageEntityMention.md +++ b/docs/API_docs/constructors/messageEntityMention.md @@ -22,5 +22,5 @@ description: messageEntityMention attributes, type and example ### Example: ``` -$messageEntityMention = ['_' => messageEntityMention', 'offset' => int, 'length' => int, ]; +$messageEntityMention = ['_' => messageEntityMention, 'offset' => int, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityMentionName.md b/docs/API_docs/constructors/messageEntityMentionName.md index 12d0d77f..31419168 100644 --- a/docs/API_docs/constructors/messageEntityMentionName.md +++ b/docs/API_docs/constructors/messageEntityMentionName.md @@ -23,5 +23,5 @@ description: messageEntityMentionName attributes, type and example ### Example: ``` -$messageEntityMentionName = ['_' => messageEntityMentionName', 'offset' => int, 'length' => int, 'user_id' => int, ]; +$messageEntityMentionName = ['_' => messageEntityMentionName, 'offset' => int, 'length' => int, 'user_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityPre.md b/docs/API_docs/constructors/messageEntityPre.md index 2bee5294..ccba3bbf 100644 --- a/docs/API_docs/constructors/messageEntityPre.md +++ b/docs/API_docs/constructors/messageEntityPre.md @@ -23,5 +23,5 @@ description: messageEntityPre attributes, type and example ### Example: ``` -$messageEntityPre = ['_' => messageEntityPre', 'offset' => int, 'length' => int, 'language' => string, ]; +$messageEntityPre = ['_' => messageEntityPre, 'offset' => int, 'length' => int, 'language' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityTextUrl.md b/docs/API_docs/constructors/messageEntityTextUrl.md index 1c4fa333..c5dce0f0 100644 --- a/docs/API_docs/constructors/messageEntityTextUrl.md +++ b/docs/API_docs/constructors/messageEntityTextUrl.md @@ -23,5 +23,5 @@ description: messageEntityTextUrl attributes, type and example ### Example: ``` -$messageEntityTextUrl = ['_' => messageEntityTextUrl', 'offset' => int, 'length' => int, 'url' => string, ]; +$messageEntityTextUrl = ['_' => messageEntityTextUrl, 'offset' => int, 'length' => int, 'url' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityUnknown.md b/docs/API_docs/constructors/messageEntityUnknown.md index d89df0f7..b34fdd10 100644 --- a/docs/API_docs/constructors/messageEntityUnknown.md +++ b/docs/API_docs/constructors/messageEntityUnknown.md @@ -22,5 +22,5 @@ description: messageEntityUnknown attributes, type and example ### Example: ``` -$messageEntityUnknown = ['_' => messageEntityUnknown', 'offset' => int, 'length' => int, ]; +$messageEntityUnknown = ['_' => messageEntityUnknown, 'offset' => int, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageEntityUrl.md b/docs/API_docs/constructors/messageEntityUrl.md index 5b7a4ded..5b619895 100644 --- a/docs/API_docs/constructors/messageEntityUrl.md +++ b/docs/API_docs/constructors/messageEntityUrl.md @@ -22,5 +22,5 @@ description: messageEntityUrl attributes, type and example ### Example: ``` -$messageEntityUrl = ['_' => messageEntityUrl', 'offset' => int, 'length' => int, ]; +$messageEntityUrl = ['_' => messageEntityUrl, 'offset' => int, 'length' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageFwdHeader.md b/docs/API_docs/constructors/messageFwdHeader.md index 29654d73..8a15a8bf 100644 --- a/docs/API_docs/constructors/messageFwdHeader.md +++ b/docs/API_docs/constructors/messageFwdHeader.md @@ -24,5 +24,5 @@ description: messageFwdHeader attributes, type and example ### Example: ``` -$messageFwdHeader = ['_' => messageFwdHeader', 'from_id' => int, 'date' => int, 'channel_id' => int, 'channel_post' => int, ]; +$messageFwdHeader = ['_' => messageFwdHeader, 'from_id' => int, 'date' => int, 'channel_id' => int, 'channel_post' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageMediaContact.md b/docs/API_docs/constructors/messageMediaContact.md index 4419f499..7241d360 100644 --- a/docs/API_docs/constructors/messageMediaContact.md +++ b/docs/API_docs/constructors/messageMediaContact.md @@ -24,5 +24,5 @@ description: messageMediaContact attributes, type and example ### Example: ``` -$messageMediaContact = ['_' => messageMediaContact', 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'user_id' => int, ]; +$messageMediaContact = ['_' => messageMediaContact, 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'user_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageMediaDocument.md b/docs/API_docs/constructors/messageMediaDocument.md index 6472e38a..4594af45 100644 --- a/docs/API_docs/constructors/messageMediaDocument.md +++ b/docs/API_docs/constructors/messageMediaDocument.md @@ -22,5 +22,5 @@ description: messageMediaDocument attributes, type and example ### Example: ``` -$messageMediaDocument = ['_' => messageMediaDocument', 'document' => Document, 'caption' => string, ]; +$messageMediaDocument = ['_' => messageMediaDocument, 'document' => Document, 'caption' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageMediaEmpty.md b/docs/API_docs/constructors/messageMediaEmpty.md index 1c615b4b..63334bef 100644 --- a/docs/API_docs/constructors/messageMediaEmpty.md +++ b/docs/API_docs/constructors/messageMediaEmpty.md @@ -16,5 +16,5 @@ description: messageMediaEmpty attributes, type and example ### Example: ``` -$messageMediaEmpty = ['_' => messageMediaEmpty', ]; +$messageMediaEmpty = ['_' => messageMediaEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageMediaGame.md b/docs/API_docs/constructors/messageMediaGame.md index 27d8fddd..16129242 100644 --- a/docs/API_docs/constructors/messageMediaGame.md +++ b/docs/API_docs/constructors/messageMediaGame.md @@ -21,5 +21,5 @@ description: messageMediaGame attributes, type and example ### Example: ``` -$messageMediaGame = ['_' => messageMediaGame', 'game' => Game, ]; +$messageMediaGame = ['_' => messageMediaGame, 'game' => Game, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageMediaGeo.md b/docs/API_docs/constructors/messageMediaGeo.md index 9b85866e..247b5200 100644 --- a/docs/API_docs/constructors/messageMediaGeo.md +++ b/docs/API_docs/constructors/messageMediaGeo.md @@ -21,5 +21,5 @@ description: messageMediaGeo attributes, type and example ### Example: ``` -$messageMediaGeo = ['_' => messageMediaGeo', 'geo' => GeoPoint, ]; +$messageMediaGeo = ['_' => messageMediaGeo, 'geo' => GeoPoint, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageMediaPhoto.md b/docs/API_docs/constructors/messageMediaPhoto.md index 400ab67f..88129aa6 100644 --- a/docs/API_docs/constructors/messageMediaPhoto.md +++ b/docs/API_docs/constructors/messageMediaPhoto.md @@ -22,5 +22,5 @@ description: messageMediaPhoto attributes, type and example ### Example: ``` -$messageMediaPhoto = ['_' => messageMediaPhoto', 'photo' => Photo, 'caption' => string, ]; +$messageMediaPhoto = ['_' => messageMediaPhoto, 'photo' => Photo, 'caption' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageMediaUnsupported.md b/docs/API_docs/constructors/messageMediaUnsupported.md index 76736fb3..fe1eac2e 100644 --- a/docs/API_docs/constructors/messageMediaUnsupported.md +++ b/docs/API_docs/constructors/messageMediaUnsupported.md @@ -16,5 +16,5 @@ description: messageMediaUnsupported attributes, type and example ### Example: ``` -$messageMediaUnsupported = ['_' => messageMediaUnsupported', ]; +$messageMediaUnsupported = ['_' => messageMediaUnsupported, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageMediaVenue.md b/docs/API_docs/constructors/messageMediaVenue.md index 7498806a..4a6a09c6 100644 --- a/docs/API_docs/constructors/messageMediaVenue.md +++ b/docs/API_docs/constructors/messageMediaVenue.md @@ -25,5 +25,5 @@ description: messageMediaVenue attributes, type and example ### Example: ``` -$messageMediaVenue = ['_' => messageMediaVenue', 'geo' => GeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, ]; +$messageMediaVenue = ['_' => messageMediaVenue, 'geo' => GeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageMediaWebPage.md b/docs/API_docs/constructors/messageMediaWebPage.md index 35a49427..3a305484 100644 --- a/docs/API_docs/constructors/messageMediaWebPage.md +++ b/docs/API_docs/constructors/messageMediaWebPage.md @@ -21,5 +21,5 @@ description: messageMediaWebPage attributes, type and example ### Example: ``` -$messageMediaWebPage = ['_' => messageMediaWebPage', 'webpage' => WebPage, ]; +$messageMediaWebPage = ['_' => messageMediaWebPage, 'webpage' => WebPage, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageRange.md b/docs/API_docs/constructors/messageRange.md index 600d8417..b01c3ec3 100644 --- a/docs/API_docs/constructors/messageRange.md +++ b/docs/API_docs/constructors/messageRange.md @@ -22,5 +22,5 @@ description: messageRange attributes, type and example ### Example: ``` -$messageRange = ['_' => messageRange', 'min_id' => int, 'max_id' => int, ]; +$messageRange = ['_' => messageRange, 'min_id' => int, 'max_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messageService.md b/docs/API_docs/constructors/messageService.md index 2e9413a8..5a3b979f 100644 --- a/docs/API_docs/constructors/messageService.md +++ b/docs/API_docs/constructors/messageService.md @@ -31,5 +31,5 @@ description: messageService attributes, type and example ### Example: ``` -$messageService = ['_' => messageService', 'out' => true, 'mentioned' => true, 'media_unread' => true, 'silent' => true, 'post' => true, 'id' => int, 'from_id' => int, 'to_id' => Peer, 'reply_to_msg_id' => int, 'date' => int, 'action' => MessageAction, ]; +$messageService = ['_' => messageService, 'out' => true, 'mentioned' => true, 'media_unread' => true, 'silent' => true, 'post' => true, 'id' => int, 'from_id' => int, 'to_id' => Peer, 'reply_to_msg_id' => int, 'date' => int, 'action' => MessageAction, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_affectedHistory.md b/docs/API_docs/constructors/messages_affectedHistory.md index a00ba264..320fb5e5 100644 --- a/docs/API_docs/constructors/messages_affectedHistory.md +++ b/docs/API_docs/constructors/messages_affectedHistory.md @@ -23,5 +23,5 @@ description: messages_affectedHistory attributes, type and example ### Example: ``` -$messages_affectedHistory = ['_' => messages_affectedHistory', 'pts' => int, 'pts_count' => int, 'offset' => int, ]; +$messages_affectedHistory = ['_' => messages_affectedHistory, 'pts' => int, 'pts_count' => int, 'offset' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_affectedMessages.md b/docs/API_docs/constructors/messages_affectedMessages.md index 79c67b28..8bc7a084 100644 --- a/docs/API_docs/constructors/messages_affectedMessages.md +++ b/docs/API_docs/constructors/messages_affectedMessages.md @@ -22,5 +22,5 @@ description: messages_affectedMessages attributes, type and example ### Example: ``` -$messages_affectedMessages = ['_' => messages_affectedMessages', 'pts' => int, 'pts_count' => int, ]; +$messages_affectedMessages = ['_' => messages_affectedMessages, 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_allStickers.md b/docs/API_docs/constructors/messages_allStickers.md index 795fdff9..74e00acf 100644 --- a/docs/API_docs/constructors/messages_allStickers.md +++ b/docs/API_docs/constructors/messages_allStickers.md @@ -22,5 +22,5 @@ description: messages_allStickers attributes, type and example ### Example: ``` -$messages_allStickers = ['_' => messages_allStickers', 'hash' => int, 'sets' => [Vector t], ]; +$messages_allStickers = ['_' => messages_allStickers, 'hash' => int, 'sets' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_allStickersNotModified.md b/docs/API_docs/constructors/messages_allStickersNotModified.md index 00245e82..e5931aae 100644 --- a/docs/API_docs/constructors/messages_allStickersNotModified.md +++ b/docs/API_docs/constructors/messages_allStickersNotModified.md @@ -16,5 +16,5 @@ description: messages_allStickersNotModified attributes, type and example ### Example: ``` -$messages_allStickersNotModified = ['_' => messages_allStickersNotModified', ]; +$messages_allStickersNotModified = ['_' => messages_allStickersNotModified, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_archivedStickers.md b/docs/API_docs/constructors/messages_archivedStickers.md index 7b68955d..3259494d 100644 --- a/docs/API_docs/constructors/messages_archivedStickers.md +++ b/docs/API_docs/constructors/messages_archivedStickers.md @@ -22,5 +22,5 @@ description: messages_archivedStickers attributes, type and example ### Example: ``` -$messages_archivedStickers = ['_' => messages_archivedStickers', 'count' => int, 'sets' => [Vector t], ]; +$messages_archivedStickers = ['_' => messages_archivedStickers, 'count' => int, 'sets' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_botCallbackAnswer.md b/docs/API_docs/constructors/messages_botCallbackAnswer.md index fccc9d31..fec33bbe 100644 --- a/docs/API_docs/constructors/messages_botCallbackAnswer.md +++ b/docs/API_docs/constructors/messages_botCallbackAnswer.md @@ -24,5 +24,5 @@ description: messages_botCallbackAnswer attributes, type and example ### Example: ``` -$messages_botCallbackAnswer = ['_' => messages_botCallbackAnswer', 'alert' => true, 'has_url' => true, 'message' => string, 'url' => string, ]; +$messages_botCallbackAnswer = ['_' => messages_botCallbackAnswer, 'alert' => true, 'has_url' => true, 'message' => string, 'url' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_botResults.md b/docs/API_docs/constructors/messages_botResults.md index c42d4b72..ad5cff83 100644 --- a/docs/API_docs/constructors/messages_botResults.md +++ b/docs/API_docs/constructors/messages_botResults.md @@ -25,5 +25,5 @@ description: messages_botResults attributes, type and example ### Example: ``` -$messages_botResults = ['_' => messages_botResults', 'gallery' => true, 'query_id' => long, 'next_offset' => string, 'switch_pm' => InlineBotSwitchPM, 'results' => [Vector t], ]; +$messages_botResults = ['_' => messages_botResults, 'gallery' => true, 'query_id' => long, 'next_offset' => string, 'switch_pm' => InlineBotSwitchPM, 'results' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_channelMessages.md b/docs/API_docs/constructors/messages_channelMessages.md index c5efe2dd..dee85142 100644 --- a/docs/API_docs/constructors/messages_channelMessages.md +++ b/docs/API_docs/constructors/messages_channelMessages.md @@ -25,5 +25,5 @@ description: messages_channelMessages attributes, type and example ### Example: ``` -$messages_channelMessages = ['_' => messages_channelMessages', 'pts' => int, 'count' => int, 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; +$messages_channelMessages = ['_' => messages_channelMessages, 'pts' => int, 'count' => int, 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_chatFull.md b/docs/API_docs/constructors/messages_chatFull.md index 25dc5bad..9930fca4 100644 --- a/docs/API_docs/constructors/messages_chatFull.md +++ b/docs/API_docs/constructors/messages_chatFull.md @@ -23,5 +23,5 @@ description: messages_chatFull attributes, type and example ### Example: ``` -$messages_chatFull = ['_' => messages_chatFull', 'full_chat' => ChatFull, 'chats' => [Vector t], 'users' => [Vector t], ]; +$messages_chatFull = ['_' => messages_chatFull, 'full_chat' => ChatFull, 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_chats.md b/docs/API_docs/constructors/messages_chats.md index 68bffaab..655236ff 100644 --- a/docs/API_docs/constructors/messages_chats.md +++ b/docs/API_docs/constructors/messages_chats.md @@ -21,5 +21,5 @@ description: messages_chats attributes, type and example ### Example: ``` -$messages_chats = ['_' => messages_chats', 'chats' => [Vector t], ]; +$messages_chats = ['_' => messages_chats, 'chats' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_dhConfig.md b/docs/API_docs/constructors/messages_dhConfig.md index 67b0401e..0f93b516 100644 --- a/docs/API_docs/constructors/messages_dhConfig.md +++ b/docs/API_docs/constructors/messages_dhConfig.md @@ -24,5 +24,5 @@ description: messages_dhConfig attributes, type and example ### Example: ``` -$messages_dhConfig = ['_' => messages_dhConfig', 'g' => int, 'p' => bytes, 'version' => int, 'random' => bytes, ]; +$messages_dhConfig = ['_' => messages_dhConfig, 'g' => int, 'p' => bytes, 'version' => int, 'random' => bytes, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_dhConfigNotModified.md b/docs/API_docs/constructors/messages_dhConfigNotModified.md index 0d405425..c817e12f 100644 --- a/docs/API_docs/constructors/messages_dhConfigNotModified.md +++ b/docs/API_docs/constructors/messages_dhConfigNotModified.md @@ -21,5 +21,5 @@ description: messages_dhConfigNotModified attributes, type and example ### Example: ``` -$messages_dhConfigNotModified = ['_' => messages_dhConfigNotModified', 'random' => bytes, ]; +$messages_dhConfigNotModified = ['_' => messages_dhConfigNotModified, 'random' => bytes, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_dialogs.md b/docs/API_docs/constructors/messages_dialogs.md index 4ebaa1c2..9b6087fc 100644 --- a/docs/API_docs/constructors/messages_dialogs.md +++ b/docs/API_docs/constructors/messages_dialogs.md @@ -24,5 +24,5 @@ description: messages_dialogs attributes, type and example ### Example: ``` -$messages_dialogs = ['_' => messages_dialogs', 'dialogs' => [Vector t], 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; +$messages_dialogs = ['_' => messages_dialogs, 'dialogs' => [Vector t], 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_dialogsSlice.md b/docs/API_docs/constructors/messages_dialogsSlice.md index d38720a3..1238137e 100644 --- a/docs/API_docs/constructors/messages_dialogsSlice.md +++ b/docs/API_docs/constructors/messages_dialogsSlice.md @@ -25,5 +25,5 @@ description: messages_dialogsSlice attributes, type and example ### Example: ``` -$messages_dialogsSlice = ['_' => messages_dialogsSlice', 'count' => int, 'dialogs' => [Vector t], 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; +$messages_dialogsSlice = ['_' => messages_dialogsSlice, 'count' => int, 'dialogs' => [Vector t], 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_featuredStickers.md b/docs/API_docs/constructors/messages_featuredStickers.md index 6c67f054..7b6949fc 100644 --- a/docs/API_docs/constructors/messages_featuredStickers.md +++ b/docs/API_docs/constructors/messages_featuredStickers.md @@ -23,5 +23,5 @@ description: messages_featuredStickers attributes, type and example ### Example: ``` -$messages_featuredStickers = ['_' => messages_featuredStickers', 'hash' => int, 'sets' => [Vector t], 'unread' => [Vector t], ]; +$messages_featuredStickers = ['_' => messages_featuredStickers, 'hash' => int, 'sets' => [Vector t], 'unread' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_featuredStickersNotModified.md b/docs/API_docs/constructors/messages_featuredStickersNotModified.md index ca993939..098031b2 100644 --- a/docs/API_docs/constructors/messages_featuredStickersNotModified.md +++ b/docs/API_docs/constructors/messages_featuredStickersNotModified.md @@ -16,5 +16,5 @@ description: messages_featuredStickersNotModified attributes, type and example ### Example: ``` -$messages_featuredStickersNotModified = ['_' => messages_featuredStickersNotModified', ]; +$messages_featuredStickersNotModified = ['_' => messages_featuredStickersNotModified, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_foundGifs.md b/docs/API_docs/constructors/messages_foundGifs.md index ab9169f4..5b4cdc5e 100644 --- a/docs/API_docs/constructors/messages_foundGifs.md +++ b/docs/API_docs/constructors/messages_foundGifs.md @@ -22,5 +22,5 @@ description: messages_foundGifs attributes, type and example ### Example: ``` -$messages_foundGifs = ['_' => messages_foundGifs', 'next_offset' => int, 'results' => [Vector t], ]; +$messages_foundGifs = ['_' => messages_foundGifs, 'next_offset' => int, 'results' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_highScores.md b/docs/API_docs/constructors/messages_highScores.md index 99252352..a806dab7 100644 --- a/docs/API_docs/constructors/messages_highScores.md +++ b/docs/API_docs/constructors/messages_highScores.md @@ -22,5 +22,5 @@ description: messages_highScores attributes, type and example ### Example: ``` -$messages_highScores = ['_' => messages_highScores', 'scores' => [Vector t], 'users' => [Vector t], ]; +$messages_highScores = ['_' => messages_highScores, 'scores' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_messageEditData.md b/docs/API_docs/constructors/messages_messageEditData.md index 8bd88635..b6d55940 100644 --- a/docs/API_docs/constructors/messages_messageEditData.md +++ b/docs/API_docs/constructors/messages_messageEditData.md @@ -21,5 +21,5 @@ description: messages_messageEditData attributes, type and example ### Example: ``` -$messages_messageEditData = ['_' => messages_messageEditData', 'caption' => true, ]; +$messages_messageEditData = ['_' => messages_messageEditData, 'caption' => true, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_messages.md b/docs/API_docs/constructors/messages_messages.md index 28c78e29..a6c50c59 100644 --- a/docs/API_docs/constructors/messages_messages.md +++ b/docs/API_docs/constructors/messages_messages.md @@ -23,5 +23,5 @@ description: messages_messages attributes, type and example ### Example: ``` -$messages_messages = ['_' => messages_messages', 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; +$messages_messages = ['_' => messages_messages, 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_messagesSlice.md b/docs/API_docs/constructors/messages_messagesSlice.md index d4408057..7f17856d 100644 --- a/docs/API_docs/constructors/messages_messagesSlice.md +++ b/docs/API_docs/constructors/messages_messagesSlice.md @@ -24,5 +24,5 @@ description: messages_messagesSlice attributes, type and example ### Example: ``` -$messages_messagesSlice = ['_' => messages_messagesSlice', 'count' => int, 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; +$messages_messagesSlice = ['_' => messages_messagesSlice, 'count' => int, 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_peerDialogs.md b/docs/API_docs/constructors/messages_peerDialogs.md index 7c3d4d54..3248d3c8 100644 --- a/docs/API_docs/constructors/messages_peerDialogs.md +++ b/docs/API_docs/constructors/messages_peerDialogs.md @@ -25,5 +25,5 @@ description: messages_peerDialogs attributes, type and example ### Example: ``` -$messages_peerDialogs = ['_' => messages_peerDialogs', 'dialogs' => [Vector t], 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], 'state' => updates.State, ]; +$messages_peerDialogs = ['_' => messages_peerDialogs, 'dialogs' => [Vector t], 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], 'state' => updates.State, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_recentStickers.md b/docs/API_docs/constructors/messages_recentStickers.md index ec526148..2e182a2d 100644 --- a/docs/API_docs/constructors/messages_recentStickers.md +++ b/docs/API_docs/constructors/messages_recentStickers.md @@ -22,5 +22,5 @@ description: messages_recentStickers attributes, type and example ### Example: ``` -$messages_recentStickers = ['_' => messages_recentStickers', 'hash' => int, 'stickers' => [Vector t], ]; +$messages_recentStickers = ['_' => messages_recentStickers, 'hash' => int, 'stickers' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_recentStickersNotModified.md b/docs/API_docs/constructors/messages_recentStickersNotModified.md index 95f2d25f..6266b0a7 100644 --- a/docs/API_docs/constructors/messages_recentStickersNotModified.md +++ b/docs/API_docs/constructors/messages_recentStickersNotModified.md @@ -16,5 +16,5 @@ description: messages_recentStickersNotModified attributes, type and example ### Example: ``` -$messages_recentStickersNotModified = ['_' => messages_recentStickersNotModified', ]; +$messages_recentStickersNotModified = ['_' => messages_recentStickersNotModified, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_savedGifs.md b/docs/API_docs/constructors/messages_savedGifs.md index adf319f5..8ba00b48 100644 --- a/docs/API_docs/constructors/messages_savedGifs.md +++ b/docs/API_docs/constructors/messages_savedGifs.md @@ -22,5 +22,5 @@ description: messages_savedGifs attributes, type and example ### Example: ``` -$messages_savedGifs = ['_' => messages_savedGifs', 'hash' => int, 'gifs' => [Vector t], ]; +$messages_savedGifs = ['_' => messages_savedGifs, 'hash' => int, 'gifs' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_savedGifsNotModified.md b/docs/API_docs/constructors/messages_savedGifsNotModified.md index 8bbd7716..2247d8c6 100644 --- a/docs/API_docs/constructors/messages_savedGifsNotModified.md +++ b/docs/API_docs/constructors/messages_savedGifsNotModified.md @@ -16,5 +16,5 @@ description: messages_savedGifsNotModified attributes, type and example ### Example: ``` -$messages_savedGifsNotModified = ['_' => messages_savedGifsNotModified', ]; +$messages_savedGifsNotModified = ['_' => messages_savedGifsNotModified, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_sentEncryptedFile.md b/docs/API_docs/constructors/messages_sentEncryptedFile.md index da0dd3e0..785fd469 100644 --- a/docs/API_docs/constructors/messages_sentEncryptedFile.md +++ b/docs/API_docs/constructors/messages_sentEncryptedFile.md @@ -22,5 +22,5 @@ description: messages_sentEncryptedFile attributes, type and example ### Example: ``` -$messages_sentEncryptedFile = ['_' => messages_sentEncryptedFile', 'date' => int, 'file' => EncryptedFile, ]; +$messages_sentEncryptedFile = ['_' => messages_sentEncryptedFile, 'date' => int, 'file' => EncryptedFile, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_sentEncryptedMessage.md b/docs/API_docs/constructors/messages_sentEncryptedMessage.md index d68e8631..c889a973 100644 --- a/docs/API_docs/constructors/messages_sentEncryptedMessage.md +++ b/docs/API_docs/constructors/messages_sentEncryptedMessage.md @@ -21,5 +21,5 @@ description: messages_sentEncryptedMessage attributes, type and example ### Example: ``` -$messages_sentEncryptedMessage = ['_' => messages_sentEncryptedMessage', 'date' => int, ]; +$messages_sentEncryptedMessage = ['_' => messages_sentEncryptedMessage, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_stickerSet.md b/docs/API_docs/constructors/messages_stickerSet.md index 2ddb4f12..2e9bd960 100644 --- a/docs/API_docs/constructors/messages_stickerSet.md +++ b/docs/API_docs/constructors/messages_stickerSet.md @@ -23,5 +23,5 @@ description: messages_stickerSet attributes, type and example ### Example: ``` -$messages_stickerSet = ['_' => messages_stickerSet', 'set' => StickerSet, 'packs' => [Vector t], 'documents' => [Vector t], ]; +$messages_stickerSet = ['_' => messages_stickerSet, 'set' => StickerSet, 'packs' => [Vector t], 'documents' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_stickerSetInstallResultArchive.md b/docs/API_docs/constructors/messages_stickerSetInstallResultArchive.md index e1e019c8..726986fb 100644 --- a/docs/API_docs/constructors/messages_stickerSetInstallResultArchive.md +++ b/docs/API_docs/constructors/messages_stickerSetInstallResultArchive.md @@ -21,5 +21,5 @@ description: messages_stickerSetInstallResultArchive attributes, type and exampl ### Example: ``` -$messages_stickerSetInstallResultArchive = ['_' => messages_stickerSetInstallResultArchive', 'sets' => [Vector t], ]; +$messages_stickerSetInstallResultArchive = ['_' => messages_stickerSetInstallResultArchive, 'sets' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_stickerSetInstallResultSuccess.md b/docs/API_docs/constructors/messages_stickerSetInstallResultSuccess.md index 02468ea1..657ef99f 100644 --- a/docs/API_docs/constructors/messages_stickerSetInstallResultSuccess.md +++ b/docs/API_docs/constructors/messages_stickerSetInstallResultSuccess.md @@ -16,5 +16,5 @@ description: messages_stickerSetInstallResultSuccess attributes, type and exampl ### Example: ``` -$messages_stickerSetInstallResultSuccess = ['_' => messages_stickerSetInstallResultSuccess', ]; +$messages_stickerSetInstallResultSuccess = ['_' => messages_stickerSetInstallResultSuccess, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_stickers.md b/docs/API_docs/constructors/messages_stickers.md index b07e2edb..7c505433 100644 --- a/docs/API_docs/constructors/messages_stickers.md +++ b/docs/API_docs/constructors/messages_stickers.md @@ -22,5 +22,5 @@ description: messages_stickers attributes, type and example ### Example: ``` -$messages_stickers = ['_' => messages_stickers', 'hash' => string, 'stickers' => [Vector t], ]; +$messages_stickers = ['_' => messages_stickers, 'hash' => string, 'stickers' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/messages_stickersNotModified.md b/docs/API_docs/constructors/messages_stickersNotModified.md index 2c7a0520..8d80ae1a 100644 --- a/docs/API_docs/constructors/messages_stickersNotModified.md +++ b/docs/API_docs/constructors/messages_stickersNotModified.md @@ -16,5 +16,5 @@ description: messages_stickersNotModified attributes, type and example ### Example: ``` -$messages_stickersNotModified = ['_' => messages_stickersNotModified', ]; +$messages_stickersNotModified = ['_' => messages_stickersNotModified, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/msg_container.md b/docs/API_docs/constructors/msg_container.md new file mode 100644 index 00000000..8685c636 --- /dev/null +++ b/docs/API_docs/constructors/msg_container.md @@ -0,0 +1,25 @@ +--- +title: msg_container +description: msg_container attributes, type and example +--- +## Constructor: msg\_container +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|messages|Array of [%Message](../constructors/%Message.md) | Required| + + + +### Type: [MessageContainer](../types/MessageContainer.md) + + +### Example: + +``` +$msg_container = ['_' => msg_container, 'messages' => [vector], ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/msg_copy.md b/docs/API_docs/constructors/msg_copy.md new file mode 100644 index 00000000..68811ca4 --- /dev/null +++ b/docs/API_docs/constructors/msg_copy.md @@ -0,0 +1,25 @@ +--- +title: msg_copy +description: msg_copy attributes, type and example +--- +## Constructor: msg\_copy +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|orig\_message|[MTMessage](../types/MTMessage.md) | Required| + + + +### Type: [MessageCopy](../types/MessageCopy.md) + + +### Example: + +``` +$msg_copy = ['_' => msg_copy, 'orig_message' => MTMessage, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/msg_detailed_info.md b/docs/API_docs/constructors/msg_detailed_info.md new file mode 100644 index 00000000..8ad95b5f --- /dev/null +++ b/docs/API_docs/constructors/msg_detailed_info.md @@ -0,0 +1,28 @@ +--- +title: msg_detailed_info +description: msg_detailed_info attributes, type and example +--- +## Constructor: msg\_detailed\_info +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|msg\_id|[long](../types/long.md) | Required| +|answer\_msg\_id|[long](../types/long.md) | Required| +|bytes|[int](../types/int.md) | Required| +|status|[int](../types/int.md) | Required| + + + +### Type: [MsgDetailedInfo](../types/MsgDetailedInfo.md) + + +### Example: + +``` +$msg_detailed_info = ['_' => msg_detailed_info, 'msg_id' => long, 'answer_msg_id' => long, 'bytes' => int, 'status' => int, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/msg_new_detailed_info.md b/docs/API_docs/constructors/msg_new_detailed_info.md new file mode 100644 index 00000000..8a5a685a --- /dev/null +++ b/docs/API_docs/constructors/msg_new_detailed_info.md @@ -0,0 +1,27 @@ +--- +title: msg_new_detailed_info +description: msg_new_detailed_info attributes, type and example +--- +## Constructor: msg\_new\_detailed\_info +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|answer\_msg\_id|[long](../types/long.md) | Required| +|bytes|[int](../types/int.md) | Required| +|status|[int](../types/int.md) | Required| + + + +### Type: [MsgDetailedInfo](../types/MsgDetailedInfo.md) + + +### Example: + +``` +$msg_new_detailed_info = ['_' => msg_new_detailed_info, 'answer_msg_id' => long, 'bytes' => int, 'status' => int, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/msg_resend_req.md b/docs/API_docs/constructors/msg_resend_req.md new file mode 100644 index 00000000..a2291141 --- /dev/null +++ b/docs/API_docs/constructors/msg_resend_req.md @@ -0,0 +1,25 @@ +--- +title: msg_resend_req +description: msg_resend_req attributes, type and example +--- +## Constructor: msg\_resend\_req +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|msg\_ids|Array of [long](../types/long.md) | Required| + + + +### Type: [MsgResendReq](../types/MsgResendReq.md) + + +### Example: + +``` +$msg_resend_req = ['_' => msg_resend_req, 'msg_ids' => [Vector t], ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/msgs_ack.md b/docs/API_docs/constructors/msgs_ack.md new file mode 100644 index 00000000..b2329eda --- /dev/null +++ b/docs/API_docs/constructors/msgs_ack.md @@ -0,0 +1,25 @@ +--- +title: msgs_ack +description: msgs_ack attributes, type and example +--- +## Constructor: msgs\_ack +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|msg\_ids|Array of [long](../types/long.md) | Required| + + + +### Type: [MsgsAck](../types/MsgsAck.md) + + +### Example: + +``` +$msgs_ack = ['_' => msgs_ack, 'msg_ids' => [Vector t], ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/msgs_all_info.md b/docs/API_docs/constructors/msgs_all_info.md new file mode 100644 index 00000000..613756b4 --- /dev/null +++ b/docs/API_docs/constructors/msgs_all_info.md @@ -0,0 +1,26 @@ +--- +title: msgs_all_info +description: msgs_all_info attributes, type and example +--- +## Constructor: msgs\_all\_info +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|msg\_ids|Array of [long](../types/long.md) | Required| +|info|[bytes](../types/bytes.md) | Required| + + + +### Type: [MsgsAllInfo](../types/MsgsAllInfo.md) + + +### Example: + +``` +$msgs_all_info = ['_' => msgs_all_info, 'msg_ids' => [Vector t], 'info' => bytes, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/msgs_state_info.md b/docs/API_docs/constructors/msgs_state_info.md new file mode 100644 index 00000000..2274034b --- /dev/null +++ b/docs/API_docs/constructors/msgs_state_info.md @@ -0,0 +1,26 @@ +--- +title: msgs_state_info +description: msgs_state_info attributes, type and example +--- +## Constructor: msgs\_state\_info +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|req\_msg\_id|[long](../types/long.md) | Required| +|info|[bytes](../types/bytes.md) | Required| + + + +### Type: [MsgsStateInfo](../types/MsgsStateInfo.md) + + +### Example: + +``` +$msgs_state_info = ['_' => msgs_state_info, 'req_msg_id' => long, 'info' => bytes, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/msgs_state_req.md b/docs/API_docs/constructors/msgs_state_req.md new file mode 100644 index 00000000..0d9f0de0 --- /dev/null +++ b/docs/API_docs/constructors/msgs_state_req.md @@ -0,0 +1,25 @@ +--- +title: msgs_state_req +description: msgs_state_req attributes, type and example +--- +## Constructor: msgs\_state\_req +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|msg\_ids|Array of [long](../types/long.md) | Required| + + + +### Type: [MsgsStateReq](../types/MsgsStateReq.md) + + +### Example: + +``` +$msgs_state_req = ['_' => msgs_state_req, 'msg_ids' => [Vector t], ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/nearestDc.md b/docs/API_docs/constructors/nearestDc.md index f9ab7249..4f4a9c50 100644 --- a/docs/API_docs/constructors/nearestDc.md +++ b/docs/API_docs/constructors/nearestDc.md @@ -23,5 +23,5 @@ description: nearestDc attributes, type and example ### Example: ``` -$nearestDc = ['_' => nearestDc', 'country' => string, 'this_dc' => int, 'nearest_dc' => int, ]; +$nearestDc = ['_' => nearestDc, 'country' => string, 'this_dc' => int, 'nearest_dc' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/new_session_created.md b/docs/API_docs/constructors/new_session_created.md new file mode 100644 index 00000000..2b001188 --- /dev/null +++ b/docs/API_docs/constructors/new_session_created.md @@ -0,0 +1,27 @@ +--- +title: new_session_created +description: new_session_created attributes, type and example +--- +## Constructor: new\_session\_created +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|first\_msg\_id|[long](../types/long.md) | Required| +|unique\_id|[long](../types/long.md) | Required| +|server\_salt|[long](../types/long.md) | Required| + + + +### Type: [NewSession](../types/NewSession.md) + + +### Example: + +``` +$new_session_created = ['_' => new_session_created, 'first_msg_id' => long, 'unique_id' => long, 'server_salt' => long, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/notifyAll.md b/docs/API_docs/constructors/notifyAll.md index b9a2f51e..f1b5eaa6 100644 --- a/docs/API_docs/constructors/notifyAll.md +++ b/docs/API_docs/constructors/notifyAll.md @@ -16,5 +16,5 @@ description: notifyAll attributes, type and example ### Example: ``` -$notifyAll = ['_' => notifyAll', ]; +$notifyAll = ['_' => notifyAll, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/notifyChats.md b/docs/API_docs/constructors/notifyChats.md index 983f2adb..36626fee 100644 --- a/docs/API_docs/constructors/notifyChats.md +++ b/docs/API_docs/constructors/notifyChats.md @@ -16,5 +16,5 @@ description: notifyChats attributes, type and example ### Example: ``` -$notifyChats = ['_' => notifyChats', ]; +$notifyChats = ['_' => notifyChats, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/notifyPeer.md b/docs/API_docs/constructors/notifyPeer.md index 3072a7bb..f9beb6cb 100644 --- a/docs/API_docs/constructors/notifyPeer.md +++ b/docs/API_docs/constructors/notifyPeer.md @@ -21,5 +21,5 @@ description: notifyPeer attributes, type and example ### Example: ``` -$notifyPeer = ['_' => notifyPeer', 'peer' => Peer, ]; +$notifyPeer = ['_' => notifyPeer, 'peer' => Peer, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/notifyUsers.md b/docs/API_docs/constructors/notifyUsers.md index 20a766bf..b72ba38e 100644 --- a/docs/API_docs/constructors/notifyUsers.md +++ b/docs/API_docs/constructors/notifyUsers.md @@ -16,5 +16,5 @@ description: notifyUsers attributes, type and example ### Example: ``` -$notifyUsers = ['_' => notifyUsers', ]; +$notifyUsers = ['_' => notifyUsers, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/p_q_inner_data.md b/docs/API_docs/constructors/p_q_inner_data.md new file mode 100644 index 00000000..4e236389 --- /dev/null +++ b/docs/API_docs/constructors/p_q_inner_data.md @@ -0,0 +1,30 @@ +--- +title: p_q_inner_data +description: p_q_inner_data attributes, type and example +--- +## Constructor: p\_q\_inner\_data +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|pq|[bytes](../types/bytes.md) | Required| +|p|[bytes](../types/bytes.md) | Required| +|q|[bytes](../types/bytes.md) | Required| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|new\_nonce|[int256](../types/int256.md) | Required| + + + +### Type: [P\_Q\_inner\_data](../types/P_Q_inner_data.md) + + +### Example: + +``` +$p_q_inner_data = ['_' => p_q_inner_data, 'pq' => bytes, 'p' => bytes, 'q' => bytes, 'nonce' => int128, 'server_nonce' => int128, 'new_nonce' => int256, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/p_q_inner_data_temp.md b/docs/API_docs/constructors/p_q_inner_data_temp.md new file mode 100644 index 00000000..d1f86ae1 --- /dev/null +++ b/docs/API_docs/constructors/p_q_inner_data_temp.md @@ -0,0 +1,31 @@ +--- +title: p_q_inner_data_temp +description: p_q_inner_data_temp attributes, type and example +--- +## Constructor: p\_q\_inner\_data\_temp +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|pq|[bytes](../types/bytes.md) | Required| +|p|[bytes](../types/bytes.md) | Required| +|q|[bytes](../types/bytes.md) | Required| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|new\_nonce|[int256](../types/int256.md) | Required| +|expires\_in|[int](../types/int.md) | Required| + + + +### Type: [P\_Q\_inner\_data](../types/P_Q_inner_data.md) + + +### Example: + +``` +$p_q_inner_data_temp = ['_' => p_q_inner_data_temp, 'pq' => bytes, 'p' => bytes, 'q' => bytes, 'nonce' => int128, 'server_nonce' => int128, 'new_nonce' => int256, 'expires_in' => int, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/peerChannel.md b/docs/API_docs/constructors/peerChannel.md index 4ab824a2..c8e2f7cc 100644 --- a/docs/API_docs/constructors/peerChannel.md +++ b/docs/API_docs/constructors/peerChannel.md @@ -21,5 +21,5 @@ description: peerChannel attributes, type and example ### Example: ``` -$peerChannel = ['_' => peerChannel', 'channel_id' => int, ]; +$peerChannel = ['_' => peerChannel, 'channel_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/peerChat.md b/docs/API_docs/constructors/peerChat.md index a40ccb7e..74c3ee8a 100644 --- a/docs/API_docs/constructors/peerChat.md +++ b/docs/API_docs/constructors/peerChat.md @@ -21,5 +21,5 @@ description: peerChat attributes, type and example ### Example: ``` -$peerChat = ['_' => peerChat', 'chat_id' => int, ]; +$peerChat = ['_' => peerChat, 'chat_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/peerNotifyEventsAll.md b/docs/API_docs/constructors/peerNotifyEventsAll.md index cacd9060..d542525d 100644 --- a/docs/API_docs/constructors/peerNotifyEventsAll.md +++ b/docs/API_docs/constructors/peerNotifyEventsAll.md @@ -16,5 +16,5 @@ description: peerNotifyEventsAll attributes, type and example ### Example: ``` -$peerNotifyEventsAll = ['_' => peerNotifyEventsAll', ]; +$peerNotifyEventsAll = ['_' => peerNotifyEventsAll, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/peerNotifyEventsEmpty.md b/docs/API_docs/constructors/peerNotifyEventsEmpty.md index 89de27ec..d7564472 100644 --- a/docs/API_docs/constructors/peerNotifyEventsEmpty.md +++ b/docs/API_docs/constructors/peerNotifyEventsEmpty.md @@ -16,5 +16,5 @@ description: peerNotifyEventsEmpty attributes, type and example ### Example: ``` -$peerNotifyEventsEmpty = ['_' => peerNotifyEventsEmpty', ]; +$peerNotifyEventsEmpty = ['_' => peerNotifyEventsEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/peerNotifySettings.md b/docs/API_docs/constructors/peerNotifySettings.md index 98cf3e31..322ad8f7 100644 --- a/docs/API_docs/constructors/peerNotifySettings.md +++ b/docs/API_docs/constructors/peerNotifySettings.md @@ -24,5 +24,5 @@ description: peerNotifySettings attributes, type and example ### Example: ``` -$peerNotifySettings = ['_' => peerNotifySettings', 'show_previews' => true, 'silent' => true, 'mute_until' => int, 'sound' => string, ]; +$peerNotifySettings = ['_' => peerNotifySettings, 'show_previews' => true, 'silent' => true, 'mute_until' => int, 'sound' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/peerNotifySettingsEmpty.md b/docs/API_docs/constructors/peerNotifySettingsEmpty.md index 9cfb287c..f0d776ad 100644 --- a/docs/API_docs/constructors/peerNotifySettingsEmpty.md +++ b/docs/API_docs/constructors/peerNotifySettingsEmpty.md @@ -16,5 +16,5 @@ description: peerNotifySettingsEmpty attributes, type and example ### Example: ``` -$peerNotifySettingsEmpty = ['_' => peerNotifySettingsEmpty', ]; +$peerNotifySettingsEmpty = ['_' => peerNotifySettingsEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/peerSettings.md b/docs/API_docs/constructors/peerSettings.md index 790cb3d9..0e6e0b30 100644 --- a/docs/API_docs/constructors/peerSettings.md +++ b/docs/API_docs/constructors/peerSettings.md @@ -21,5 +21,5 @@ description: peerSettings attributes, type and example ### Example: ``` -$peerSettings = ['_' => peerSettings', 'report_spam' => true, ]; +$peerSettings = ['_' => peerSettings, 'report_spam' => true, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/peerUser.md b/docs/API_docs/constructors/peerUser.md index d207aadd..b2fe290d 100644 --- a/docs/API_docs/constructors/peerUser.md +++ b/docs/API_docs/constructors/peerUser.md @@ -21,5 +21,5 @@ description: peerUser attributes, type and example ### Example: ``` -$peerUser = ['_' => peerUser', 'user_id' => int, ]; +$peerUser = ['_' => peerUser, 'user_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/photo.md b/docs/API_docs/constructors/photo.md index 2bcdf567..b82b0f15 100644 --- a/docs/API_docs/constructors/photo.md +++ b/docs/API_docs/constructors/photo.md @@ -25,5 +25,5 @@ description: photo attributes, type and example ### Example: ``` -$photo = ['_' => photo', 'has_stickers' => true, 'id' => long, 'access_hash' => long, 'date' => int, 'sizes' => [Vector t], ]; +$photo = ['_' => photo, 'has_stickers' => true, 'id' => long, 'access_hash' => long, 'date' => int, 'sizes' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/photoCachedSize.md b/docs/API_docs/constructors/photoCachedSize.md index 197fee80..7d2c7377 100644 --- a/docs/API_docs/constructors/photoCachedSize.md +++ b/docs/API_docs/constructors/photoCachedSize.md @@ -25,5 +25,5 @@ description: photoCachedSize attributes, type and example ### Example: ``` -$photoCachedSize = ['_' => photoCachedSize', 'type' => string, 'location' => FileLocation, 'w' => int, 'h' => int, 'bytes' => bytes, ]; +$photoCachedSize = ['_' => photoCachedSize, 'type' => string, 'location' => FileLocation, 'w' => int, 'h' => int, 'bytes' => bytes, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/photoEmpty.md b/docs/API_docs/constructors/photoEmpty.md index 1a0aeaeb..6ccd63ce 100644 --- a/docs/API_docs/constructors/photoEmpty.md +++ b/docs/API_docs/constructors/photoEmpty.md @@ -21,5 +21,5 @@ description: photoEmpty attributes, type and example ### Example: ``` -$photoEmpty = ['_' => photoEmpty', 'id' => long, ]; +$photoEmpty = ['_' => photoEmpty, 'id' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/photoSize.md b/docs/API_docs/constructors/photoSize.md index e1a4aa6d..7030a3a4 100644 --- a/docs/API_docs/constructors/photoSize.md +++ b/docs/API_docs/constructors/photoSize.md @@ -25,5 +25,5 @@ description: photoSize attributes, type and example ### Example: ``` -$photoSize = ['_' => photoSize', 'type' => string, 'location' => FileLocation, 'w' => int, 'h' => int, 'size' => int, ]; +$photoSize = ['_' => photoSize, 'type' => string, 'location' => FileLocation, 'w' => int, 'h' => int, 'size' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/photoSizeEmpty.md b/docs/API_docs/constructors/photoSizeEmpty.md index 28f06d2f..80436f76 100644 --- a/docs/API_docs/constructors/photoSizeEmpty.md +++ b/docs/API_docs/constructors/photoSizeEmpty.md @@ -21,5 +21,5 @@ description: photoSizeEmpty attributes, type and example ### Example: ``` -$photoSizeEmpty = ['_' => photoSizeEmpty', 'type' => string, ]; +$photoSizeEmpty = ['_' => photoSizeEmpty, 'type' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/photos_photo.md b/docs/API_docs/constructors/photos_photo.md index 10e21355..1b489243 100644 --- a/docs/API_docs/constructors/photos_photo.md +++ b/docs/API_docs/constructors/photos_photo.md @@ -22,5 +22,5 @@ description: photos_photo attributes, type and example ### Example: ``` -$photos_photo = ['_' => photos_photo', 'photo' => Photo, 'users' => [Vector t], ]; +$photos_photo = ['_' => photos_photo, 'photo' => Photo, 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/photos_photos.md b/docs/API_docs/constructors/photos_photos.md index 89dc4065..d4171798 100644 --- a/docs/API_docs/constructors/photos_photos.md +++ b/docs/API_docs/constructors/photos_photos.md @@ -22,5 +22,5 @@ description: photos_photos attributes, type and example ### Example: ``` -$photos_photos = ['_' => photos_photos', 'photos' => [Vector t], 'users' => [Vector t], ]; +$photos_photos = ['_' => photos_photos, 'photos' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/photos_photosSlice.md b/docs/API_docs/constructors/photos_photosSlice.md index b3f0f8de..b9a8ff42 100644 --- a/docs/API_docs/constructors/photos_photosSlice.md +++ b/docs/API_docs/constructors/photos_photosSlice.md @@ -23,5 +23,5 @@ description: photos_photosSlice attributes, type and example ### Example: ``` -$photos_photosSlice = ['_' => photos_photosSlice', 'count' => int, 'photos' => [Vector t], 'users' => [Vector t], ]; +$photos_photosSlice = ['_' => photos_photosSlice, 'count' => int, 'photos' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/pong.md b/docs/API_docs/constructors/pong.md new file mode 100644 index 00000000..0d204093 --- /dev/null +++ b/docs/API_docs/constructors/pong.md @@ -0,0 +1,26 @@ +--- +title: pong +description: pong attributes, type and example +--- +## Constructor: pong +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|msg\_id|[long](../types/long.md) | Required| +|ping\_id|[long](../types/long.md) | Required| + + + +### Type: [Pong](../types/Pong.md) + + +### Example: + +``` +$pong = ['_' => pong, 'msg_id' => long, 'ping_id' => long, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/privacyKeyChatInvite.md b/docs/API_docs/constructors/privacyKeyChatInvite.md index 63738e02..fa8b85a5 100644 --- a/docs/API_docs/constructors/privacyKeyChatInvite.md +++ b/docs/API_docs/constructors/privacyKeyChatInvite.md @@ -16,5 +16,5 @@ description: privacyKeyChatInvite attributes, type and example ### Example: ``` -$privacyKeyChatInvite = ['_' => privacyKeyChatInvite', ]; +$privacyKeyChatInvite = ['_' => privacyKeyChatInvite, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/privacyKeyStatusTimestamp.md b/docs/API_docs/constructors/privacyKeyStatusTimestamp.md index 958d792a..afbe3fe3 100644 --- a/docs/API_docs/constructors/privacyKeyStatusTimestamp.md +++ b/docs/API_docs/constructors/privacyKeyStatusTimestamp.md @@ -16,5 +16,5 @@ description: privacyKeyStatusTimestamp attributes, type and example ### Example: ``` -$privacyKeyStatusTimestamp = ['_' => privacyKeyStatusTimestamp', ]; +$privacyKeyStatusTimestamp = ['_' => privacyKeyStatusTimestamp, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/privacyValueAllowAll.md b/docs/API_docs/constructors/privacyValueAllowAll.md index ac3ee3c8..c9ee760f 100644 --- a/docs/API_docs/constructors/privacyValueAllowAll.md +++ b/docs/API_docs/constructors/privacyValueAllowAll.md @@ -16,5 +16,5 @@ description: privacyValueAllowAll attributes, type and example ### Example: ``` -$privacyValueAllowAll = ['_' => privacyValueAllowAll', ]; +$privacyValueAllowAll = ['_' => privacyValueAllowAll, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/privacyValueAllowContacts.md b/docs/API_docs/constructors/privacyValueAllowContacts.md index e27803f6..029a2280 100644 --- a/docs/API_docs/constructors/privacyValueAllowContacts.md +++ b/docs/API_docs/constructors/privacyValueAllowContacts.md @@ -16,5 +16,5 @@ description: privacyValueAllowContacts attributes, type and example ### Example: ``` -$privacyValueAllowContacts = ['_' => privacyValueAllowContacts', ]; +$privacyValueAllowContacts = ['_' => privacyValueAllowContacts, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/privacyValueAllowUsers.md b/docs/API_docs/constructors/privacyValueAllowUsers.md index 4444e875..e4dd2a01 100644 --- a/docs/API_docs/constructors/privacyValueAllowUsers.md +++ b/docs/API_docs/constructors/privacyValueAllowUsers.md @@ -21,5 +21,5 @@ description: privacyValueAllowUsers attributes, type and example ### Example: ``` -$privacyValueAllowUsers = ['_' => privacyValueAllowUsers', 'users' => [Vector t], ]; +$privacyValueAllowUsers = ['_' => privacyValueAllowUsers, 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/privacyValueDisallowAll.md b/docs/API_docs/constructors/privacyValueDisallowAll.md index 03984b6c..b6f116ad 100644 --- a/docs/API_docs/constructors/privacyValueDisallowAll.md +++ b/docs/API_docs/constructors/privacyValueDisallowAll.md @@ -16,5 +16,5 @@ description: privacyValueDisallowAll attributes, type and example ### Example: ``` -$privacyValueDisallowAll = ['_' => privacyValueDisallowAll', ]; +$privacyValueDisallowAll = ['_' => privacyValueDisallowAll, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/privacyValueDisallowContacts.md b/docs/API_docs/constructors/privacyValueDisallowContacts.md index e2605d39..b2c4a5c7 100644 --- a/docs/API_docs/constructors/privacyValueDisallowContacts.md +++ b/docs/API_docs/constructors/privacyValueDisallowContacts.md @@ -16,5 +16,5 @@ description: privacyValueDisallowContacts attributes, type and example ### Example: ``` -$privacyValueDisallowContacts = ['_' => privacyValueDisallowContacts', ]; +$privacyValueDisallowContacts = ['_' => privacyValueDisallowContacts, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/privacyValueDisallowUsers.md b/docs/API_docs/constructors/privacyValueDisallowUsers.md index 1e577b10..fb433d30 100644 --- a/docs/API_docs/constructors/privacyValueDisallowUsers.md +++ b/docs/API_docs/constructors/privacyValueDisallowUsers.md @@ -21,5 +21,5 @@ description: privacyValueDisallowUsers attributes, type and example ### Example: ``` -$privacyValueDisallowUsers = ['_' => privacyValueDisallowUsers', 'users' => [Vector t], ]; +$privacyValueDisallowUsers = ['_' => privacyValueDisallowUsers, 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/receivedNotifyMessage.md b/docs/API_docs/constructors/receivedNotifyMessage.md index 9b0ad112..08ab467b 100644 --- a/docs/API_docs/constructors/receivedNotifyMessage.md +++ b/docs/API_docs/constructors/receivedNotifyMessage.md @@ -21,5 +21,5 @@ description: receivedNotifyMessage attributes, type and example ### Example: ``` -$receivedNotifyMessage = ['_' => receivedNotifyMessage', 'id' => int, ]; +$receivedNotifyMessage = ['_' => receivedNotifyMessage, 'id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/replyInlineMarkup.md b/docs/API_docs/constructors/replyInlineMarkup.md index 1ee9beda..9593972d 100644 --- a/docs/API_docs/constructors/replyInlineMarkup.md +++ b/docs/API_docs/constructors/replyInlineMarkup.md @@ -21,5 +21,5 @@ description: replyInlineMarkup attributes, type and example ### Example: ``` -$replyInlineMarkup = ['_' => replyInlineMarkup', 'rows' => [Vector t], ]; +$replyInlineMarkup = ['_' => replyInlineMarkup, 'rows' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/replyKeyboardForceReply.md b/docs/API_docs/constructors/replyKeyboardForceReply.md index 35d0c213..39eb917c 100644 --- a/docs/API_docs/constructors/replyKeyboardForceReply.md +++ b/docs/API_docs/constructors/replyKeyboardForceReply.md @@ -22,5 +22,5 @@ description: replyKeyboardForceReply attributes, type and example ### Example: ``` -$replyKeyboardForceReply = ['_' => replyKeyboardForceReply', 'single_use' => true, 'selective' => true, ]; +$replyKeyboardForceReply = ['_' => replyKeyboardForceReply, 'single_use' => true, 'selective' => true, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/replyKeyboardHide.md b/docs/API_docs/constructors/replyKeyboardHide.md index 063e47fc..ed0dd91d 100644 --- a/docs/API_docs/constructors/replyKeyboardHide.md +++ b/docs/API_docs/constructors/replyKeyboardHide.md @@ -21,5 +21,5 @@ description: replyKeyboardHide attributes, type and example ### Example: ``` -$replyKeyboardHide = ['_' => replyKeyboardHide', 'selective' => true, ]; +$replyKeyboardHide = ['_' => replyKeyboardHide, 'selective' => true, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/replyKeyboardMarkup.md b/docs/API_docs/constructors/replyKeyboardMarkup.md index 4f3c567f..7d983480 100644 --- a/docs/API_docs/constructors/replyKeyboardMarkup.md +++ b/docs/API_docs/constructors/replyKeyboardMarkup.md @@ -24,5 +24,5 @@ description: replyKeyboardMarkup attributes, type and example ### Example: ``` -$replyKeyboardMarkup = ['_' => replyKeyboardMarkup', 'resize' => true, 'single_use' => true, 'selective' => true, 'rows' => [Vector t], ]; +$replyKeyboardMarkup = ['_' => replyKeyboardMarkup, 'resize' => true, 'single_use' => true, 'selective' => true, 'rows' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/resPQ.md b/docs/API_docs/constructors/resPQ.md new file mode 100644 index 00000000..d55253fd --- /dev/null +++ b/docs/API_docs/constructors/resPQ.md @@ -0,0 +1,28 @@ +--- +title: resPQ +description: resPQ attributes, type and example +--- +## Constructor: resPQ +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|pq|[bytes](../types/bytes.md) | Required| +|server\_public\_key\_fingerprints|Array of [long](../types/long.md) | Required| + + + +### Type: [ResPQ](../types/ResPQ.md) + + +### Example: + +``` +$resPQ = ['_' => resPQ, 'nonce' => int128, 'server_nonce' => int128, 'pq' => bytes, 'server_public_key_fingerprints' => [Vector t], ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/rpc_answer_dropped.md b/docs/API_docs/constructors/rpc_answer_dropped.md new file mode 100644 index 00000000..f2ab0a55 --- /dev/null +++ b/docs/API_docs/constructors/rpc_answer_dropped.md @@ -0,0 +1,27 @@ +--- +title: rpc_answer_dropped +description: rpc_answer_dropped attributes, type and example +--- +## Constructor: rpc\_answer\_dropped +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|msg\_id|[long](../types/long.md) | Required| +|seq\_no|[int](../types/int.md) | Required| +|bytes|[int](../types/int.md) | Required| + + + +### Type: [RpcDropAnswer](../types/RpcDropAnswer.md) + + +### Example: + +``` +$rpc_answer_dropped = ['_' => rpc_answer_dropped, 'msg_id' => long, 'seq_no' => int, 'bytes' => int, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/rpc_answer_dropped_running.md b/docs/API_docs/constructors/rpc_answer_dropped_running.md new file mode 100644 index 00000000..b4cb36ac --- /dev/null +++ b/docs/API_docs/constructors/rpc_answer_dropped_running.md @@ -0,0 +1,20 @@ +--- +title: rpc_answer_dropped_running +description: rpc_answer_dropped_running attributes, type and example +--- +## Constructor: rpc\_answer\_dropped\_running +[Back to constructors index](index.md) + + + + + + +### Type: [RpcDropAnswer](../types/RpcDropAnswer.md) + + +### Example: + +``` +$rpc_answer_dropped_running = ['_' => rpc_answer_dropped_running, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/rpc_answer_unknown.md b/docs/API_docs/constructors/rpc_answer_unknown.md new file mode 100644 index 00000000..a6cbb45a --- /dev/null +++ b/docs/API_docs/constructors/rpc_answer_unknown.md @@ -0,0 +1,20 @@ +--- +title: rpc_answer_unknown +description: rpc_answer_unknown attributes, type and example +--- +## Constructor: rpc\_answer\_unknown +[Back to constructors index](index.md) + + + + + + +### Type: [RpcDropAnswer](../types/RpcDropAnswer.md) + + +### Example: + +``` +$rpc_answer_unknown = ['_' => rpc_answer_unknown, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/rpc_error.md b/docs/API_docs/constructors/rpc_error.md new file mode 100644 index 00000000..6fbe4f94 --- /dev/null +++ b/docs/API_docs/constructors/rpc_error.md @@ -0,0 +1,26 @@ +--- +title: rpc_error +description: rpc_error attributes, type and example +--- +## Constructor: rpc\_error +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|error\_code|[int](../types/int.md) | Required| +|error\_message|[string](../types/string.md) | Required| + + + +### Type: [RpcError](../types/RpcError.md) + + +### Example: + +``` +$rpc_error = ['_' => rpc_error, 'error_code' => int, 'error_message' => string, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/rpc_result.md b/docs/API_docs/constructors/rpc_result.md new file mode 100644 index 00000000..9da21176 --- /dev/null +++ b/docs/API_docs/constructors/rpc_result.md @@ -0,0 +1,26 @@ +--- +title: rpc_result +description: rpc_result attributes, type and example +--- +## Constructor: rpc\_result +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|req\_msg\_id|[long](../types/long.md) | Required| +|result|[Object](../types/Object.md) | Required| + + + +### Type: [RpcResult](../types/RpcResult.md) + + +### Example: + +``` +$rpc_result = ['_' => rpc_result, 'req_msg_id' => long, 'result' => Object, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageCancelAction.md b/docs/API_docs/constructors/sendMessageCancelAction.md index bdd31b86..dde580e2 100644 --- a/docs/API_docs/constructors/sendMessageCancelAction.md +++ b/docs/API_docs/constructors/sendMessageCancelAction.md @@ -16,5 +16,5 @@ description: sendMessageCancelAction attributes, type and example ### Example: ``` -$sendMessageCancelAction = ['_' => sendMessageCancelAction', ]; +$sendMessageCancelAction = ['_' => sendMessageCancelAction, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageChooseContactAction.md b/docs/API_docs/constructors/sendMessageChooseContactAction.md index 866ce6c1..e12b077f 100644 --- a/docs/API_docs/constructors/sendMessageChooseContactAction.md +++ b/docs/API_docs/constructors/sendMessageChooseContactAction.md @@ -16,5 +16,5 @@ description: sendMessageChooseContactAction attributes, type and example ### Example: ``` -$sendMessageChooseContactAction = ['_' => sendMessageChooseContactAction', ]; +$sendMessageChooseContactAction = ['_' => sendMessageChooseContactAction, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageGamePlayAction.md b/docs/API_docs/constructors/sendMessageGamePlayAction.md index 28fe20b7..7ff6d7fa 100644 --- a/docs/API_docs/constructors/sendMessageGamePlayAction.md +++ b/docs/API_docs/constructors/sendMessageGamePlayAction.md @@ -16,5 +16,5 @@ description: sendMessageGamePlayAction attributes, type and example ### Example: ``` -$sendMessageGamePlayAction = ['_' => sendMessageGamePlayAction', ]; +$sendMessageGamePlayAction = ['_' => sendMessageGamePlayAction, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageGeoLocationAction.md b/docs/API_docs/constructors/sendMessageGeoLocationAction.md index 7696f6d4..2a7f0091 100644 --- a/docs/API_docs/constructors/sendMessageGeoLocationAction.md +++ b/docs/API_docs/constructors/sendMessageGeoLocationAction.md @@ -16,5 +16,5 @@ description: sendMessageGeoLocationAction attributes, type and example ### Example: ``` -$sendMessageGeoLocationAction = ['_' => sendMessageGeoLocationAction', ]; +$sendMessageGeoLocationAction = ['_' => sendMessageGeoLocationAction, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageRecordAudioAction.md b/docs/API_docs/constructors/sendMessageRecordAudioAction.md index d5183903..e4a01f9b 100644 --- a/docs/API_docs/constructors/sendMessageRecordAudioAction.md +++ b/docs/API_docs/constructors/sendMessageRecordAudioAction.md @@ -16,5 +16,5 @@ description: sendMessageRecordAudioAction attributes, type and example ### Example: ``` -$sendMessageRecordAudioAction = ['_' => sendMessageRecordAudioAction', ]; +$sendMessageRecordAudioAction = ['_' => sendMessageRecordAudioAction, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageRecordVideoAction.md b/docs/API_docs/constructors/sendMessageRecordVideoAction.md index d4639517..0b180f8d 100644 --- a/docs/API_docs/constructors/sendMessageRecordVideoAction.md +++ b/docs/API_docs/constructors/sendMessageRecordVideoAction.md @@ -16,5 +16,5 @@ description: sendMessageRecordVideoAction attributes, type and example ### Example: ``` -$sendMessageRecordVideoAction = ['_' => sendMessageRecordVideoAction', ]; +$sendMessageRecordVideoAction = ['_' => sendMessageRecordVideoAction, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageTypingAction.md b/docs/API_docs/constructors/sendMessageTypingAction.md index 1c0a067a..4d10b8e3 100644 --- a/docs/API_docs/constructors/sendMessageTypingAction.md +++ b/docs/API_docs/constructors/sendMessageTypingAction.md @@ -16,5 +16,5 @@ description: sendMessageTypingAction attributes, type and example ### Example: ``` -$sendMessageTypingAction = ['_' => sendMessageTypingAction', ]; +$sendMessageTypingAction = ['_' => sendMessageTypingAction, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageUploadAudioAction.md b/docs/API_docs/constructors/sendMessageUploadAudioAction.md index 68eb1503..c1340e10 100644 --- a/docs/API_docs/constructors/sendMessageUploadAudioAction.md +++ b/docs/API_docs/constructors/sendMessageUploadAudioAction.md @@ -21,5 +21,5 @@ description: sendMessageUploadAudioAction attributes, type and example ### Example: ``` -$sendMessageUploadAudioAction = ['_' => sendMessageUploadAudioAction', 'progress' => int, ]; +$sendMessageUploadAudioAction = ['_' => sendMessageUploadAudioAction, 'progress' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageUploadDocumentAction.md b/docs/API_docs/constructors/sendMessageUploadDocumentAction.md index d9a558f3..a259a7fe 100644 --- a/docs/API_docs/constructors/sendMessageUploadDocumentAction.md +++ b/docs/API_docs/constructors/sendMessageUploadDocumentAction.md @@ -21,5 +21,5 @@ description: sendMessageUploadDocumentAction attributes, type and example ### Example: ``` -$sendMessageUploadDocumentAction = ['_' => sendMessageUploadDocumentAction', 'progress' => int, ]; +$sendMessageUploadDocumentAction = ['_' => sendMessageUploadDocumentAction, 'progress' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageUploadPhotoAction.md b/docs/API_docs/constructors/sendMessageUploadPhotoAction.md index 0e6a49f4..012c4f10 100644 --- a/docs/API_docs/constructors/sendMessageUploadPhotoAction.md +++ b/docs/API_docs/constructors/sendMessageUploadPhotoAction.md @@ -21,5 +21,5 @@ description: sendMessageUploadPhotoAction attributes, type and example ### Example: ``` -$sendMessageUploadPhotoAction = ['_' => sendMessageUploadPhotoAction', 'progress' => int, ]; +$sendMessageUploadPhotoAction = ['_' => sendMessageUploadPhotoAction, 'progress' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/sendMessageUploadVideoAction.md b/docs/API_docs/constructors/sendMessageUploadVideoAction.md index 4c6b568c..81585382 100644 --- a/docs/API_docs/constructors/sendMessageUploadVideoAction.md +++ b/docs/API_docs/constructors/sendMessageUploadVideoAction.md @@ -21,5 +21,5 @@ description: sendMessageUploadVideoAction attributes, type and example ### Example: ``` -$sendMessageUploadVideoAction = ['_' => sendMessageUploadVideoAction', 'progress' => int, ]; +$sendMessageUploadVideoAction = ['_' => sendMessageUploadVideoAction, 'progress' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/server_DH_inner_data.md b/docs/API_docs/constructors/server_DH_inner_data.md new file mode 100644 index 00000000..9b354cb5 --- /dev/null +++ b/docs/API_docs/constructors/server_DH_inner_data.md @@ -0,0 +1,30 @@ +--- +title: server_DH_inner_data +description: server_DH_inner_data attributes, type and example +--- +## Constructor: server\_DH\_inner\_data +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|g|[int](../types/int.md) | Required| +|dh\_prime|[bytes](../types/bytes.md) | Required| +|g\_a|[bytes](../types/bytes.md) | Required| +|server\_time|[int](../types/int.md) | Required| + + + +### Type: [Server\_DH\_inner\_data](../types/Server_DH_inner_data.md) + + +### Example: + +``` +$server_DH_inner_data = ['_' => server_DH_inner_data, 'nonce' => int128, 'server_nonce' => int128, 'g' => int, 'dh_prime' => bytes, 'g_a' => bytes, 'server_time' => int, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/server_DH_params_fail.md b/docs/API_docs/constructors/server_DH_params_fail.md new file mode 100644 index 00000000..b67af2b2 --- /dev/null +++ b/docs/API_docs/constructors/server_DH_params_fail.md @@ -0,0 +1,27 @@ +--- +title: server_DH_params_fail +description: server_DH_params_fail attributes, type and example +--- +## Constructor: server\_DH\_params\_fail +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|new\_nonce\_hash|[int128](../types/int128.md) | Required| + + + +### Type: [Server\_DH\_Params](../types/Server_DH_Params.md) + + +### Example: + +``` +$server_DH_params_fail = ['_' => server_DH_params_fail, 'nonce' => int128, 'server_nonce' => int128, 'new_nonce_hash' => int128, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/server_DH_params_ok.md b/docs/API_docs/constructors/server_DH_params_ok.md new file mode 100644 index 00000000..fc738ef8 --- /dev/null +++ b/docs/API_docs/constructors/server_DH_params_ok.md @@ -0,0 +1,27 @@ +--- +title: server_DH_params_ok +description: server_DH_params_ok attributes, type and example +--- +## Constructor: server\_DH\_params\_ok +[Back to constructors index](index.md) + + + +### Attributes: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|encrypted\_answer|[bytes](../types/bytes.md) | Required| + + + +### Type: [Server\_DH\_Params](../types/Server_DH_Params.md) + + +### Example: + +``` +$server_DH_params_ok = ['_' => server_DH_params_ok, 'nonce' => int128, 'server_nonce' => int128, 'encrypted_answer' => bytes, ]; +``` \ No newline at end of file diff --git a/docs/API_docs/constructors/stickerPack.md b/docs/API_docs/constructors/stickerPack.md index b7bc41a6..4a7e3a9d 100644 --- a/docs/API_docs/constructors/stickerPack.md +++ b/docs/API_docs/constructors/stickerPack.md @@ -22,5 +22,5 @@ description: stickerPack attributes, type and example ### Example: ``` -$stickerPack = ['_' => stickerPack', 'emoticon' => string, 'documents' => [Vector t], ]; +$stickerPack = ['_' => stickerPack, 'emoticon' => string, 'documents' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/stickerSet.md b/docs/API_docs/constructors/stickerSet.md index 2ada0786..7f21778f 100644 --- a/docs/API_docs/constructors/stickerSet.md +++ b/docs/API_docs/constructors/stickerSet.md @@ -30,5 +30,5 @@ description: stickerSet attributes, type and example ### Example: ``` -$stickerSet = ['_' => stickerSet', 'installed' => true, 'archived' => true, 'official' => true, 'masks' => true, 'id' => long, 'access_hash' => long, 'title' => string, 'short_name' => string, 'count' => int, 'hash' => int, ]; +$stickerSet = ['_' => stickerSet, 'installed' => true, 'archived' => true, 'official' => true, 'masks' => true, 'id' => long, 'access_hash' => long, 'title' => string, 'short_name' => string, 'count' => int, 'hash' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/stickerSetCovered.md b/docs/API_docs/constructors/stickerSetCovered.md index 233434de..68afaebf 100644 --- a/docs/API_docs/constructors/stickerSetCovered.md +++ b/docs/API_docs/constructors/stickerSetCovered.md @@ -22,5 +22,5 @@ description: stickerSetCovered attributes, type and example ### Example: ``` -$stickerSetCovered = ['_' => stickerSetCovered', 'set' => StickerSet, 'cover' => Document, ]; +$stickerSetCovered = ['_' => stickerSetCovered, 'set' => StickerSet, 'cover' => Document, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/stickerSetMultiCovered.md b/docs/API_docs/constructors/stickerSetMultiCovered.md index 3890cb13..1b2baf42 100644 --- a/docs/API_docs/constructors/stickerSetMultiCovered.md +++ b/docs/API_docs/constructors/stickerSetMultiCovered.md @@ -22,5 +22,5 @@ description: stickerSetMultiCovered attributes, type and example ### Example: ``` -$stickerSetMultiCovered = ['_' => stickerSetMultiCovered', 'set' => StickerSet, 'covers' => [Vector t], ]; +$stickerSetMultiCovered = ['_' => stickerSetMultiCovered, 'set' => StickerSet, 'covers' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/storage_fileGif.md b/docs/API_docs/constructors/storage_fileGif.md index d25db59f..1529e695 100644 --- a/docs/API_docs/constructors/storage_fileGif.md +++ b/docs/API_docs/constructors/storage_fileGif.md @@ -16,5 +16,5 @@ description: storage_fileGif attributes, type and example ### Example: ``` -$storage_fileGif = ['_' => storage_fileGif', ]; +$storage_fileGif = ['_' => storage_fileGif, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/storage_fileJpeg.md b/docs/API_docs/constructors/storage_fileJpeg.md index 02e226e8..e67286f7 100644 --- a/docs/API_docs/constructors/storage_fileJpeg.md +++ b/docs/API_docs/constructors/storage_fileJpeg.md @@ -16,5 +16,5 @@ description: storage_fileJpeg attributes, type and example ### Example: ``` -$storage_fileJpeg = ['_' => storage_fileJpeg', ]; +$storage_fileJpeg = ['_' => storage_fileJpeg, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/storage_fileMov.md b/docs/API_docs/constructors/storage_fileMov.md index 7b325218..aba8e8ea 100644 --- a/docs/API_docs/constructors/storage_fileMov.md +++ b/docs/API_docs/constructors/storage_fileMov.md @@ -16,5 +16,5 @@ description: storage_fileMov attributes, type and example ### Example: ``` -$storage_fileMov = ['_' => storage_fileMov', ]; +$storage_fileMov = ['_' => storage_fileMov, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/storage_fileMp3.md b/docs/API_docs/constructors/storage_fileMp3.md index a5c3ca7a..bde03e73 100644 --- a/docs/API_docs/constructors/storage_fileMp3.md +++ b/docs/API_docs/constructors/storage_fileMp3.md @@ -16,5 +16,5 @@ description: storage_fileMp3 attributes, type and example ### Example: ``` -$storage_fileMp3 = ['_' => storage_fileMp3', ]; +$storage_fileMp3 = ['_' => storage_fileMp3, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/storage_fileMp4.md b/docs/API_docs/constructors/storage_fileMp4.md index 5ea4c416..9ad14d63 100644 --- a/docs/API_docs/constructors/storage_fileMp4.md +++ b/docs/API_docs/constructors/storage_fileMp4.md @@ -16,5 +16,5 @@ description: storage_fileMp4 attributes, type and example ### Example: ``` -$storage_fileMp4 = ['_' => storage_fileMp4', ]; +$storage_fileMp4 = ['_' => storage_fileMp4, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/storage_filePartial.md b/docs/API_docs/constructors/storage_filePartial.md index 3ec8e424..39b76cbf 100644 --- a/docs/API_docs/constructors/storage_filePartial.md +++ b/docs/API_docs/constructors/storage_filePartial.md @@ -16,5 +16,5 @@ description: storage_filePartial attributes, type and example ### Example: ``` -$storage_filePartial = ['_' => storage_filePartial', ]; +$storage_filePartial = ['_' => storage_filePartial, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/storage_filePdf.md b/docs/API_docs/constructors/storage_filePdf.md index 47fcdca8..281befc0 100644 --- a/docs/API_docs/constructors/storage_filePdf.md +++ b/docs/API_docs/constructors/storage_filePdf.md @@ -16,5 +16,5 @@ description: storage_filePdf attributes, type and example ### Example: ``` -$storage_filePdf = ['_' => storage_filePdf', ]; +$storage_filePdf = ['_' => storage_filePdf, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/storage_filePng.md b/docs/API_docs/constructors/storage_filePng.md index 4359c36b..a2ec6ffd 100644 --- a/docs/API_docs/constructors/storage_filePng.md +++ b/docs/API_docs/constructors/storage_filePng.md @@ -16,5 +16,5 @@ description: storage_filePng attributes, type and example ### Example: ``` -$storage_filePng = ['_' => storage_filePng', ]; +$storage_filePng = ['_' => storage_filePng, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/storage_fileUnknown.md b/docs/API_docs/constructors/storage_fileUnknown.md index 4b8e13e8..7049dcab 100644 --- a/docs/API_docs/constructors/storage_fileUnknown.md +++ b/docs/API_docs/constructors/storage_fileUnknown.md @@ -16,5 +16,5 @@ description: storage_fileUnknown attributes, type and example ### Example: ``` -$storage_fileUnknown = ['_' => storage_fileUnknown', ]; +$storage_fileUnknown = ['_' => storage_fileUnknown, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/storage_fileWebp.md b/docs/API_docs/constructors/storage_fileWebp.md index 589faaa3..2b79cd56 100644 --- a/docs/API_docs/constructors/storage_fileWebp.md +++ b/docs/API_docs/constructors/storage_fileWebp.md @@ -16,5 +16,5 @@ description: storage_fileWebp attributes, type and example ### Example: ``` -$storage_fileWebp = ['_' => storage_fileWebp', ]; +$storage_fileWebp = ['_' => storage_fileWebp, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/topPeer.md b/docs/API_docs/constructors/topPeer.md index cfa84d1a..bf6ca45d 100644 --- a/docs/API_docs/constructors/topPeer.md +++ b/docs/API_docs/constructors/topPeer.md @@ -22,5 +22,5 @@ description: topPeer attributes, type and example ### Example: ``` -$topPeer = ['_' => topPeer', 'peer' => Peer, 'rating' => double, ]; +$topPeer = ['_' => topPeer, 'peer' => Peer, 'rating' => double, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/topPeerCategoryBotsInline.md b/docs/API_docs/constructors/topPeerCategoryBotsInline.md index 5bdfb8aa..1ece9313 100644 --- a/docs/API_docs/constructors/topPeerCategoryBotsInline.md +++ b/docs/API_docs/constructors/topPeerCategoryBotsInline.md @@ -16,5 +16,5 @@ description: topPeerCategoryBotsInline attributes, type and example ### Example: ``` -$topPeerCategoryBotsInline = ['_' => topPeerCategoryBotsInline', ]; +$topPeerCategoryBotsInline = ['_' => topPeerCategoryBotsInline, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/topPeerCategoryBotsPM.md b/docs/API_docs/constructors/topPeerCategoryBotsPM.md index a256c9cc..25183729 100644 --- a/docs/API_docs/constructors/topPeerCategoryBotsPM.md +++ b/docs/API_docs/constructors/topPeerCategoryBotsPM.md @@ -16,5 +16,5 @@ description: topPeerCategoryBotsPM attributes, type and example ### Example: ``` -$topPeerCategoryBotsPM = ['_' => topPeerCategoryBotsPM', ]; +$topPeerCategoryBotsPM = ['_' => topPeerCategoryBotsPM, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/topPeerCategoryChannels.md b/docs/API_docs/constructors/topPeerCategoryChannels.md index b1f6d2aa..50f6ff96 100644 --- a/docs/API_docs/constructors/topPeerCategoryChannels.md +++ b/docs/API_docs/constructors/topPeerCategoryChannels.md @@ -16,5 +16,5 @@ description: topPeerCategoryChannels attributes, type and example ### Example: ``` -$topPeerCategoryChannels = ['_' => topPeerCategoryChannels', ]; +$topPeerCategoryChannels = ['_' => topPeerCategoryChannels, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/topPeerCategoryCorrespondents.md b/docs/API_docs/constructors/topPeerCategoryCorrespondents.md index bf642e3d..8de9262e 100644 --- a/docs/API_docs/constructors/topPeerCategoryCorrespondents.md +++ b/docs/API_docs/constructors/topPeerCategoryCorrespondents.md @@ -16,5 +16,5 @@ description: topPeerCategoryCorrespondents attributes, type and example ### Example: ``` -$topPeerCategoryCorrespondents = ['_' => topPeerCategoryCorrespondents', ]; +$topPeerCategoryCorrespondents = ['_' => topPeerCategoryCorrespondents, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/topPeerCategoryGroups.md b/docs/API_docs/constructors/topPeerCategoryGroups.md index 208305b4..14f3df10 100644 --- a/docs/API_docs/constructors/topPeerCategoryGroups.md +++ b/docs/API_docs/constructors/topPeerCategoryGroups.md @@ -16,5 +16,5 @@ description: topPeerCategoryGroups attributes, type and example ### Example: ``` -$topPeerCategoryGroups = ['_' => topPeerCategoryGroups', ]; +$topPeerCategoryGroups = ['_' => topPeerCategoryGroups, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/topPeerCategoryPeers.md b/docs/API_docs/constructors/topPeerCategoryPeers.md index 6cf5452f..ec5c8296 100644 --- a/docs/API_docs/constructors/topPeerCategoryPeers.md +++ b/docs/API_docs/constructors/topPeerCategoryPeers.md @@ -23,5 +23,5 @@ description: topPeerCategoryPeers attributes, type and example ### Example: ``` -$topPeerCategoryPeers = ['_' => topPeerCategoryPeers', 'category' => TopPeerCategory, 'count' => int, 'peers' => [Vector t], ]; +$topPeerCategoryPeers = ['_' => topPeerCategoryPeers, 'category' => TopPeerCategory, 'count' => int, 'peers' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/true.md b/docs/API_docs/constructors/true.md index 8a4b1eeb..0a185c48 100644 --- a/docs/API_docs/constructors/true.md +++ b/docs/API_docs/constructors/true.md @@ -16,5 +16,5 @@ description: true attributes, type and example ### Example: ``` -$true = ['_' => true', ]; +$true = ['_' => true, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateBotCallbackQuery.md b/docs/API_docs/constructors/updateBotCallbackQuery.md index eeeccf94..61d7e819 100644 --- a/docs/API_docs/constructors/updateBotCallbackQuery.md +++ b/docs/API_docs/constructors/updateBotCallbackQuery.md @@ -27,5 +27,5 @@ description: updateBotCallbackQuery attributes, type and example ### Example: ``` -$updateBotCallbackQuery = ['_' => updateBotCallbackQuery', 'query_id' => long, 'user_id' => int, 'peer' => Peer, 'msg_id' => int, 'chat_instance' => long, 'data' => bytes, 'game_short_name' => string, ]; +$updateBotCallbackQuery = ['_' => updateBotCallbackQuery, 'query_id' => long, 'user_id' => int, 'peer' => Peer, 'msg_id' => int, 'chat_instance' => long, 'data' => bytes, 'game_short_name' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateBotInlineQuery.md b/docs/API_docs/constructors/updateBotInlineQuery.md index a1034ef7..91993324 100644 --- a/docs/API_docs/constructors/updateBotInlineQuery.md +++ b/docs/API_docs/constructors/updateBotInlineQuery.md @@ -25,5 +25,5 @@ description: updateBotInlineQuery attributes, type and example ### Example: ``` -$updateBotInlineQuery = ['_' => updateBotInlineQuery', 'query_id' => long, 'user_id' => int, 'query' => string, 'geo' => GeoPoint, 'offset' => string, ]; +$updateBotInlineQuery = ['_' => updateBotInlineQuery, 'query_id' => long, 'user_id' => int, 'query' => string, 'geo' => GeoPoint, 'offset' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateBotInlineSend.md b/docs/API_docs/constructors/updateBotInlineSend.md index 0c716f53..a7c60e5d 100644 --- a/docs/API_docs/constructors/updateBotInlineSend.md +++ b/docs/API_docs/constructors/updateBotInlineSend.md @@ -25,5 +25,5 @@ description: updateBotInlineSend attributes, type and example ### Example: ``` -$updateBotInlineSend = ['_' => updateBotInlineSend', 'user_id' => int, 'query' => string, 'geo' => GeoPoint, 'id' => string, 'msg_id' => InputBotInlineMessageID, ]; +$updateBotInlineSend = ['_' => updateBotInlineSend, 'user_id' => int, 'query' => string, 'geo' => GeoPoint, 'id' => string, 'msg_id' => InputBotInlineMessageID, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateChannel.md b/docs/API_docs/constructors/updateChannel.md index e9f0e79e..eefee8e2 100644 --- a/docs/API_docs/constructors/updateChannel.md +++ b/docs/API_docs/constructors/updateChannel.md @@ -21,5 +21,5 @@ description: updateChannel attributes, type and example ### Example: ``` -$updateChannel = ['_' => updateChannel', 'channel_id' => int, ]; +$updateChannel = ['_' => updateChannel, 'channel_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateChannelMessageViews.md b/docs/API_docs/constructors/updateChannelMessageViews.md index 5738a193..44bce46c 100644 --- a/docs/API_docs/constructors/updateChannelMessageViews.md +++ b/docs/API_docs/constructors/updateChannelMessageViews.md @@ -23,5 +23,5 @@ description: updateChannelMessageViews attributes, type and example ### Example: ``` -$updateChannelMessageViews = ['_' => updateChannelMessageViews', 'channel_id' => int, 'id' => int, 'views' => int, ]; +$updateChannelMessageViews = ['_' => updateChannelMessageViews, 'channel_id' => int, 'id' => int, 'views' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateChannelPinnedMessage.md b/docs/API_docs/constructors/updateChannelPinnedMessage.md index b9fb7756..89772320 100644 --- a/docs/API_docs/constructors/updateChannelPinnedMessage.md +++ b/docs/API_docs/constructors/updateChannelPinnedMessage.md @@ -22,5 +22,5 @@ description: updateChannelPinnedMessage attributes, type and example ### Example: ``` -$updateChannelPinnedMessage = ['_' => updateChannelPinnedMessage', 'channel_id' => int, 'id' => int, ]; +$updateChannelPinnedMessage = ['_' => updateChannelPinnedMessage, 'channel_id' => int, 'id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateChannelTooLong.md b/docs/API_docs/constructors/updateChannelTooLong.md index 516101cc..cfab0eb8 100644 --- a/docs/API_docs/constructors/updateChannelTooLong.md +++ b/docs/API_docs/constructors/updateChannelTooLong.md @@ -22,5 +22,5 @@ description: updateChannelTooLong attributes, type and example ### Example: ``` -$updateChannelTooLong = ['_' => updateChannelTooLong', 'channel_id' => int, 'pts' => int, ]; +$updateChannelTooLong = ['_' => updateChannelTooLong, 'channel_id' => int, 'pts' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateChatAdmins.md b/docs/API_docs/constructors/updateChatAdmins.md index 0acbc9e3..4ab7c956 100644 --- a/docs/API_docs/constructors/updateChatAdmins.md +++ b/docs/API_docs/constructors/updateChatAdmins.md @@ -23,5 +23,5 @@ description: updateChatAdmins attributes, type and example ### Example: ``` -$updateChatAdmins = ['_' => updateChatAdmins', 'chat_id' => int, 'enabled' => Bool, 'version' => int, ]; +$updateChatAdmins = ['_' => updateChatAdmins, 'chat_id' => int, 'enabled' => Bool, 'version' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateChatParticipantAdd.md b/docs/API_docs/constructors/updateChatParticipantAdd.md index 1c6a8930..6275f952 100644 --- a/docs/API_docs/constructors/updateChatParticipantAdd.md +++ b/docs/API_docs/constructors/updateChatParticipantAdd.md @@ -25,5 +25,5 @@ description: updateChatParticipantAdd attributes, type and example ### Example: ``` -$updateChatParticipantAdd = ['_' => updateChatParticipantAdd', 'chat_id' => int, 'user_id' => int, 'inviter_id' => int, 'date' => int, 'version' => int, ]; +$updateChatParticipantAdd = ['_' => updateChatParticipantAdd, 'chat_id' => int, 'user_id' => int, 'inviter_id' => int, 'date' => int, 'version' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateChatParticipantAdmin.md b/docs/API_docs/constructors/updateChatParticipantAdmin.md index c5e47beb..06e90202 100644 --- a/docs/API_docs/constructors/updateChatParticipantAdmin.md +++ b/docs/API_docs/constructors/updateChatParticipantAdmin.md @@ -24,5 +24,5 @@ description: updateChatParticipantAdmin attributes, type and example ### Example: ``` -$updateChatParticipantAdmin = ['_' => updateChatParticipantAdmin', 'chat_id' => int, 'user_id' => int, 'is_admin' => Bool, 'version' => int, ]; +$updateChatParticipantAdmin = ['_' => updateChatParticipantAdmin, 'chat_id' => int, 'user_id' => int, 'is_admin' => Bool, 'version' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateChatParticipantDelete.md b/docs/API_docs/constructors/updateChatParticipantDelete.md index 5eac02f9..a4cd6828 100644 --- a/docs/API_docs/constructors/updateChatParticipantDelete.md +++ b/docs/API_docs/constructors/updateChatParticipantDelete.md @@ -23,5 +23,5 @@ description: updateChatParticipantDelete attributes, type and example ### Example: ``` -$updateChatParticipantDelete = ['_' => updateChatParticipantDelete', 'chat_id' => int, 'user_id' => int, 'version' => int, ]; +$updateChatParticipantDelete = ['_' => updateChatParticipantDelete, 'chat_id' => int, 'user_id' => int, 'version' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateChatParticipants.md b/docs/API_docs/constructors/updateChatParticipants.md index 5d011b27..235b21f4 100644 --- a/docs/API_docs/constructors/updateChatParticipants.md +++ b/docs/API_docs/constructors/updateChatParticipants.md @@ -21,5 +21,5 @@ description: updateChatParticipants attributes, type and example ### Example: ``` -$updateChatParticipants = ['_' => updateChatParticipants', 'participants' => ChatParticipants, ]; +$updateChatParticipants = ['_' => updateChatParticipants, 'participants' => ChatParticipants, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateChatUserTyping.md b/docs/API_docs/constructors/updateChatUserTyping.md index c80e1cc7..6c312d46 100644 --- a/docs/API_docs/constructors/updateChatUserTyping.md +++ b/docs/API_docs/constructors/updateChatUserTyping.md @@ -23,5 +23,5 @@ description: updateChatUserTyping attributes, type and example ### Example: ``` -$updateChatUserTyping = ['_' => updateChatUserTyping', 'chat_id' => int, 'user_id' => int, 'action' => SendMessageAction, ]; +$updateChatUserTyping = ['_' => updateChatUserTyping, 'chat_id' => int, 'user_id' => int, 'action' => SendMessageAction, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateConfig.md b/docs/API_docs/constructors/updateConfig.md index 38b30f69..1dbf1684 100644 --- a/docs/API_docs/constructors/updateConfig.md +++ b/docs/API_docs/constructors/updateConfig.md @@ -16,5 +16,5 @@ description: updateConfig attributes, type and example ### Example: ``` -$updateConfig = ['_' => updateConfig', ]; +$updateConfig = ['_' => updateConfig, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateContactLink.md b/docs/API_docs/constructors/updateContactLink.md index 45ad7d33..4059dbc5 100644 --- a/docs/API_docs/constructors/updateContactLink.md +++ b/docs/API_docs/constructors/updateContactLink.md @@ -23,5 +23,5 @@ description: updateContactLink attributes, type and example ### Example: ``` -$updateContactLink = ['_' => updateContactLink', 'user_id' => int, 'my_link' => ContactLink, 'foreign_link' => ContactLink, ]; +$updateContactLink = ['_' => updateContactLink, 'user_id' => int, 'my_link' => ContactLink, 'foreign_link' => ContactLink, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateContactRegistered.md b/docs/API_docs/constructors/updateContactRegistered.md index ee86dc8f..b2a4a183 100644 --- a/docs/API_docs/constructors/updateContactRegistered.md +++ b/docs/API_docs/constructors/updateContactRegistered.md @@ -22,5 +22,5 @@ description: updateContactRegistered attributes, type and example ### Example: ``` -$updateContactRegistered = ['_' => updateContactRegistered', 'user_id' => int, 'date' => int, ]; +$updateContactRegistered = ['_' => updateContactRegistered, 'user_id' => int, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateDcOptions.md b/docs/API_docs/constructors/updateDcOptions.md index afdebfa2..1edbf548 100644 --- a/docs/API_docs/constructors/updateDcOptions.md +++ b/docs/API_docs/constructors/updateDcOptions.md @@ -21,5 +21,5 @@ description: updateDcOptions attributes, type and example ### Example: ``` -$updateDcOptions = ['_' => updateDcOptions', 'dc_options' => [Vector t], ]; +$updateDcOptions = ['_' => updateDcOptions, 'dc_options' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateDeleteChannelMessages.md b/docs/API_docs/constructors/updateDeleteChannelMessages.md index 963094ea..8827a92f 100644 --- a/docs/API_docs/constructors/updateDeleteChannelMessages.md +++ b/docs/API_docs/constructors/updateDeleteChannelMessages.md @@ -24,5 +24,5 @@ description: updateDeleteChannelMessages attributes, type and example ### Example: ``` -$updateDeleteChannelMessages = ['_' => updateDeleteChannelMessages', 'channel_id' => int, 'messages' => [Vector t], 'pts' => int, 'pts_count' => int, ]; +$updateDeleteChannelMessages = ['_' => updateDeleteChannelMessages, 'channel_id' => int, 'messages' => [Vector t], 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateDeleteMessages.md b/docs/API_docs/constructors/updateDeleteMessages.md index f1bc5701..680f1d4d 100644 --- a/docs/API_docs/constructors/updateDeleteMessages.md +++ b/docs/API_docs/constructors/updateDeleteMessages.md @@ -23,5 +23,5 @@ description: updateDeleteMessages attributes, type and example ### Example: ``` -$updateDeleteMessages = ['_' => updateDeleteMessages', 'messages' => [Vector t], 'pts' => int, 'pts_count' => int, ]; +$updateDeleteMessages = ['_' => updateDeleteMessages, 'messages' => [Vector t], 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateDraftMessage.md b/docs/API_docs/constructors/updateDraftMessage.md index d0de911a..e66dd7aa 100644 --- a/docs/API_docs/constructors/updateDraftMessage.md +++ b/docs/API_docs/constructors/updateDraftMessage.md @@ -22,5 +22,5 @@ description: updateDraftMessage attributes, type and example ### Example: ``` -$updateDraftMessage = ['_' => updateDraftMessage', 'peer' => Peer, 'draft' => DraftMessage, ]; +$updateDraftMessage = ['_' => updateDraftMessage, 'peer' => Peer, 'draft' => DraftMessage, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateEditChannelMessage.md b/docs/API_docs/constructors/updateEditChannelMessage.md index 5a1e8d9d..4baa94ec 100644 --- a/docs/API_docs/constructors/updateEditChannelMessage.md +++ b/docs/API_docs/constructors/updateEditChannelMessage.md @@ -23,5 +23,5 @@ description: updateEditChannelMessage attributes, type and example ### Example: ``` -$updateEditChannelMessage = ['_' => updateEditChannelMessage', 'message' => Message, 'pts' => int, 'pts_count' => int, ]; +$updateEditChannelMessage = ['_' => updateEditChannelMessage, 'message' => Message, 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateEditMessage.md b/docs/API_docs/constructors/updateEditMessage.md index f299018a..da9c2e45 100644 --- a/docs/API_docs/constructors/updateEditMessage.md +++ b/docs/API_docs/constructors/updateEditMessage.md @@ -23,5 +23,5 @@ description: updateEditMessage attributes, type and example ### Example: ``` -$updateEditMessage = ['_' => updateEditMessage', 'message' => Message, 'pts' => int, 'pts_count' => int, ]; +$updateEditMessage = ['_' => updateEditMessage, 'message' => Message, 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateEncryptedChatTyping.md b/docs/API_docs/constructors/updateEncryptedChatTyping.md index 9e3c9311..c69df568 100644 --- a/docs/API_docs/constructors/updateEncryptedChatTyping.md +++ b/docs/API_docs/constructors/updateEncryptedChatTyping.md @@ -21,5 +21,5 @@ description: updateEncryptedChatTyping attributes, type and example ### Example: ``` -$updateEncryptedChatTyping = ['_' => updateEncryptedChatTyping', 'chat_id' => int, ]; +$updateEncryptedChatTyping = ['_' => updateEncryptedChatTyping, 'chat_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateEncryptedMessagesRead.md b/docs/API_docs/constructors/updateEncryptedMessagesRead.md index 67b0e9ee..189e8658 100644 --- a/docs/API_docs/constructors/updateEncryptedMessagesRead.md +++ b/docs/API_docs/constructors/updateEncryptedMessagesRead.md @@ -23,5 +23,5 @@ description: updateEncryptedMessagesRead attributes, type and example ### Example: ``` -$updateEncryptedMessagesRead = ['_' => updateEncryptedMessagesRead', 'chat_id' => int, 'max_date' => int, 'date' => int, ]; +$updateEncryptedMessagesRead = ['_' => updateEncryptedMessagesRead, 'chat_id' => int, 'max_date' => int, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateEncryption.md b/docs/API_docs/constructors/updateEncryption.md index 6d64bfeb..d83cf9de 100644 --- a/docs/API_docs/constructors/updateEncryption.md +++ b/docs/API_docs/constructors/updateEncryption.md @@ -22,5 +22,5 @@ description: updateEncryption attributes, type and example ### Example: ``` -$updateEncryption = ['_' => updateEncryption', 'chat' => EncryptedChat, 'date' => int, ]; +$updateEncryption = ['_' => updateEncryption, 'chat' => EncryptedChat, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateInlineBotCallbackQuery.md b/docs/API_docs/constructors/updateInlineBotCallbackQuery.md index 4cde9e27..4a09902f 100644 --- a/docs/API_docs/constructors/updateInlineBotCallbackQuery.md +++ b/docs/API_docs/constructors/updateInlineBotCallbackQuery.md @@ -26,5 +26,5 @@ description: updateInlineBotCallbackQuery attributes, type and example ### Example: ``` -$updateInlineBotCallbackQuery = ['_' => updateInlineBotCallbackQuery', 'query_id' => long, 'user_id' => int, 'msg_id' => InputBotInlineMessageID, 'chat_instance' => long, 'data' => bytes, 'game_short_name' => string, ]; +$updateInlineBotCallbackQuery = ['_' => updateInlineBotCallbackQuery, 'query_id' => long, 'user_id' => int, 'msg_id' => InputBotInlineMessageID, 'chat_instance' => long, 'data' => bytes, 'game_short_name' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateMessageID.md b/docs/API_docs/constructors/updateMessageID.md index 65073e4a..f5e97f3d 100644 --- a/docs/API_docs/constructors/updateMessageID.md +++ b/docs/API_docs/constructors/updateMessageID.md @@ -21,5 +21,5 @@ description: updateMessageID attributes, type and example ### Example: ``` -$updateMessageID = ['_' => updateMessageID', 'id' => int, ]; +$updateMessageID = ['_' => updateMessageID, 'id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateNewAuthorization.md b/docs/API_docs/constructors/updateNewAuthorization.md index f1afa308..2ef14d3b 100644 --- a/docs/API_docs/constructors/updateNewAuthorization.md +++ b/docs/API_docs/constructors/updateNewAuthorization.md @@ -24,5 +24,5 @@ description: updateNewAuthorization attributes, type and example ### Example: ``` -$updateNewAuthorization = ['_' => updateNewAuthorization', 'auth_key_id' => long, 'date' => int, 'device' => string, 'location' => string, ]; +$updateNewAuthorization = ['_' => updateNewAuthorization, 'auth_key_id' => long, 'date' => int, 'device' => string, 'location' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateNewChannelMessage.md b/docs/API_docs/constructors/updateNewChannelMessage.md index e6cb0dd0..ca9ec9c7 100644 --- a/docs/API_docs/constructors/updateNewChannelMessage.md +++ b/docs/API_docs/constructors/updateNewChannelMessage.md @@ -23,5 +23,5 @@ description: updateNewChannelMessage attributes, type and example ### Example: ``` -$updateNewChannelMessage = ['_' => updateNewChannelMessage', 'message' => Message, 'pts' => int, 'pts_count' => int, ]; +$updateNewChannelMessage = ['_' => updateNewChannelMessage, 'message' => Message, 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateNewEncryptedMessage.md b/docs/API_docs/constructors/updateNewEncryptedMessage.md index bfcce5c3..e9c87523 100644 --- a/docs/API_docs/constructors/updateNewEncryptedMessage.md +++ b/docs/API_docs/constructors/updateNewEncryptedMessage.md @@ -22,5 +22,5 @@ description: updateNewEncryptedMessage attributes, type and example ### Example: ``` -$updateNewEncryptedMessage = ['_' => updateNewEncryptedMessage', 'message' => EncryptedMessage, 'qts' => int, ]; +$updateNewEncryptedMessage = ['_' => updateNewEncryptedMessage, 'message' => EncryptedMessage, 'qts' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateNewMessage.md b/docs/API_docs/constructors/updateNewMessage.md index 7e83ca29..f5a257bf 100644 --- a/docs/API_docs/constructors/updateNewMessage.md +++ b/docs/API_docs/constructors/updateNewMessage.md @@ -23,5 +23,5 @@ description: updateNewMessage attributes, type and example ### Example: ``` -$updateNewMessage = ['_' => updateNewMessage', 'message' => Message, 'pts' => int, 'pts_count' => int, ]; +$updateNewMessage = ['_' => updateNewMessage, 'message' => Message, 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateNewStickerSet.md b/docs/API_docs/constructors/updateNewStickerSet.md index 17f47a6b..eee49425 100644 --- a/docs/API_docs/constructors/updateNewStickerSet.md +++ b/docs/API_docs/constructors/updateNewStickerSet.md @@ -21,5 +21,5 @@ description: updateNewStickerSet attributes, type and example ### Example: ``` -$updateNewStickerSet = ['_' => updateNewStickerSet', 'stickerset' => messages.StickerSet, ]; +$updateNewStickerSet = ['_' => updateNewStickerSet, 'stickerset' => messages.StickerSet, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateNotifySettings.md b/docs/API_docs/constructors/updateNotifySettings.md index b68eaa0e..3ae91636 100644 --- a/docs/API_docs/constructors/updateNotifySettings.md +++ b/docs/API_docs/constructors/updateNotifySettings.md @@ -22,5 +22,5 @@ description: updateNotifySettings attributes, type and example ### Example: ``` -$updateNotifySettings = ['_' => updateNotifySettings', 'peer' => NotifyPeer, 'notify_settings' => PeerNotifySettings, ]; +$updateNotifySettings = ['_' => updateNotifySettings, 'peer' => NotifyPeer, 'notify_settings' => PeerNotifySettings, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updatePrivacy.md b/docs/API_docs/constructors/updatePrivacy.md index deda7e33..58bf1667 100644 --- a/docs/API_docs/constructors/updatePrivacy.md +++ b/docs/API_docs/constructors/updatePrivacy.md @@ -22,5 +22,5 @@ description: updatePrivacy attributes, type and example ### Example: ``` -$updatePrivacy = ['_' => updatePrivacy', 'key' => PrivacyKey, 'rules' => [Vector t], ]; +$updatePrivacy = ['_' => updatePrivacy, 'key' => PrivacyKey, 'rules' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updatePtsChanged.md b/docs/API_docs/constructors/updatePtsChanged.md index b88e4eff..81f23a4a 100644 --- a/docs/API_docs/constructors/updatePtsChanged.md +++ b/docs/API_docs/constructors/updatePtsChanged.md @@ -16,5 +16,5 @@ description: updatePtsChanged attributes, type and example ### Example: ``` -$updatePtsChanged = ['_' => updatePtsChanged', ]; +$updatePtsChanged = ['_' => updatePtsChanged, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateReadChannelInbox.md b/docs/API_docs/constructors/updateReadChannelInbox.md index ca9f428d..73398f4d 100644 --- a/docs/API_docs/constructors/updateReadChannelInbox.md +++ b/docs/API_docs/constructors/updateReadChannelInbox.md @@ -22,5 +22,5 @@ description: updateReadChannelInbox attributes, type and example ### Example: ``` -$updateReadChannelInbox = ['_' => updateReadChannelInbox', 'channel_id' => int, 'max_id' => int, ]; +$updateReadChannelInbox = ['_' => updateReadChannelInbox, 'channel_id' => int, 'max_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateReadChannelOutbox.md b/docs/API_docs/constructors/updateReadChannelOutbox.md index ab44e7ff..196efc69 100644 --- a/docs/API_docs/constructors/updateReadChannelOutbox.md +++ b/docs/API_docs/constructors/updateReadChannelOutbox.md @@ -22,5 +22,5 @@ description: updateReadChannelOutbox attributes, type and example ### Example: ``` -$updateReadChannelOutbox = ['_' => updateReadChannelOutbox', 'channel_id' => int, 'max_id' => int, ]; +$updateReadChannelOutbox = ['_' => updateReadChannelOutbox, 'channel_id' => int, 'max_id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateReadFeaturedStickers.md b/docs/API_docs/constructors/updateReadFeaturedStickers.md index 7a7bc042..b9753aa3 100644 --- a/docs/API_docs/constructors/updateReadFeaturedStickers.md +++ b/docs/API_docs/constructors/updateReadFeaturedStickers.md @@ -16,5 +16,5 @@ description: updateReadFeaturedStickers attributes, type and example ### Example: ``` -$updateReadFeaturedStickers = ['_' => updateReadFeaturedStickers', ]; +$updateReadFeaturedStickers = ['_' => updateReadFeaturedStickers, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateReadHistoryInbox.md b/docs/API_docs/constructors/updateReadHistoryInbox.md index b196f820..55291b85 100644 --- a/docs/API_docs/constructors/updateReadHistoryInbox.md +++ b/docs/API_docs/constructors/updateReadHistoryInbox.md @@ -24,5 +24,5 @@ description: updateReadHistoryInbox attributes, type and example ### Example: ``` -$updateReadHistoryInbox = ['_' => updateReadHistoryInbox', 'peer' => Peer, 'max_id' => int, 'pts' => int, 'pts_count' => int, ]; +$updateReadHistoryInbox = ['_' => updateReadHistoryInbox, 'peer' => Peer, 'max_id' => int, 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateReadHistoryOutbox.md b/docs/API_docs/constructors/updateReadHistoryOutbox.md index 8bd543a5..e4aac6c8 100644 --- a/docs/API_docs/constructors/updateReadHistoryOutbox.md +++ b/docs/API_docs/constructors/updateReadHistoryOutbox.md @@ -24,5 +24,5 @@ description: updateReadHistoryOutbox attributes, type and example ### Example: ``` -$updateReadHistoryOutbox = ['_' => updateReadHistoryOutbox', 'peer' => Peer, 'max_id' => int, 'pts' => int, 'pts_count' => int, ]; +$updateReadHistoryOutbox = ['_' => updateReadHistoryOutbox, 'peer' => Peer, 'max_id' => int, 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateReadMessagesContents.md b/docs/API_docs/constructors/updateReadMessagesContents.md index f0e2d97a..e73c4136 100644 --- a/docs/API_docs/constructors/updateReadMessagesContents.md +++ b/docs/API_docs/constructors/updateReadMessagesContents.md @@ -23,5 +23,5 @@ description: updateReadMessagesContents attributes, type and example ### Example: ``` -$updateReadMessagesContents = ['_' => updateReadMessagesContents', 'messages' => [Vector t], 'pts' => int, 'pts_count' => int, ]; +$updateReadMessagesContents = ['_' => updateReadMessagesContents, 'messages' => [Vector t], 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateRecentStickers.md b/docs/API_docs/constructors/updateRecentStickers.md index 73004182..ad3d76e4 100644 --- a/docs/API_docs/constructors/updateRecentStickers.md +++ b/docs/API_docs/constructors/updateRecentStickers.md @@ -16,5 +16,5 @@ description: updateRecentStickers attributes, type and example ### Example: ``` -$updateRecentStickers = ['_' => updateRecentStickers', ]; +$updateRecentStickers = ['_' => updateRecentStickers, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateSavedGifs.md b/docs/API_docs/constructors/updateSavedGifs.md index dae680d8..d7f116a3 100644 --- a/docs/API_docs/constructors/updateSavedGifs.md +++ b/docs/API_docs/constructors/updateSavedGifs.md @@ -16,5 +16,5 @@ description: updateSavedGifs attributes, type and example ### Example: ``` -$updateSavedGifs = ['_' => updateSavedGifs', ]; +$updateSavedGifs = ['_' => updateSavedGifs, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateServiceNotification.md b/docs/API_docs/constructors/updateServiceNotification.md index b80c879d..f610dcb8 100644 --- a/docs/API_docs/constructors/updateServiceNotification.md +++ b/docs/API_docs/constructors/updateServiceNotification.md @@ -24,5 +24,5 @@ description: updateServiceNotification attributes, type and example ### Example: ``` -$updateServiceNotification = ['_' => updateServiceNotification', 'type' => string, 'message' => string, 'media' => MessageMedia, 'popup' => Bool, ]; +$updateServiceNotification = ['_' => updateServiceNotification, 'type' => string, 'message' => string, 'media' => MessageMedia, 'popup' => Bool, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateShort.md b/docs/API_docs/constructors/updateShort.md index 9eb75a91..de8deea6 100644 --- a/docs/API_docs/constructors/updateShort.md +++ b/docs/API_docs/constructors/updateShort.md @@ -22,5 +22,5 @@ description: updateShort attributes, type and example ### Example: ``` -$updateShort = ['_' => updateShort', 'update' => Update, 'date' => int, ]; +$updateShort = ['_' => updateShort, 'update' => Update, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateShortChatMessage.md b/docs/API_docs/constructors/updateShortChatMessage.md index af3ae203..e1aa74d7 100644 --- a/docs/API_docs/constructors/updateShortChatMessage.md +++ b/docs/API_docs/constructors/updateShortChatMessage.md @@ -35,5 +35,5 @@ description: updateShortChatMessage attributes, type and example ### Example: ``` -$updateShortChatMessage = ['_' => updateShortChatMessage', 'out' => true, 'mentioned' => true, 'media_unread' => true, 'silent' => true, 'id' => int, 'from_id' => int, 'chat_id' => int, 'message' => string, 'pts' => int, 'pts_count' => int, 'date' => int, 'fwd_from' => MessageFwdHeader, 'via_bot_id' => int, 'reply_to_msg_id' => int, 'entities' => [Vector t], ]; +$updateShortChatMessage = ['_' => updateShortChatMessage, 'out' => true, 'mentioned' => true, 'media_unread' => true, 'silent' => true, 'id' => int, 'from_id' => int, 'chat_id' => int, 'message' => string, 'pts' => int, 'pts_count' => int, 'date' => int, 'fwd_from' => MessageFwdHeader, 'via_bot_id' => int, 'reply_to_msg_id' => int, 'entities' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateShortMessage.md b/docs/API_docs/constructors/updateShortMessage.md index b62ba5d6..e4b79bc0 100644 --- a/docs/API_docs/constructors/updateShortMessage.md +++ b/docs/API_docs/constructors/updateShortMessage.md @@ -34,5 +34,5 @@ description: updateShortMessage attributes, type and example ### Example: ``` -$updateShortMessage = ['_' => updateShortMessage', 'out' => true, 'mentioned' => true, 'media_unread' => true, 'silent' => true, 'id' => int, 'user_id' => int, 'message' => string, 'pts' => int, 'pts_count' => int, 'date' => int, 'fwd_from' => MessageFwdHeader, 'via_bot_id' => int, 'reply_to_msg_id' => int, 'entities' => [Vector t], ]; +$updateShortMessage = ['_' => updateShortMessage, 'out' => true, 'mentioned' => true, 'media_unread' => true, 'silent' => true, 'id' => int, 'user_id' => int, 'message' => string, 'pts' => int, 'pts_count' => int, 'date' => int, 'fwd_from' => MessageFwdHeader, 'via_bot_id' => int, 'reply_to_msg_id' => int, 'entities' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateShortSentMessage.md b/docs/API_docs/constructors/updateShortSentMessage.md index b445174a..82cf6bf0 100644 --- a/docs/API_docs/constructors/updateShortSentMessage.md +++ b/docs/API_docs/constructors/updateShortSentMessage.md @@ -27,5 +27,5 @@ description: updateShortSentMessage attributes, type and example ### Example: ``` -$updateShortSentMessage = ['_' => updateShortSentMessage', 'out' => true, 'id' => int, 'pts' => int, 'pts_count' => int, 'date' => int, 'media' => MessageMedia, 'entities' => [Vector t], ]; +$updateShortSentMessage = ['_' => updateShortSentMessage, 'out' => true, 'id' => int, 'pts' => int, 'pts_count' => int, 'date' => int, 'media' => MessageMedia, 'entities' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateStickerSets.md b/docs/API_docs/constructors/updateStickerSets.md index 0b6f8a6b..2aa0e609 100644 --- a/docs/API_docs/constructors/updateStickerSets.md +++ b/docs/API_docs/constructors/updateStickerSets.md @@ -16,5 +16,5 @@ description: updateStickerSets attributes, type and example ### Example: ``` -$updateStickerSets = ['_' => updateStickerSets', ]; +$updateStickerSets = ['_' => updateStickerSets, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateStickerSetsOrder.md b/docs/API_docs/constructors/updateStickerSetsOrder.md index fb5fe861..2da11e87 100644 --- a/docs/API_docs/constructors/updateStickerSetsOrder.md +++ b/docs/API_docs/constructors/updateStickerSetsOrder.md @@ -22,5 +22,5 @@ description: updateStickerSetsOrder attributes, type and example ### Example: ``` -$updateStickerSetsOrder = ['_' => updateStickerSetsOrder', 'masks' => true, 'order' => [Vector t], ]; +$updateStickerSetsOrder = ['_' => updateStickerSetsOrder, 'masks' => true, 'order' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateUserBlocked.md b/docs/API_docs/constructors/updateUserBlocked.md index 5b300960..b3289353 100644 --- a/docs/API_docs/constructors/updateUserBlocked.md +++ b/docs/API_docs/constructors/updateUserBlocked.md @@ -22,5 +22,5 @@ description: updateUserBlocked attributes, type and example ### Example: ``` -$updateUserBlocked = ['_' => updateUserBlocked', 'user_id' => int, 'blocked' => Bool, ]; +$updateUserBlocked = ['_' => updateUserBlocked, 'user_id' => int, 'blocked' => Bool, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateUserName.md b/docs/API_docs/constructors/updateUserName.md index e991ec3e..80f206f7 100644 --- a/docs/API_docs/constructors/updateUserName.md +++ b/docs/API_docs/constructors/updateUserName.md @@ -24,5 +24,5 @@ description: updateUserName attributes, type and example ### Example: ``` -$updateUserName = ['_' => updateUserName', 'user_id' => int, 'first_name' => string, 'last_name' => string, 'username' => string, ]; +$updateUserName = ['_' => updateUserName, 'user_id' => int, 'first_name' => string, 'last_name' => string, 'username' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateUserPhone.md b/docs/API_docs/constructors/updateUserPhone.md index 7b048e46..33cfc812 100644 --- a/docs/API_docs/constructors/updateUserPhone.md +++ b/docs/API_docs/constructors/updateUserPhone.md @@ -22,5 +22,5 @@ description: updateUserPhone attributes, type and example ### Example: ``` -$updateUserPhone = ['_' => updateUserPhone', 'user_id' => int, 'phone' => string, ]; +$updateUserPhone = ['_' => updateUserPhone, 'user_id' => int, 'phone' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateUserPhoto.md b/docs/API_docs/constructors/updateUserPhoto.md index 2f7d1afe..90e568ed 100644 --- a/docs/API_docs/constructors/updateUserPhoto.md +++ b/docs/API_docs/constructors/updateUserPhoto.md @@ -24,5 +24,5 @@ description: updateUserPhoto attributes, type and example ### Example: ``` -$updateUserPhoto = ['_' => updateUserPhoto', 'user_id' => int, 'date' => int, 'photo' => UserProfilePhoto, 'previous' => Bool, ]; +$updateUserPhoto = ['_' => updateUserPhoto, 'user_id' => int, 'date' => int, 'photo' => UserProfilePhoto, 'previous' => Bool, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateUserStatus.md b/docs/API_docs/constructors/updateUserStatus.md index c1fe5c34..7f1631b6 100644 --- a/docs/API_docs/constructors/updateUserStatus.md +++ b/docs/API_docs/constructors/updateUserStatus.md @@ -22,5 +22,5 @@ description: updateUserStatus attributes, type and example ### Example: ``` -$updateUserStatus = ['_' => updateUserStatus', 'user_id' => int, 'status' => UserStatus, ]; +$updateUserStatus = ['_' => updateUserStatus, 'user_id' => int, 'status' => UserStatus, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateUserTyping.md b/docs/API_docs/constructors/updateUserTyping.md index e2375c2a..d75d2333 100644 --- a/docs/API_docs/constructors/updateUserTyping.md +++ b/docs/API_docs/constructors/updateUserTyping.md @@ -22,5 +22,5 @@ description: updateUserTyping attributes, type and example ### Example: ``` -$updateUserTyping = ['_' => updateUserTyping', 'user_id' => int, 'action' => SendMessageAction, ]; +$updateUserTyping = ['_' => updateUserTyping, 'user_id' => int, 'action' => SendMessageAction, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updateWebPage.md b/docs/API_docs/constructors/updateWebPage.md index 6d85fd12..ced38eed 100644 --- a/docs/API_docs/constructors/updateWebPage.md +++ b/docs/API_docs/constructors/updateWebPage.md @@ -23,5 +23,5 @@ description: updateWebPage attributes, type and example ### Example: ``` -$updateWebPage = ['_' => updateWebPage', 'webpage' => WebPage, 'pts' => int, 'pts_count' => int, ]; +$updateWebPage = ['_' => updateWebPage, 'webpage' => WebPage, 'pts' => int, 'pts_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updates.md b/docs/API_docs/constructors/updates.md index 27b1cd0b..e6ee7ea3 100644 --- a/docs/API_docs/constructors/updates.md +++ b/docs/API_docs/constructors/updates.md @@ -25,5 +25,5 @@ description: updates attributes, type and example ### Example: ``` -$updates = ['_' => updates', 'updates' => [Vector t], 'users' => [Vector t], 'chats' => [Vector t], 'date' => int, 'seq' => int, ]; +$updates = ['_' => updates, 'updates' => [Vector t], 'users' => [Vector t], 'chats' => [Vector t], 'date' => int, 'seq' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updatesCombined.md b/docs/API_docs/constructors/updatesCombined.md index 93cb2e86..537d6818 100644 --- a/docs/API_docs/constructors/updatesCombined.md +++ b/docs/API_docs/constructors/updatesCombined.md @@ -26,5 +26,5 @@ description: updatesCombined attributes, type and example ### Example: ``` -$updatesCombined = ['_' => updatesCombined', 'updates' => [Vector t], 'users' => [Vector t], 'chats' => [Vector t], 'date' => int, 'seq_start' => int, 'seq' => int, ]; +$updatesCombined = ['_' => updatesCombined, 'updates' => [Vector t], 'users' => [Vector t], 'chats' => [Vector t], 'date' => int, 'seq_start' => int, 'seq' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updatesTooLong.md b/docs/API_docs/constructors/updatesTooLong.md index fac7a128..e1cb3d0e 100644 --- a/docs/API_docs/constructors/updatesTooLong.md +++ b/docs/API_docs/constructors/updatesTooLong.md @@ -16,5 +16,5 @@ description: updatesTooLong attributes, type and example ### Example: ``` -$updatesTooLong = ['_' => updatesTooLong', ]; +$updatesTooLong = ['_' => updatesTooLong, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updates_channelDifference.md b/docs/API_docs/constructors/updates_channelDifference.md index 16bce2bb..1a456ec2 100644 --- a/docs/API_docs/constructors/updates_channelDifference.md +++ b/docs/API_docs/constructors/updates_channelDifference.md @@ -27,5 +27,5 @@ description: updates_channelDifference attributes, type and example ### Example: ``` -$updates_channelDifference = ['_' => updates_channelDifference', 'final' => true, 'pts' => int, 'timeout' => int, 'new_messages' => [Vector t], 'other_updates' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; +$updates_channelDifference = ['_' => updates_channelDifference, 'final' => true, 'pts' => int, 'timeout' => int, 'new_messages' => [Vector t], 'other_updates' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updates_channelDifferenceEmpty.md b/docs/API_docs/constructors/updates_channelDifferenceEmpty.md index c0321ac2..5bc4be72 100644 --- a/docs/API_docs/constructors/updates_channelDifferenceEmpty.md +++ b/docs/API_docs/constructors/updates_channelDifferenceEmpty.md @@ -23,5 +23,5 @@ description: updates_channelDifferenceEmpty attributes, type and example ### Example: ``` -$updates_channelDifferenceEmpty = ['_' => updates_channelDifferenceEmpty', 'final' => true, 'pts' => int, 'timeout' => int, ]; +$updates_channelDifferenceEmpty = ['_' => updates_channelDifferenceEmpty, 'final' => true, 'pts' => int, 'timeout' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updates_channelDifferenceTooLong.md b/docs/API_docs/constructors/updates_channelDifferenceTooLong.md index 7ef97fe2..cdaa38a5 100644 --- a/docs/API_docs/constructors/updates_channelDifferenceTooLong.md +++ b/docs/API_docs/constructors/updates_channelDifferenceTooLong.md @@ -30,5 +30,5 @@ description: updates_channelDifferenceTooLong attributes, type and example ### Example: ``` -$updates_channelDifferenceTooLong = ['_' => updates_channelDifferenceTooLong', 'final' => true, 'pts' => int, 'timeout' => int, 'top_message' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; +$updates_channelDifferenceTooLong = ['_' => updates_channelDifferenceTooLong, 'final' => true, 'pts' => int, 'timeout' => int, 'top_message' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'messages' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updates_difference.md b/docs/API_docs/constructors/updates_difference.md index 5d07da4e..9587a7af 100644 --- a/docs/API_docs/constructors/updates_difference.md +++ b/docs/API_docs/constructors/updates_difference.md @@ -26,5 +26,5 @@ description: updates_difference attributes, type and example ### Example: ``` -$updates_difference = ['_' => updates_difference', 'new_messages' => [Vector t], 'new_encrypted_messages' => [Vector t], 'other_updates' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], 'state' => updates.State, ]; +$updates_difference = ['_' => updates_difference, 'new_messages' => [Vector t], 'new_encrypted_messages' => [Vector t], 'other_updates' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], 'state' => updates.State, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updates_differenceEmpty.md b/docs/API_docs/constructors/updates_differenceEmpty.md index d2aca234..ef11974e 100644 --- a/docs/API_docs/constructors/updates_differenceEmpty.md +++ b/docs/API_docs/constructors/updates_differenceEmpty.md @@ -22,5 +22,5 @@ description: updates_differenceEmpty attributes, type and example ### Example: ``` -$updates_differenceEmpty = ['_' => updates_differenceEmpty', 'date' => int, 'seq' => int, ]; +$updates_differenceEmpty = ['_' => updates_differenceEmpty, 'date' => int, 'seq' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updates_differenceSlice.md b/docs/API_docs/constructors/updates_differenceSlice.md index 5cd2d2f7..d7a10fbd 100644 --- a/docs/API_docs/constructors/updates_differenceSlice.md +++ b/docs/API_docs/constructors/updates_differenceSlice.md @@ -26,5 +26,5 @@ description: updates_differenceSlice attributes, type and example ### Example: ``` -$updates_differenceSlice = ['_' => updates_differenceSlice', 'new_messages' => [Vector t], 'new_encrypted_messages' => [Vector t], 'other_updates' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], 'intermediate_state' => updates.State, ]; +$updates_differenceSlice = ['_' => updates_differenceSlice, 'new_messages' => [Vector t], 'new_encrypted_messages' => [Vector t], 'other_updates' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], 'intermediate_state' => updates.State, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/updates_state.md b/docs/API_docs/constructors/updates_state.md index 520f5585..00af066b 100644 --- a/docs/API_docs/constructors/updates_state.md +++ b/docs/API_docs/constructors/updates_state.md @@ -25,5 +25,5 @@ description: updates_state attributes, type and example ### Example: ``` -$updates_state = ['_' => updates_state', 'pts' => int, 'qts' => int, 'date' => int, 'seq' => int, 'unread_count' => int, ]; +$updates_state = ['_' => updates_state, 'pts' => int, 'qts' => int, 'date' => int, 'seq' => int, 'unread_count' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/upload_file.md b/docs/API_docs/constructors/upload_file.md index f9ca51d6..b43e1a64 100644 --- a/docs/API_docs/constructors/upload_file.md +++ b/docs/API_docs/constructors/upload_file.md @@ -23,5 +23,5 @@ description: upload_file attributes, type and example ### Example: ``` -$upload_file = ['_' => upload_file', 'type' => storage.FileType, 'mtime' => int, 'bytes' => bytes, ]; +$upload_file = ['_' => upload_file, 'type' => storage.FileType, 'mtime' => int, 'bytes' => bytes, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/user.md b/docs/API_docs/constructors/user.md index 8c88dc9e..81f07914 100644 --- a/docs/API_docs/constructors/user.md +++ b/docs/API_docs/constructors/user.md @@ -42,5 +42,5 @@ description: user attributes, type and example ### Example: ``` -$user = ['_' => user', 'self' => true, 'contact' => true, 'mutual_contact' => true, 'deleted' => true, 'bot' => true, 'bot_chat_history' => true, 'bot_nochats' => true, 'verified' => true, 'restricted' => true, 'min' => true, 'bot_inline_geo' => true, 'id' => int, 'access_hash' => long, 'first_name' => string, 'last_name' => string, 'username' => string, 'phone' => string, 'photo' => UserProfilePhoto, 'status' => UserStatus, 'bot_info_version' => int, 'restriction_reason' => string, 'bot_inline_placeholder' => string, ]; +$user = ['_' => user, 'self' => true, 'contact' => true, 'mutual_contact' => true, 'deleted' => true, 'bot' => true, 'bot_chat_history' => true, 'bot_nochats' => true, 'verified' => true, 'restricted' => true, 'min' => true, 'bot_inline_geo' => true, 'id' => int, 'access_hash' => long, 'first_name' => string, 'last_name' => string, 'username' => string, 'phone' => string, 'photo' => UserProfilePhoto, 'status' => UserStatus, 'bot_info_version' => int, 'restriction_reason' => string, 'bot_inline_placeholder' => string, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/userEmpty.md b/docs/API_docs/constructors/userEmpty.md index ced8112b..b5f3ef63 100644 --- a/docs/API_docs/constructors/userEmpty.md +++ b/docs/API_docs/constructors/userEmpty.md @@ -21,5 +21,5 @@ description: userEmpty attributes, type and example ### Example: ``` -$userEmpty = ['_' => userEmpty', 'id' => int, ]; +$userEmpty = ['_' => userEmpty, 'id' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/userFull.md b/docs/API_docs/constructors/userFull.md index fae524f2..860e6b3b 100644 --- a/docs/API_docs/constructors/userFull.md +++ b/docs/API_docs/constructors/userFull.md @@ -27,5 +27,5 @@ description: userFull attributes, type and example ### Example: ``` -$userFull = ['_' => userFull', 'blocked' => true, 'user' => User, 'about' => string, 'link' => contacts.Link, 'profile_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'bot_info' => BotInfo, ]; +$userFull = ['_' => userFull, 'blocked' => true, 'user' => User, 'about' => string, 'link' => contacts.Link, 'profile_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'bot_info' => BotInfo, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/userProfilePhoto.md b/docs/API_docs/constructors/userProfilePhoto.md index 28fcf240..03ff48f8 100644 --- a/docs/API_docs/constructors/userProfilePhoto.md +++ b/docs/API_docs/constructors/userProfilePhoto.md @@ -23,5 +23,5 @@ description: userProfilePhoto attributes, type and example ### Example: ``` -$userProfilePhoto = ['_' => userProfilePhoto', 'photo_id' => long, 'photo_small' => FileLocation, 'photo_big' => FileLocation, ]; +$userProfilePhoto = ['_' => userProfilePhoto, 'photo_id' => long, 'photo_small' => FileLocation, 'photo_big' => FileLocation, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/userProfilePhotoEmpty.md b/docs/API_docs/constructors/userProfilePhotoEmpty.md index d896ea97..ce57cdc3 100644 --- a/docs/API_docs/constructors/userProfilePhotoEmpty.md +++ b/docs/API_docs/constructors/userProfilePhotoEmpty.md @@ -16,5 +16,5 @@ description: userProfilePhotoEmpty attributes, type and example ### Example: ``` -$userProfilePhotoEmpty = ['_' => userProfilePhotoEmpty', ]; +$userProfilePhotoEmpty = ['_' => userProfilePhotoEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/userStatusEmpty.md b/docs/API_docs/constructors/userStatusEmpty.md index 2843b316..777c34ee 100644 --- a/docs/API_docs/constructors/userStatusEmpty.md +++ b/docs/API_docs/constructors/userStatusEmpty.md @@ -16,5 +16,5 @@ description: userStatusEmpty attributes, type and example ### Example: ``` -$userStatusEmpty = ['_' => userStatusEmpty', ]; +$userStatusEmpty = ['_' => userStatusEmpty, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/userStatusLastMonth.md b/docs/API_docs/constructors/userStatusLastMonth.md index b4746406..14e240a1 100644 --- a/docs/API_docs/constructors/userStatusLastMonth.md +++ b/docs/API_docs/constructors/userStatusLastMonth.md @@ -16,5 +16,5 @@ description: userStatusLastMonth attributes, type and example ### Example: ``` -$userStatusLastMonth = ['_' => userStatusLastMonth', ]; +$userStatusLastMonth = ['_' => userStatusLastMonth, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/userStatusLastWeek.md b/docs/API_docs/constructors/userStatusLastWeek.md index ba77e0b4..40d30d7e 100644 --- a/docs/API_docs/constructors/userStatusLastWeek.md +++ b/docs/API_docs/constructors/userStatusLastWeek.md @@ -16,5 +16,5 @@ description: userStatusLastWeek attributes, type and example ### Example: ``` -$userStatusLastWeek = ['_' => userStatusLastWeek', ]; +$userStatusLastWeek = ['_' => userStatusLastWeek, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/userStatusOffline.md b/docs/API_docs/constructors/userStatusOffline.md index 8209478f..f2b7703b 100644 --- a/docs/API_docs/constructors/userStatusOffline.md +++ b/docs/API_docs/constructors/userStatusOffline.md @@ -21,5 +21,5 @@ description: userStatusOffline attributes, type and example ### Example: ``` -$userStatusOffline = ['_' => userStatusOffline', 'was_online' => int, ]; +$userStatusOffline = ['_' => userStatusOffline, 'was_online' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/userStatusOnline.md b/docs/API_docs/constructors/userStatusOnline.md index 1d792a1e..733d45f6 100644 --- a/docs/API_docs/constructors/userStatusOnline.md +++ b/docs/API_docs/constructors/userStatusOnline.md @@ -21,5 +21,5 @@ description: userStatusOnline attributes, type and example ### Example: ``` -$userStatusOnline = ['_' => userStatusOnline', 'expires' => int, ]; +$userStatusOnline = ['_' => userStatusOnline, 'expires' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/userStatusRecently.md b/docs/API_docs/constructors/userStatusRecently.md index 608115cd..5be5f85c 100644 --- a/docs/API_docs/constructors/userStatusRecently.md +++ b/docs/API_docs/constructors/userStatusRecently.md @@ -16,5 +16,5 @@ description: userStatusRecently attributes, type and example ### Example: ``` -$userStatusRecently = ['_' => userStatusRecently', ]; +$userStatusRecently = ['_' => userStatusRecently, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/vector.md b/docs/API_docs/constructors/vector.md index 2e40f44d..f85b59ae 100644 --- a/docs/API_docs/constructors/vector.md +++ b/docs/API_docs/constructors/vector.md @@ -16,5 +16,5 @@ description: vector attributes, type and example ### Example: ``` -$vector = ['_' => vector', ]; +$vector = ['_' => vector, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/wallPaper.md b/docs/API_docs/constructors/wallPaper.md index 17b09d00..6933ff7a 100644 --- a/docs/API_docs/constructors/wallPaper.md +++ b/docs/API_docs/constructors/wallPaper.md @@ -24,5 +24,5 @@ description: wallPaper attributes, type and example ### Example: ``` -$wallPaper = ['_' => wallPaper', 'id' => int, 'title' => string, 'sizes' => [Vector t], 'color' => int, ]; +$wallPaper = ['_' => wallPaper, 'id' => int, 'title' => string, 'sizes' => [Vector t], 'color' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/wallPaperSolid.md b/docs/API_docs/constructors/wallPaperSolid.md index 695a8088..bd5774d9 100644 --- a/docs/API_docs/constructors/wallPaperSolid.md +++ b/docs/API_docs/constructors/wallPaperSolid.md @@ -24,5 +24,5 @@ description: wallPaperSolid attributes, type and example ### Example: ``` -$wallPaperSolid = ['_' => wallPaperSolid', 'id' => int, 'title' => string, 'bg_color' => int, 'color' => int, ]; +$wallPaperSolid = ['_' => wallPaperSolid, 'id' => int, 'title' => string, 'bg_color' => int, 'color' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/webPage.md b/docs/API_docs/constructors/webPage.md index e3bb2139..670de68f 100644 --- a/docs/API_docs/constructors/webPage.md +++ b/docs/API_docs/constructors/webPage.md @@ -35,5 +35,5 @@ description: webPage attributes, type and example ### Example: ``` -$webPage = ['_' => webPage', 'id' => long, 'url' => string, 'display_url' => string, 'type' => string, 'site_name' => string, 'title' => string, 'description' => string, 'photo' => Photo, 'embed_url' => string, 'embed_type' => string, 'embed_width' => int, 'embed_height' => int, 'duration' => int, 'author' => string, 'document' => Document, ]; +$webPage = ['_' => webPage, 'id' => long, 'url' => string, 'display_url' => string, 'type' => string, 'site_name' => string, 'title' => string, 'description' => string, 'photo' => Photo, 'embed_url' => string, 'embed_type' => string, 'embed_width' => int, 'embed_height' => int, 'duration' => int, 'author' => string, 'document' => Document, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/webPageEmpty.md b/docs/API_docs/constructors/webPageEmpty.md index 3ce5743d..29ee36cc 100644 --- a/docs/API_docs/constructors/webPageEmpty.md +++ b/docs/API_docs/constructors/webPageEmpty.md @@ -21,5 +21,5 @@ description: webPageEmpty attributes, type and example ### Example: ``` -$webPageEmpty = ['_' => webPageEmpty', 'id' => long, ]; +$webPageEmpty = ['_' => webPageEmpty, 'id' => long, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/constructors/webPagePending.md b/docs/API_docs/constructors/webPagePending.md index 92ceba5d..e7fb9503 100644 --- a/docs/API_docs/constructors/webPagePending.md +++ b/docs/API_docs/constructors/webPagePending.md @@ -22,5 +22,5 @@ description: webPagePending attributes, type and example ### Example: ``` -$webPagePending = ['_' => webPagePending', 'id' => long, 'date' => int, ]; +$webPagePending = ['_' => webPagePending, 'id' => long, 'date' => int, ]; ``` \ No newline at end of file diff --git a/docs/API_docs/methods/destroy_session.md b/docs/API_docs/methods/destroy_session.md new file mode 100644 index 00000000..243cea95 --- /dev/null +++ b/docs/API_docs/methods/destroy_session.md @@ -0,0 +1,37 @@ +--- +title: destroy_session +description: destroy_session parameters, return type and example +--- +## Method: destroy\_session +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|session\_id|[long](../types/long.md) | Required| + + +### Return type: [DestroySessionRes](../types/DestroySessionRes.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$DestroySessionRes = $MadelineProto->destroy->session(['session_id' => long, ]); +``` \ No newline at end of file diff --git a/docs/API_docs/methods/get_future_salts.md b/docs/API_docs/methods/get_future_salts.md new file mode 100644 index 00000000..b44d9dfb --- /dev/null +++ b/docs/API_docs/methods/get_future_salts.md @@ -0,0 +1,37 @@ +--- +title: get_future_salts +description: get_future_salts parameters, return type and example +--- +## Method: get\_future\_salts +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|num|[int](../types/int.md) | Required| + + +### Return type: [FutureSalts](../types/FutureSalts.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$FutureSalts = $MadelineProto->get->future->salts(['num' => int, ]); +``` \ No newline at end of file diff --git a/docs/API_docs/methods/http_wait.md b/docs/API_docs/methods/http_wait.md new file mode 100644 index 00000000..ca2e4cd2 --- /dev/null +++ b/docs/API_docs/methods/http_wait.md @@ -0,0 +1,39 @@ +--- +title: http_wait +description: http_wait parameters, return type and example +--- +## Method: http\_wait +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|max\_delay|[int](../types/int.md) | Required| +|wait\_after|[int](../types/int.md) | Required| +|max\_wait|[int](../types/int.md) | Required| + + +### Return type: [HttpWait](../types/HttpWait.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$HttpWait = $MadelineProto->http->wait(['max_delay' => int, 'wait_after' => int, 'max_wait' => int, ]); +``` \ No newline at end of file diff --git a/docs/API_docs/methods/index.md b/docs/API_docs/methods/index.md index a942ab30..c3972ecd 100644 --- a/docs/API_docs/methods/index.md +++ b/docs/API_docs/methods/index.md @@ -179,6 +179,12 @@ $MadelineProto->[contacts->search](contacts_search.md)(\['q' => [string](../type $MadelineProto->[contacts->unblock](contacts_unblock.md)(\['id' => [InputUser](../types/InputUser.md), \]) == [$Bool](../types/Bool.md) +*** +

$MadelineProto->[destroy->session](destroy_session.md)(\['session_id' => [long](../types/long.md), \]) == [$DestroySessionRes](../types/DestroySessionRes.md) + +*** +

$MadelineProto->[get->future->salts](get_future_salts.md)(\['num' => [int](../types/int.md), \]) == [$FutureSalts](../types/FutureSalts.md) + ***

$MadelineProto->[help->getAppChangelog](help_getAppChangelog.md)(\[\]) == [$help\_AppChangelog](../types/help_AppChangelog.md) @@ -196,6 +202,9 @@ $MadelineProto->[help->getTermsOfService](help_getTermsOfService.md)(\[\]) == [$ $MadelineProto->[help->saveAppLog](help_saveAppLog.md)(\['events' => \[[InputAppEvent](../types/InputAppEvent.md)\], \]) == [$Bool](../types/Bool.md) +*** +

$MadelineProto->[http->wait](http_wait.md)(\['max_delay' => [int](../types/int.md), 'wait_after' => [int](../types/int.md), 'max_wait' => [int](../types/int.md), \]) == [$HttpWait](../types/HttpWait.md) + ***

$MadelineProto->[initConnection](initConnection.md)(\['api_id' => [int](../types/int.md), 'device_model' => [string](../types/string.md), 'system_version' => [string](../types/string.md), 'app_version' => [string](../types/string.md), 'lang_code' => [string](../types/string.md), 'query' => [!X](../types/!X.md), \]) == [$X](../types/X.md) @@ -373,6 +382,22 @@ $MadelineProto->[photos->updateProfilePhoto](photos_updateProfilePhoto.md)(\['id $MadelineProto->[photos->uploadProfilePhoto](photos_uploadProfilePhoto.md)(\['file' => [InputFile](../types/InputFile.md), \]) == [$photos\_Photo](../types/photos_Photo.md) +*** +

$MadelineProto->[ping](ping.md)(\['ping_id' => [long](../types/long.md), \]) == [$Pong](../types/Pong.md) + +$MadelineProto->[ping->delay->disconnect](ping_delay_disconnect.md)(\['ping_id' => [long](../types/long.md), 'disconnect_delay' => [int](../types/int.md), \]) == [$Pong](../types/Pong.md) + +*** +

$MadelineProto->[req->DH->params](req_DH_params.md)(\['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'p' => [bytes](../types/bytes.md), 'q' => [bytes](../types/bytes.md), 'public_key_fingerprint' => [long](../types/long.md), 'encrypted_data' => [bytes](../types/bytes.md), \]) == [$Server\_DH\_Params](../types/Server_DH_Params.md) + +$MadelineProto->[req->pq](req_pq.md)(\['nonce' => [int128](../types/int128.md), \]) == [$ResPQ](../types/ResPQ.md) + +*** +

$MadelineProto->[rpc->drop->answer](rpc_drop_answer.md)(\['req_msg_id' => [long](../types/long.md), \]) == [$RpcDropAnswer](../types/RpcDropAnswer.md) + +*** +

$MadelineProto->[set->client->DH->params](set_client_DH_params.md)(\['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'encrypted_data' => [bytes](../types/bytes.md), \]) == [$Set\_client\_DH\_params\_answer](../types/Set_client_DH_params_answer.md) + ***

$MadelineProto->[updates->getChannelDifference](updates_getChannelDifference.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'filter' => [ChannelMessagesFilter](../types/ChannelMessagesFilter.md), 'pts' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) == [$updates\_ChannelDifference](../types/updates_ChannelDifference.md) diff --git a/docs/API_docs/methods/ping.md b/docs/API_docs/methods/ping.md new file mode 100644 index 00000000..77c26c18 --- /dev/null +++ b/docs/API_docs/methods/ping.md @@ -0,0 +1,37 @@ +--- +title: ping +description: ping parameters, return type and example +--- +## Method: ping +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|ping\_id|[long](../types/long.md) | Required| + + +### Return type: [Pong](../types/Pong.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Pong = $MadelineProto->ping(['ping_id' => long, ]); +``` \ No newline at end of file diff --git a/docs/API_docs/methods/ping_delay_disconnect.md b/docs/API_docs/methods/ping_delay_disconnect.md new file mode 100644 index 00000000..dbca461f --- /dev/null +++ b/docs/API_docs/methods/ping_delay_disconnect.md @@ -0,0 +1,38 @@ +--- +title: ping_delay_disconnect +description: ping_delay_disconnect parameters, return type and example +--- +## Method: ping\_delay\_disconnect +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|ping\_id|[long](../types/long.md) | Required| +|disconnect\_delay|[int](../types/int.md) | Required| + + +### Return type: [Pong](../types/Pong.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Pong = $MadelineProto->ping->delay->disconnect(['ping_id' => long, 'disconnect_delay' => int, ]); +``` \ No newline at end of file diff --git a/docs/API_docs/methods/req_DH_params.md b/docs/API_docs/methods/req_DH_params.md new file mode 100644 index 00000000..0fd1ec4d --- /dev/null +++ b/docs/API_docs/methods/req_DH_params.md @@ -0,0 +1,42 @@ +--- +title: req_DH_params +description: req_DH_params parameters, return type and example +--- +## Method: req\_DH\_params +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|p|[bytes](../types/bytes.md) | Required| +|q|[bytes](../types/bytes.md) | Required| +|public\_key\_fingerprint|[long](../types/long.md) | Required| +|encrypted\_data|[bytes](../types/bytes.md) | Required| + + +### Return type: [Server\_DH\_Params](../types/Server_DH_Params.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Server_DH_Params = $MadelineProto->req->DH->params(['nonce' => int128, 'server_nonce' => int128, 'p' => bytes, 'q' => bytes, 'public_key_fingerprint' => long, 'encrypted_data' => bytes, ]); +``` \ No newline at end of file diff --git a/docs/API_docs/methods/req_pq.md b/docs/API_docs/methods/req_pq.md new file mode 100644 index 00000000..e36aa2f8 --- /dev/null +++ b/docs/API_docs/methods/req_pq.md @@ -0,0 +1,37 @@ +--- +title: req_pq +description: req_pq parameters, return type and example +--- +## Method: req\_pq +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| + + +### Return type: [ResPQ](../types/ResPQ.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$ResPQ = $MadelineProto->req->pq(['nonce' => int128, ]); +``` \ No newline at end of file diff --git a/docs/API_docs/methods/rpc_drop_answer.md b/docs/API_docs/methods/rpc_drop_answer.md new file mode 100644 index 00000000..05123d8e --- /dev/null +++ b/docs/API_docs/methods/rpc_drop_answer.md @@ -0,0 +1,37 @@ +--- +title: rpc_drop_answer +description: rpc_drop_answer parameters, return type and example +--- +## Method: rpc\_drop\_answer +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|req\_msg\_id|[long](../types/long.md) | Required| + + +### Return type: [RpcDropAnswer](../types/RpcDropAnswer.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$RpcDropAnswer = $MadelineProto->rpc->drop->answer(['req_msg_id' => long, ]); +``` \ No newline at end of file diff --git a/docs/API_docs/methods/set_client_DH_params.md b/docs/API_docs/methods/set_client_DH_params.md new file mode 100644 index 00000000..cd19d991 --- /dev/null +++ b/docs/API_docs/methods/set_client_DH_params.md @@ -0,0 +1,39 @@ +--- +title: set_client_DH_params +description: set_client_DH_params parameters, return type and example +--- +## Method: set\_client\_DH\_params +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|nonce|[int128](../types/int128.md) | Required| +|server\_nonce|[int128](../types/int128.md) | Required| +|encrypted\_data|[bytes](../types/bytes.md) | Required| + + +### Return type: [Set\_client\_DH\_params\_answer](../types/Set_client_DH_params_answer.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Set_client_DH_params_answer = $MadelineProto->set->client->DH->params(['nonce' => int128, 'server_nonce' => int128, 'encrypted_data' => bytes, ]); +``` \ No newline at end of file diff --git a/docs/API_docs/types/BadMsgNotification.md b/docs/API_docs/types/BadMsgNotification.md new file mode 100644 index 00000000..11ba7a55 --- /dev/null +++ b/docs/API_docs/types/BadMsgNotification.md @@ -0,0 +1,21 @@ +--- +title: BadMsgNotification +description: constructors and methods of type BadMsgNotification +--- +## Type: BadMsgNotification +[Back to types index](index.md) + + + +### Possible values (constructors): + +[bad\_msg\_notification](../constructors/bad_msg_notification.md) + +[bad\_server\_salt](../constructors/bad_server_salt.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/BindAuthKeyInner.md b/docs/API_docs/types/BindAuthKeyInner.md new file mode 100644 index 00000000..867233a8 --- /dev/null +++ b/docs/API_docs/types/BindAuthKeyInner.md @@ -0,0 +1,19 @@ +--- +title: BindAuthKeyInner +description: constructors and methods of type BindAuthKeyInner +--- +## Type: BindAuthKeyInner +[Back to types index](index.md) + + + +### Possible values (constructors): + +[bind\_auth\_key\_inner](../constructors/bind_auth_key_inner.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/Client_DH_Inner_Data.md b/docs/API_docs/types/Client_DH_Inner_Data.md new file mode 100644 index 00000000..3bfc457b --- /dev/null +++ b/docs/API_docs/types/Client_DH_Inner_Data.md @@ -0,0 +1,19 @@ +--- +title: Client_DH_Inner_Data +description: constructors and methods of type Client_DH_Inner_Data +--- +## Type: Client\_DH\_Inner\_Data +[Back to types index](index.md) + + + +### Possible values (constructors): + +[client\_DH\_inner\_data](../constructors/client_DH_inner_data.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/DestroySessionRes.md b/docs/API_docs/types/DestroySessionRes.md new file mode 100644 index 00000000..64b1264c --- /dev/null +++ b/docs/API_docs/types/DestroySessionRes.md @@ -0,0 +1,23 @@ +--- +title: DestroySessionRes +description: constructors and methods of type DestroySessionRes +--- +## Type: DestroySessionRes +[Back to types index](index.md) + + + +### Possible values (constructors): + +[destroy\_session\_ok](../constructors/destroy_session_ok.md) + +[destroy\_session\_none](../constructors/destroy_session_none.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->destroy->session](../methods/destroy_session.md) + + + diff --git a/docs/API_docs/types/FutureSalt.md b/docs/API_docs/types/FutureSalt.md new file mode 100644 index 00000000..469c0970 --- /dev/null +++ b/docs/API_docs/types/FutureSalt.md @@ -0,0 +1,19 @@ +--- +title: FutureSalt +description: constructors and methods of type FutureSalt +--- +## Type: FutureSalt +[Back to types index](index.md) + + + +### Possible values (constructors): + +[future\_salt](../constructors/future_salt.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/FutureSalts.md b/docs/API_docs/types/FutureSalts.md new file mode 100644 index 00000000..41a47ea5 --- /dev/null +++ b/docs/API_docs/types/FutureSalts.md @@ -0,0 +1,21 @@ +--- +title: FutureSalts +description: constructors and methods of type FutureSalts +--- +## Type: FutureSalts +[Back to types index](index.md) + + + +### Possible values (constructors): + +[future\_salts](../constructors/future_salts.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->get->future->salts](../methods/get_future_salts.md) + + + diff --git a/docs/API_docs/types/HttpWait.md b/docs/API_docs/types/HttpWait.md new file mode 100644 index 00000000..49772fef --- /dev/null +++ b/docs/API_docs/types/HttpWait.md @@ -0,0 +1,19 @@ +--- +title: HttpWait +description: constructors and methods of type HttpWait +--- +## Type: HttpWait +[Back to types index](index.md) + + + +### Possible values (constructors): + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->http->wait](../methods/http_wait.md) + + + diff --git a/docs/API_docs/types/Message.md b/docs/API_docs/types/Message.md index ab006ce0..06da85ef 100644 --- a/docs/API_docs/types/Message.md +++ b/docs/API_docs/types/Message.md @@ -9,6 +9,8 @@ description: constructors and methods of type Message ### Possible values (constructors): +[MTmessage](../constructors/MTmessage.md) + [messageEmpty](../constructors/messageEmpty.md) [message](../constructors/message.md) diff --git a/docs/API_docs/types/MessageContainer.md b/docs/API_docs/types/MessageContainer.md new file mode 100644 index 00000000..0ab414be --- /dev/null +++ b/docs/API_docs/types/MessageContainer.md @@ -0,0 +1,19 @@ +--- +title: MessageContainer +description: constructors and methods of type MessageContainer +--- +## Type: MessageContainer +[Back to types index](index.md) + + + +### Possible values (constructors): + +[msg\_container](../constructors/msg_container.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/MessageCopy.md b/docs/API_docs/types/MessageCopy.md new file mode 100644 index 00000000..e0e512a5 --- /dev/null +++ b/docs/API_docs/types/MessageCopy.md @@ -0,0 +1,19 @@ +--- +title: MessageCopy +description: constructors and methods of type MessageCopy +--- +## Type: MessageCopy +[Back to types index](index.md) + + + +### Possible values (constructors): + +[msg\_copy](../constructors/msg_copy.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/MsgDetailedInfo.md b/docs/API_docs/types/MsgDetailedInfo.md new file mode 100644 index 00000000..0ce0454d --- /dev/null +++ b/docs/API_docs/types/MsgDetailedInfo.md @@ -0,0 +1,21 @@ +--- +title: MsgDetailedInfo +description: constructors and methods of type MsgDetailedInfo +--- +## Type: MsgDetailedInfo +[Back to types index](index.md) + + + +### Possible values (constructors): + +[msg\_detailed\_info](../constructors/msg_detailed_info.md) + +[msg\_new\_detailed\_info](../constructors/msg_new_detailed_info.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/MsgResendReq.md b/docs/API_docs/types/MsgResendReq.md new file mode 100644 index 00000000..d3016616 --- /dev/null +++ b/docs/API_docs/types/MsgResendReq.md @@ -0,0 +1,19 @@ +--- +title: MsgResendReq +description: constructors and methods of type MsgResendReq +--- +## Type: MsgResendReq +[Back to types index](index.md) + + + +### Possible values (constructors): + +[msg\_resend\_req](../constructors/msg_resend_req.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/MsgsAck.md b/docs/API_docs/types/MsgsAck.md new file mode 100644 index 00000000..9927e30b --- /dev/null +++ b/docs/API_docs/types/MsgsAck.md @@ -0,0 +1,19 @@ +--- +title: MsgsAck +description: constructors and methods of type MsgsAck +--- +## Type: MsgsAck +[Back to types index](index.md) + + + +### Possible values (constructors): + +[msgs\_ack](../constructors/msgs_ack.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/MsgsAllInfo.md b/docs/API_docs/types/MsgsAllInfo.md new file mode 100644 index 00000000..4c922995 --- /dev/null +++ b/docs/API_docs/types/MsgsAllInfo.md @@ -0,0 +1,19 @@ +--- +title: MsgsAllInfo +description: constructors and methods of type MsgsAllInfo +--- +## Type: MsgsAllInfo +[Back to types index](index.md) + + + +### Possible values (constructors): + +[msgs\_all\_info](../constructors/msgs_all_info.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/MsgsStateInfo.md b/docs/API_docs/types/MsgsStateInfo.md new file mode 100644 index 00000000..65a65336 --- /dev/null +++ b/docs/API_docs/types/MsgsStateInfo.md @@ -0,0 +1,19 @@ +--- +title: MsgsStateInfo +description: constructors and methods of type MsgsStateInfo +--- +## Type: MsgsStateInfo +[Back to types index](index.md) + + + +### Possible values (constructors): + +[msgs\_state\_info](../constructors/msgs_state_info.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/MsgsStateReq.md b/docs/API_docs/types/MsgsStateReq.md new file mode 100644 index 00000000..5bbb6d98 --- /dev/null +++ b/docs/API_docs/types/MsgsStateReq.md @@ -0,0 +1,19 @@ +--- +title: MsgsStateReq +description: constructors and methods of type MsgsStateReq +--- +## Type: MsgsStateReq +[Back to types index](index.md) + + + +### Possible values (constructors): + +[msgs\_state\_req](../constructors/msgs_state_req.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/NewSession.md b/docs/API_docs/types/NewSession.md new file mode 100644 index 00000000..f5a58c6d --- /dev/null +++ b/docs/API_docs/types/NewSession.md @@ -0,0 +1,19 @@ +--- +title: NewSession +description: constructors and methods of type NewSession +--- +## Type: NewSession +[Back to types index](index.md) + + + +### Possible values (constructors): + +[new\_session\_created](../constructors/new_session_created.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/Object.md b/docs/API_docs/types/Object.md new file mode 100644 index 00000000..67df066f --- /dev/null +++ b/docs/API_docs/types/Object.md @@ -0,0 +1,19 @@ +--- +title: Object +description: constructors and methods of type Object +--- +## Type: Object +[Back to types index](index.md) + + + +### Possible values (constructors): + +[gzip\_packed](../constructors/gzip_packed.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/P_Q_inner_data.md b/docs/API_docs/types/P_Q_inner_data.md new file mode 100644 index 00000000..7f5d46aa --- /dev/null +++ b/docs/API_docs/types/P_Q_inner_data.md @@ -0,0 +1,21 @@ +--- +title: P_Q_inner_data +description: constructors and methods of type P_Q_inner_data +--- +## Type: P\_Q\_inner\_data +[Back to types index](index.md) + + + +### Possible values (constructors): + +[p\_q\_inner\_data](../constructors/p_q_inner_data.md) + +[p\_q\_inner\_data\_temp](../constructors/p_q_inner_data_temp.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/Pong.md b/docs/API_docs/types/Pong.md new file mode 100644 index 00000000..f9329dbb --- /dev/null +++ b/docs/API_docs/types/Pong.md @@ -0,0 +1,23 @@ +--- +title: Pong +description: constructors and methods of type Pong +--- +## Type: Pong +[Back to types index](index.md) + + + +### Possible values (constructors): + +[pong](../constructors/pong.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->ping](../methods/ping.md) + +[$MadelineProto->ping->delay->disconnect](../methods/ping_delay_disconnect.md) + + + diff --git a/docs/API_docs/types/ResPQ.md b/docs/API_docs/types/ResPQ.md new file mode 100644 index 00000000..ba8fae67 --- /dev/null +++ b/docs/API_docs/types/ResPQ.md @@ -0,0 +1,21 @@ +--- +title: ResPQ +description: constructors and methods of type ResPQ +--- +## Type: ResPQ +[Back to types index](index.md) + + + +### Possible values (constructors): + +[resPQ](../constructors/resPQ.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->req->pq](../methods/req_pq.md) + + + diff --git a/docs/API_docs/types/RpcDropAnswer.md b/docs/API_docs/types/RpcDropAnswer.md new file mode 100644 index 00000000..dfc6d506 --- /dev/null +++ b/docs/API_docs/types/RpcDropAnswer.md @@ -0,0 +1,25 @@ +--- +title: RpcDropAnswer +description: constructors and methods of type RpcDropAnswer +--- +## Type: RpcDropAnswer +[Back to types index](index.md) + + + +### Possible values (constructors): + +[rpc\_answer\_unknown](../constructors/rpc_answer_unknown.md) + +[rpc\_answer\_dropped\_running](../constructors/rpc_answer_dropped_running.md) + +[rpc\_answer\_dropped](../constructors/rpc_answer_dropped.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->rpc->drop->answer](../methods/rpc_drop_answer.md) + + + diff --git a/docs/API_docs/types/RpcError.md b/docs/API_docs/types/RpcError.md new file mode 100644 index 00000000..bf18a924 --- /dev/null +++ b/docs/API_docs/types/RpcError.md @@ -0,0 +1,19 @@ +--- +title: RpcError +description: constructors and methods of type RpcError +--- +## Type: RpcError +[Back to types index](index.md) + + + +### Possible values (constructors): + +[rpc\_error](../constructors/rpc_error.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/RpcResult.md b/docs/API_docs/types/RpcResult.md new file mode 100644 index 00000000..9f54d40a --- /dev/null +++ b/docs/API_docs/types/RpcResult.md @@ -0,0 +1,19 @@ +--- +title: RpcResult +description: constructors and methods of type RpcResult +--- +## Type: RpcResult +[Back to types index](index.md) + + + +### Possible values (constructors): + +[rpc\_result](../constructors/rpc_result.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/Server_DH_Params.md b/docs/API_docs/types/Server_DH_Params.md new file mode 100644 index 00000000..059da6cc --- /dev/null +++ b/docs/API_docs/types/Server_DH_Params.md @@ -0,0 +1,23 @@ +--- +title: Server_DH_Params +description: constructors and methods of type Server_DH_Params +--- +## Type: Server\_DH\_Params +[Back to types index](index.md) + + + +### Possible values (constructors): + +[server\_DH\_params\_fail](../constructors/server_DH_params_fail.md) + +[server\_DH\_params\_ok](../constructors/server_DH_params_ok.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->req->DH->params](../methods/req_DH_params.md) + + + diff --git a/docs/API_docs/types/Server_DH_inner_data.md b/docs/API_docs/types/Server_DH_inner_data.md new file mode 100644 index 00000000..295e890b --- /dev/null +++ b/docs/API_docs/types/Server_DH_inner_data.md @@ -0,0 +1,19 @@ +--- +title: Server_DH_inner_data +description: constructors and methods of type Server_DH_inner_data +--- +## Type: Server\_DH\_inner\_data +[Back to types index](index.md) + + + +### Possible values (constructors): + +[server\_DH\_inner\_data](../constructors/server_DH_inner_data.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/docs/API_docs/types/Set_client_DH_params_answer.md b/docs/API_docs/types/Set_client_DH_params_answer.md new file mode 100644 index 00000000..6389686d --- /dev/null +++ b/docs/API_docs/types/Set_client_DH_params_answer.md @@ -0,0 +1,25 @@ +--- +title: Set_client_DH_params_answer +description: constructors and methods of type Set_client_DH_params_answer +--- +## Type: Set\_client\_DH\_params\_answer +[Back to types index](index.md) + + + +### Possible values (constructors): + +[dh\_gen\_ok](../constructors/dh_gen_ok.md) + +[dh\_gen\_retry](../constructors/dh_gen_retry.md) + +[dh\_gen\_fail](../constructors/dh_gen_fail.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->set->client->DH->params](../methods/set_client_DH_params.md) + + + diff --git a/docs/API_docs/types/Vector t.md b/docs/API_docs/types/Vector t.md index 06b943f9..186294d4 100644 --- a/docs/API_docs/types/Vector t.md +++ b/docs/API_docs/types/Vector t.md @@ -11,6 +11,8 @@ description: constructors and methods of type Vector t [vector](../constructors/vector.md) +[vector](../constructors/vector.md) + ### Methods that return an object of this type (methods): diff --git a/docs/API_docs/types/index.md b/docs/API_docs/types/index.md index c72b22e4..e09a4a74 100644 --- a/docs/API_docs/types/index.md +++ b/docs/API_docs/types/index.md @@ -10,6 +10,10 @@ description: List of types [Authorization](Authorization.md) +[BadMsgNotification](BadMsgNotification.md) + +[BindAuthKeyInner](BindAuthKeyInner.md) + [Bool](Bool.md) [BotCommand](BotCommand.md) @@ -40,6 +44,8 @@ description: List of types [ChatPhoto](ChatPhoto.md) +[Client\_DH\_Inner\_Data](Client_DH_Inner_Data.md) + [Config](Config.md) [Contact](Contact.md) @@ -52,6 +58,8 @@ description: List of types [DcOption](DcOption.md) +[DestroySessionRes](DestroySessionRes.md) + [Dialog](Dialog.md) [DisabledFeature](DisabledFeature.md) @@ -78,12 +86,18 @@ description: List of types [FoundGif](FoundGif.md) +[FutureSalt](FutureSalt.md) + +[FutureSalts](FutureSalts.md) + [Game](Game.md) [GeoPoint](GeoPoint.md) [HighScore](HighScore.md) +[HttpWait](HttpWait.md) + [ImportedContact](ImportedContact.md) [InlineBotSwitchPM](InlineBotSwitchPM.md) @@ -148,6 +162,10 @@ description: List of types [MessageAction](MessageAction.md) +[MessageContainer](MessageContainer.md) + +[MessageCopy](MessageCopy.md) + [MessageEntity](MessageEntity.md) [MessageFwdHeader](MessageFwdHeader.md) @@ -158,12 +176,30 @@ description: List of types [MessagesFilter](MessagesFilter.md) +[MsgDetailedInfo](MsgDetailedInfo.md) + +[MsgResendReq](MsgResendReq.md) + +[MsgsAck](MsgsAck.md) + +[MsgsAllInfo](MsgsAllInfo.md) + +[MsgsStateInfo](MsgsStateInfo.md) + +[MsgsStateReq](MsgsStateReq.md) + [NearestDc](NearestDc.md) +[NewSession](NewSession.md) + [NotifyPeer](NotifyPeer.md) [Null](Null.md) +[Object](Object.md) + +[P\_Q\_inner\_data](P_Q_inner_data.md) + [Peer](Peer.md) [PeerNotifyEvents](PeerNotifyEvents.md) @@ -176,6 +212,8 @@ description: List of types [PhotoSize](PhotoSize.md) +[Pong](Pong.md) + [PrivacyKey](PrivacyKey.md) [PrivacyRule](PrivacyRule.md) @@ -186,8 +224,22 @@ description: List of types [ReportReason](ReportReason.md) +[ResPQ](ResPQ.md) + +[RpcDropAnswer](RpcDropAnswer.md) + +[RpcError](RpcError.md) + +[RpcResult](RpcResult.md) + [SendMessageAction](SendMessageAction.md) +[Server\_DH\_Params](Server_DH_Params.md) + +[Server\_DH\_inner\_data](Server_DH_inner_data.md) + +[Set\_client\_DH\_params\_answer](Set_client_DH_params_answer.md) + [StickerPack](StickerPack.md) [StickerSet](StickerSet.md) diff --git a/docs/index.md b/docs/index.md index c4f47217..3ac58d57 100644 --- a/docs/index.md +++ b/docs/index.md @@ -141,6 +141,10 @@ Slv8kg9qv1m6XHVQY3PnEw+QQtqSIXklHwIDAQAB 'incoming' => 30, 'outgoing' => 30, ], + 'updates' => [ + 'updates_array_limit' => 1000, // How big should be the array containing the updates processed with the default example_update_handler callback + 'callback' => [$this, 'get_updates_update_handler'], // A callable function that will be called every time an update is received, must accept an array (for the update) as the only parameter + ], ]; ``` @@ -180,13 +184,142 @@ The settings array can be accessed in the instantiated class like this: ``` $MadelineProto = new \danog\MadelineProto\API(); -var_dump($MadelineProto->API->settings); +var_dump($MadelineProto->get_settings()); ``` +The settings array can be modified in the instantiated class like this: + +``` +$MadelineProto = new \danog\MadelineProto\API(); +$settings = $MadelineProto->get_settings(); +// Make changes to $settings +$MadelineProto->update_settings($settings); +``` + +### Handling updates + +When an update is received, the update callback function (see settings) is called. By default, the get_updates_update_handler MadelineProto method is called. This method stores all incoming updates into an array (its size limit is specified by the updates\_array\_limit parameter in the settings) and can be fetched by running the `get_updates` method. +This method accepts an array of options as the first parameter, and returns an array of updates. Example: + +``` +$MadelineProto = new \danog\MadelineProto\API(); +// Login or deserialize + +$offset = 0; +while (true) { + $updates = $MadelineProto->API->get_updates(['offset' => $offset, 'limit' => 50, 'timeout' => 1]); // Just like in the bot API, you can specify an offset, a limit and a timeout + foreach ($updates as $update) { + $offset = $update['update_id'] // Just like in the bot API, the offset must be set to the last update_id + // Parse $update['update'], that is an object of type Update + } + var_dump($update); +} + +array(3) { + [0]=> + array(2) { + ["update_id"]=> + int(0) + ["update"]=> + array(5) { + ["_"]=> + string(22) "updateNewAuthorization" + ["auth_key_id"]=> + int(-8182897590766478746) + ["date"]=> + int(1483110797) + ["device"]=> + string(3) "Web" + ["location"]=> + string(25) "IT, 05 (IP = 79.2.51.203)" + } + } + [1]=> + array(2) { + ["update_id"]=> + int(1) + ["update"]=> + array(3) { + ["_"]=> + string(23) "updateReadChannelOutbox" + ["channel_id"]=> + int(1049295266) + ["max_id"]=> + int(8288) + } + } + [2]=> + array(2) { + ["update_id"]=> + int(2) + ["update"]=> + array(4) { + ["_"]=> + string(23) "updateNewChannelMessage" + ["message"]=> + array(12) { + ["_"]=> + string(7) "message" + ["out"]=> + bool(false) + ["mentioned"]=> + bool(false) + ["media_unread"]=> + bool(false) + ["silent"]=> + bool(false) + ["post"]=> + bool(false) + ["id"]=> + int(11521) + ["from_id"]=> + int(262946027) + ["to_id"]=> + array(2) { + ["_"]=> + string(11) "peerChannel" + ["channel_id"]=> + int(1066910227) + } + ["date"]=> + int(1483110798) + ["message"]=> + string(3) "yay" + ["entities"]=> + array(1) { + [0]=> + array(4) { + ["_"]=> + string(24) "messageEntityMentionName" + ["offset"]=> + int(0) + ["length"]=> + int(3) + ["user_id"]=> + int(101374607) + } + } + } + ["pts"]=> + int(13010) + ["pts_count"]=> + int(1) + } + } +} + + +``` + +To specify a custom callback change the correct value in the settings. The specified callable must accept one parameter for the update. + + + ### Calling mtproto methods and available wrappers The API documentation can be found [here](https://daniil.it/MadelineProto/API_docs/). -To call an MTProto method simply call it as if it is a method of the API class, substitute namespace sepators (.) with -> if needed: +To call an MTProto method simply call it as if it is a method of the API class, substitute namespace sepators (.) with -> if needed. +Also, an object of type User, InputUser, Chat, InputChannel, Peer or InputPeer must be provided as a parameter to a method, you can substitute it with the user/group/channel's username or bot API id. ``` $MadelineProto = new \danog\MadelineProto\API(); @@ -197,10 +330,7 @@ $checkedPhone = $MadelineProto->auth->checkPhone( // auth.checkPhone becomes aut ); $ping = $MadelineProto->ping([3]); // parameter names can be omitted as long as the order specified by the TL scheme is respected $message = "Hey! I'm sending this message with MadelineProto!"; -$username = $MadelineProto->contacts->resolveUsername(['username' => 'pwrtelegramgroup']); -var_dump($username); -$peer = ['_' => 'inputPeerChannel', 'channel_id' => $username['peer']['channel_id'], 'access_hash' => $username['chats'][0]['access_hash']]; -$sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'random_id' => \danog\PHP\Struct::unpack('messages->sendMessage(['peer' => '@danogentili', 'message' => $message]); var_dump($sentMessage); ``` @@ -217,20 +347,6 @@ for ($x = 0; $x < $sentCode['type']['length']; $x++) { $authorization = $MadelineProto->complete_phone_login($code); // Complete authorization var_dump($authorization); -var_dump($MadelineProto->resolve_username('@Palmas2012')); // Always use this method to resolve usernames, but you won't need to call this to get info about peers, as get_peer and get_input_peer will call it for you if needed - -$message = "I've installed MadelineProto!"; - -$mention = $MadelineProto->get_info('@@NonSonoGioTech'); // Returns the following array: ['constructor' => $constructor, 'inputPeer' => $inputPeer, 'inputType' => $inputType, 'Peer' => $Peer, 'id' => $id, 'botApiId' => $bot_api_id] -$mention = $mention['inputType']; // Selects only the inputType object - -foreach (['@pwrtelegramgroup', '@pwrtelegramgroupita'] as $peer) { - $peer = $MadelineProto->get_info($peer)['inputPeer']; // Select the inputPeerType (alias inputPeer) object - $sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'entities' => [['_' => 'inputMessageEntityMentionName', 'offset' => 0, 'length' => strlen($message), 'user_id' => $mention]]]); - \danog\MadelineProto\Logger::log($sentMessage); -} - -// The above works with bots too $authorization = $MadelineProto->bot_login($token); // Note that every time you login as a bot or as a user MadelineProto will logout first, so now MadelineProto is logged in as the bot with token $token, not as the user with number $number var_dump($authorization); ``` @@ -279,6 +395,7 @@ src/danog/MadelineProto/ Wrappers/ Login - Handles logging in as a bot or a user, logging out PeerHandler - Eases getting of input peer objects using usernames or bot API chat ids + SettingsManager - Eases updating settings API - Wrapper class that instantiates the MTProto class, sets the error handler, provides a wrapper for calling mtproto methods directly as class submethods, and uses the simplified wrappers from Wrappers/ APIFactory - Provides a wrapper for calling namespaced mtproto methods directly as class submethods Connection - Handles tcp/udp/http connections and wrapping payloads generated by MTProtoTools/MessageHandler into the right message according to the protocol, stores authorization keys, session id and sequence number diff --git a/enc.tar.xz.enc b/enc.tar.xz.enc index 21db546c56a9210488e07b5e9a6a0590550f029f..1fd6d019b01edadae4c73400f68d5bfec2dad05b 100644 GIT binary patch literal 33728 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 r@)C^FnxyjD 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 zBe9udM_%YOVGnmjJ0j!ZX531ia{Y*=Q#API->tl->methods->method_namespace as $namespace) { + foreach ($this->API->methods->method_namespace as $namespace) { $this->{$namespace} = new APIFactory($namespace, $this->API); } } diff --git a/src/danog/MadelineProto/Connection.php b/src/danog/MadelineProto/Connection.php index e5527bf3..43d2a22b 100644 --- a/src/danog/MadelineProto/Connection.php +++ b/src/danog/MadelineProto/Connection.php @@ -15,8 +15,9 @@ namespace danog\MadelineProto; /** * Manages connection to telegram servers. */ -class Connection extends Tools +class Connection { + use \danog\MadelineProto\Tools; public $sock = null; public $protocol = null; diff --git a/src/danog/MadelineProto/DataCenter.php b/src/danog/MadelineProto/DataCenter.php index ac1784f9..6926e252 100644 --- a/src/danog/MadelineProto/DataCenter.php +++ b/src/danog/MadelineProto/DataCenter.php @@ -15,8 +15,10 @@ namespace danog\MadelineProto; /** * Manages datacenters. */ -class DataCenter extends Tools +class DataCenter { + use \danog\MadelineProto\Tools; + public $sockets; public $curdc = 0; public $dclist = []; diff --git a/src/danog/MadelineProto/MTProto.php b/src/danog/MadelineProto/MTProto.php index 1fd18aab..b569c008 100644 --- a/src/danog/MadelineProto/MTProto.php +++ b/src/danog/MadelineProto/MTProto.php @@ -28,6 +28,8 @@ class MTProto extends PrimeModule use \danog\MadelineProto\MTProtoTools\SaltHandler; use \danog\MadelineProto\MTProtoTools\SeqNoHandler; use \danog\MadelineProto\MTProtoTools\UpdateHandler; + use \danog\MadelineProto\TL\TL; + use \danog\MadelineProto\Tools; public $settings = []; public $config = ['expires' => -1]; @@ -52,7 +54,7 @@ class MTProto extends PrimeModule // Istantiate TL class \danog\MadelineProto\Logger::log('Translating tl schemas...'); - $this->tl = new TL\TL($this->settings['tl_schema']['src']); + $this->construct_TL($this->settings['tl_schema']['src']); $this->switch_dc(2, true); $this->get_config(); @@ -64,6 +66,7 @@ class MTProto extends PrimeModule $this->datacenter->__construct($this->settings['connection'], $this->settings['connection_settings']); $this->reset_session(); if ($this->datacenter->authorized) { + \danog\MadelineProto\Logger::log('Getting updates after deserialization...'); $this->get_updates_difference(); } } @@ -294,10 +297,10 @@ Slv8kg9qv1m6XHVQY3PnEw+QQtqSIXklHwIDAQAB 'invokeWithLayer', [ 'layer' => $this->settings['tl_schema']['layer'], - 'query' => $this->tl->serialize_method('initConnection', + 'query' => $this->serialize_method('initConnection', array_merge( $this->settings['app_info'], - ['query' => $this->tl->serialize_method($method, $arguments)] + ['query' => $this->serialize_method($method, $arguments)] ) ), ] diff --git a/src/danog/MadelineProto/MTProtoTools/AuthKeyHandler.php b/src/danog/MadelineProto/MTProtoTools/AuthKeyHandler.php index 30ace3d4..516bfee6 100644 --- a/src/danog/MadelineProto/MTProtoTools/AuthKeyHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/AuthKeyHandler.php @@ -114,7 +114,7 @@ trait AuthKeyHandler 'new_nonce' => $new_nonce, 'expires_in' => $expires_in, ]; - $p_q_inner_data = $this->tl->serialize_object(['type' => 'p_q_inner_data'.(($expires_in < 0) ? '' : '_temp')], $data_unserialized); + $p_q_inner_data = $this->serialize_object(['type' => 'p_q_inner_data'.(($expires_in < 0) ? '' : '_temp')], $data_unserialized); /* * *********************************************************************** @@ -211,13 +211,13 @@ trait AuthKeyHandler * int $server_time * ] */ - $server_DH_inner_data = $this->tl->deserialize($this->fopen_and_write('php://memory', 'rw+b', $answer)); + $server_DH_inner_data = $this->deserialize($this->fopen_and_write('php://memory', 'rw+b', $answer)); /* * *********************************************************************** * Do some checks */ - $server_DH_inner_data_length = $this->tl->get_length($this->fopen_and_write('php://memory', 'rw+b', $answer)); + $server_DH_inner_data_length = $this->get_length($this->fopen_and_write('php://memory', 'rw+b', $answer)); if (sha1(substr($answer, 0, $server_DH_inner_data_length), true) != $answer_hash) { throw new \danog\MadelineProto\Exception('answer_hash mismatch.'); } @@ -347,7 +347,7 @@ trait AuthKeyHandler * string $g_b : g^b mod dh_prime * ] */ - $data = $this->tl->serialize_object( + $data = $this->serialize_object( ['type' => 'client_DH_inner_data'], [ 'nonce' => $nonce, @@ -486,7 +486,7 @@ trait AuthKeyHandler $temp_auth_key_id = \danog\PHP\Struct::unpack('datacenter->temp_auth_key['id'])[0]; $perm_auth_key_id = \danog\PHP\Struct::unpack('datacenter->auth_key['id'])[0]; $temp_session_id = \danog\PHP\Struct::unpack('datacenter->session_id)[0]; - $message_data = $this->tl->serialize_object(['type' => 'bind_auth_key_inner'], + $message_data = $this->serialize_object(['type' => 'bind_auth_key_inner'], [ 'nonce' => $nonce, 'temp_auth_key_id' => $temp_auth_key_id, diff --git a/src/danog/MadelineProto/MTProtoTools/CallHandler.php b/src/danog/MadelineProto/MTProtoTools/CallHandler.php index 655e31d6..a62a2d47 100644 --- a/src/danog/MadelineProto/MTProtoTools/CallHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/CallHandler.php @@ -26,16 +26,15 @@ trait CallHandler try { \danog\MadelineProto\Logger::log('Calling method (try number '.$count.' for '.$method.')...'); - $args = $this->tl->get_named_method_args($method, $args); - $int_message_id = $this->send_message($this->tl->serialize_method($method, $args), $this->tl->content_related($method), $message_id); + $args = $this->get_named_method_args($method, $args); + $int_message_id = $this->send_message($this->serialize_method($method, $args), $this->content_related($method), $message_id); $this->datacenter->outgoing_messages[$int_message_id]['content'] = ['method' => $method, 'args' => $args]; - $this->datacenter->new_outgoing[$int_message_id] = ['msg_id' => $int_message_id, 'method' => $method, 'type' => $this->tl->methods->find_by_method($method)['type']]; + $this->datacenter->new_outgoing[$int_message_id] = ['msg_id' => $int_message_id, 'method' => $method, 'type' => $this->methods->find_by_method($method)['type']]; $res_count = 0; $server_answer = null; while ($server_answer === null && $res_count++ < $this->settings['max_tries']['response']) { \danog\MadelineProto\Logger::log('Getting response (try number '.$res_count.' for '.$method.')...'); $this->recv_message(); - $this->handle_messages(); if (!isset($this->datacenter->outgoing_messages[$int_message_id]['response']) || !isset($this->datacenter->incoming_messages[$this->datacenter->outgoing_messages[$int_message_id]['response']]['content'])) { continue; } @@ -101,6 +100,7 @@ trait CallHandler if ($server_answer == null) { throw new \danog\MadelineProto\Exception('An error occurred while calling method '.$method.'.'); } + \danog\MadelineProto\Logger::log('Got response for method '.$method.' @ try '.$count.' (response try '.$res_count.')'); return $server_answer; } @@ -116,7 +116,7 @@ trait CallHandler foreach (range(1, $this->settings['max_tries']['query']) as $count) { try { \danog\MadelineProto\Logger::log($object == 'msgs_ack' ? 'ack '.$args['msg_ids'][0] : 'Sending object (try number '.$count.' for '.$object.')...'); - $int_message_id = $this->send_message($this->tl->serialize_object(['type' => $object], $args), $this->tl->content_related($object)); + $int_message_id = $this->send_message($this->serialize_object(['type' => $object], $args), $this->content_related($object)); $this->datacenter->outgoing_messages[$int_message_id]['content'] = ['method' => $object, 'args' => $args]; } catch (Exception $e) { \danog\MadelineProto\Logger::log('An error occurred while calling object '.$object.': '.$e->getMessage().' in '.$e->getFile().':'.$e->getLine().'. Recreating connection and retrying to call object...'); diff --git a/src/danog/MadelineProto/MTProtoTools/MessageHandler.php b/src/danog/MadelineProto/MTProtoTools/MessageHandler.php index 3aadf1f4..0f8f4a51 100644 --- a/src/danog/MadelineProto/MTProtoTools/MessageHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/MessageHandler.php @@ -121,9 +121,10 @@ trait MessageHandler } else { throw new \danog\MadelineProto\Exception('Got unknown auth_key id'); } - $deserialized = $this->tl->deserialize($this->fopen_and_write('php://memory', 'rw+b', $message_data)); + $deserialized = $this->deserialize($this->fopen_and_write('php://memory', 'rw+b', $message_data)); $this->datacenter->incoming_messages[$message_id]['content'] = $deserialized; $this->datacenter->incoming_messages[$message_id]['response'] = -1; $this->datacenter->new_incoming[$message_id] = $message_id; + $this->handle_messages(); } } diff --git a/src/danog/MadelineProto/MTProtoTools/PeerHandler.php b/src/danog/MadelineProto/MTProtoTools/PeerHandler.php index 727f7294..1abc831d 100644 --- a/src/danog/MadelineProto/MTProtoTools/PeerHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/PeerHandler.php @@ -65,6 +65,37 @@ trait PeerHandler $this->should_serialize = true; } + public function peer_isset($id) { + try { + return isset($this->chats[$this->get_info($id)['bot_api_id']]); + } catch (\danog\MadelineProto\Exception $e) { + return false; + } + } + + public function entities_peer_isset($entities) { + try { + foreach ($entities as $entity) { + if ($entity['_'] == 'messageEntityMentionName' || $entity['_'] == 'inputMessageEntityMentionName') { + if (!$this->peer_isset($entity['user_id'])) return false; + } + } + } catch (\danog\MadelineProto\Exception $e) { + return false; + } + return true; + } + + public function fwd_peer_isset($fwd) { + try { + if (isset($fwd['user_id']) && !$this->peer_isset($fwd['user_id'])) return false; + if (isset($fwd['channel_id']) && !$this->peer_isset('channel#'.$fwd['channel_id'])) return false; + } catch (\danog\MadelineProto\Exception $e) { + return false; + } + return true; + } + public function get_info($id, $recursive = true) { if (is_array($id)) { @@ -126,7 +157,7 @@ trait PeerHandler } $id = str_replace('@', '', $id); foreach ($this->chats as $chat) { - if (isset($chat['username']) && $chat['username'] == $id) { + if (isset($chat['username']) && strtolower($chat['username']) == strtolower($id)) { return $this->gen_all($chat); } } @@ -140,34 +171,34 @@ trait PeerHandler public function gen_all($constructor) { + $res = [$this->constructors->find_by_predicate($constructor['_'])['type'] => $constructor]; switch ($constructor['_']) { case 'user': - $inputPeer = $constructor['self'] ? ['_' => 'inputPeerSelf'] : ['_' => 'inputPeerUser', 'user_id' => $constructor['id'], 'access_hash' => $constructor['access_hash']]; - $inputType = $constructor['self'] ? ['_' => 'inputUserSelf'] : ['_' => 'inputUser', 'user_id' => $constructor['id'], 'access_hash' => $constructor['access_hash']]; - $Peer = ['_' => 'peerUser', 'user_id' => $constructor['id']]; - $id = $constructor['id']; - $bot_api_id = $constructor['id']; + $res['InputPeer'] = $constructor['self'] ? ['_' => 'inputPeerSelf'] : ['_' => 'inputPeerUser', 'user_id' => $constructor['id'], 'access_hash' => $constructor['access_hash']]; + $res['InputUser'] = $constructor['self'] ? ['_' => 'inputUserSelf'] : ['_' => 'inputUser', 'user_id' => $constructor['id'], 'access_hash' => $constructor['access_hash']]; + $res['Peer'] = ['_' => 'peerUser', 'user_id' => $constructor['id']]; + $res['user_id'] = $constructor['id']; + $res['bot_api_id'] = $constructor['id']; break; case 'chat': - $inputPeer = ['_' => 'inputPeerChat', 'chat_id' => $constructor['id']]; - $inputType = []; - $Peer = ['_' => 'peerChat', 'chat_id' => $constructor['id']]; - $id = $constructor['id']; - $bot_api_id = -$constructor['id']; + $res['InputPeer'] = ['_' => 'inputPeerChat', 'chat_id' => $constructor['id']]; + $res['Peer'] = ['_' => 'peerChat', 'chat_id' => $constructor['id']]; + $res['chat_id'] = $constructor['id']; + $res['bot_api_id'] = -$constructor['id']; break; case 'channel': - $inputPeer = ['_' => 'inputPeerChannel', 'channel_id' => $constructor['id'], 'access_hash' => $constructor['access_hash']]; - $inputType = ['_' => 'inputChannel', 'channel_id' => $constructor['id'], 'access_hash' => $constructor['access_hash']]; - $Peer = ['_' => 'peerChannel', 'channel_id' => $constructor['id']]; - $id = $constructor['id']; - $bot_api_id = (int) ('-100'.$constructor['id']); + $res['InputPeer']= ['_' => 'inputPeerChannel', 'channel_id' => $constructor['id'], 'access_hash' => $constructor['access_hash']]; + $res['InputChannel'] = ['_' => 'inputChannel', 'channel_id' => $constructor['id'], 'access_hash' => $constructor['access_hash']]; + $res['Peer'] = ['_' => 'peerChannel', 'channel_id' => $constructor['id']]; + $res['channel_id'] = $constructor['id']; + $res['bot_api_id'] = (int) ('-100'.$constructor['id']); break; default: throw new \danog\MadelineProto\Exception('Invalid constructor given '.var_export($constructor, true)); break; } - return ['constructor' => $constructor, 'inputPeer' => $inputPeer, 'inputType' => $inputType, 'Peer' => $Peer, 'id' => $id, 'botApiId' => $bot_api_id]; + return $res; } public function resolve_username($username) diff --git a/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php b/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php index 9f0af088..ccceab61 100644 --- a/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php @@ -17,6 +17,7 @@ namespace danog\MadelineProto\MTProtoTools; */ trait ResponseHandler { + private $pending_updates = []; private $bad_msg_error_codes = [ 16 => 'msg_id too low (most likely, client time is wrong; it would be worthwhile to synchronize it using msg_id notifications and re-send the original message with the “correct” msg_id or wrap it in a container with a new msg_id if the original message had waited too long on the client to be transmitted)', 17 => 'msg_id too high (similar to the previous case, the client time has to be synchronized, and the message re-sent with the correct msg_id)', @@ -124,7 +125,7 @@ trait ResponseHandler case 'new_session_created': $this->datacenter->temp_auth_key['server_salt'] = $response['server_salt']; $this->ack_incoming_message_id($current_msg_id); // Acknowledge that I received the server's response - \danog\MadelineProto\Logger::log('new session created'); + if ($this->datacenter->authorized) $this->force_get_updates_difference(); unset($this->datacenter->new_incoming[$current_msg_id]); break; case 'msg_container': @@ -214,7 +215,7 @@ trait ResponseHandler break; default: $this->ack_incoming_message_id($current_msg_id); // Acknowledge that I received the server's response - $response_type = $this->tl->constructors->find_by_predicate($response['_'])['type']; + $response_type = $this->constructors->find_by_predicate($response['_'])['type']; switch ($response_type) { case 'Updates': unset($this->datacenter->new_incoming[$current_msg_id]); @@ -241,4 +242,68 @@ trait ResponseHandler } } } + public function handle_pending_updates() { + \danog\MadelineProto\Logger::log('Parsing pending updates...'); + foreach ($this->pending_updates as $updates) { + $this->handle_updates($updates); + } + } + public function handle_updates($updates) + { + \danog\MadelineProto\Logger::log('Parsing updates received via the socket...'); + if ($this->getting_state) { + \danog\MadelineProto\Logger::log('Getting state, handle later'); + $this->pending_updates[] = $updates; + return false; + } + $opts = []; + foreach (['date', 'seq', 'seq_start'] as $key) { + if (isset($updates[$key])) $opts[$key] = $updates[$key]; + } + switch ($updates['_']) { + case 'updates': + case 'updatesCombined': + foreach ($updates['updates'] as $update) { + $this->handle_update($update, $opts); + } + break; + case 'updateShort': + $this->handle_update($updates['update'], $opts); + break; + case 'updateShortMessage': + case 'updateShortChatMessage': + $from_id = isset($updates['from_id']) ? $updates['from_id'] : ($updates['out'] ? $this->datacenter->authorization['user']['id'] : $updates['user_id']); + $to_id = isset($updates['chat_id']) + ? -$updates['chat_id'] + : ($updates['out'] ? $updates['user_id'] : $this->datacenter->authorization['user']['id']); + + if (!$this->peer_isset($from_id) || + !$this->peer_isset($to_id) || + (isset($updates['via_bot_id']) && !$this->peer_isset($updates['via_bot_id'])) + (isset($updates['entities']) && !$this->entities_peer_isset($updates['entites'])) + (isset($updates['fwd_from']) && !$this->fwd_peer_isset($updates['fwd_from']))) { + \danog\MadelineProto\Logger::log('getDifference: good - getting user for updateShortMessage'); + return $this->get_updates_difference(); + } + + + $message = $updates; + $message['_'] = 'message'; + $message['from_id'] = $from_id; + $message['to_id'] = $this->get_info($to_id)['Peer']; + $update = ['_' => 'updateNewMessage', 'message' => $message, 'pts' => $updates['pts'], 'pts_count' => $updates['pts_count']]; + $this->handle_update($update, $opts); + break; + case 'updateShortSentMessage': + //$this->set_update_state(['date' => $updates['date']]); + break; + case 'updatesTooLong': + $this->force_get_updates_difference(); + break; + default: + throw new \danog\MadelineProto\Exception('Unrecognized update received: '.var_export($updates)); + break; + } + } + } diff --git a/src/danog/MadelineProto/MTProtoTools/UpdateHandler.php b/src/danog/MadelineProto/MTProtoTools/UpdateHandler.php index 28626b70..9ff40f0a 100644 --- a/src/danog/MadelineProto/MTProtoTools/UpdateHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/UpdateHandler.php @@ -17,10 +17,10 @@ namespace danog\MadelineProto\MTProtoTools; */ trait UpdateHandler { - public $updates_state = []; + public $updates_state = ['pending_seq_updates' => [], 'pending_pts_updates' => [], 'sync_loading' => true, 'seq' => 0, 'pts' => 0, 'date' => 0]; public $channels_state = []; - public $updates = []; + private $getting_state = false; public function get_updates_update_handler($update) { @@ -28,14 +28,21 @@ trait UpdateHandler array_shift($this->updates); } $this->updates[] = $update; - \danog\MadelineProto\Logger::log('Stored ', $update); + //\danog\MadelineProto\Logger::log('Stored ', $update); } - public function get_updates($offset, $limit = null, $timeout = 0) + public function get_updates($params = []) { - sleep($timeout); - $this->get_updates_difference(); - $result = array_slice($this->updates, $offset, $limit, true); + $this->force_get_updates_difference(); + if (empty($this->updates)) return []; + $default_params = ['offset' => array_keys($this->updates)[0], 'limit' => null, 'timeout' => 0]; + foreach ($default_params as $key => $default) { + if (!isset($params[$key])) $params[$key] = $default; + } + $time = microtime(true); + $params['timeout'] = (int)($params['timeout'] - (microtime(true) - $time)); + sleep($params['timeout'] > 0 ? $params['timeout'] : 0); + $result = array_slice($this->updates, $params['offset'], $params['limit'], true); $updates = []; foreach ($result as $key => $value) { $updates[] = ['update_id' => $key, 'update' => $value]; @@ -45,134 +52,123 @@ trait UpdateHandler return $updates; } + public function &get_channel_state($channel, $pts = 0) { if (!isset($this->channels_state[$channel])) { - $this->channels_state[$channel] = ['pts' => $pts, 'pop_pts' => [], 'pending_seq_updates' =>[]]; + $this->channels_state[$channel] = ['pts' => $pts, 'pending_pts_updates' => [], 'sync_loading' => false]; } return $this->channels_state[$channel]; } - public function update_channel_state($channel, $data) + public function set_channel_state($channel, $data) { - $this->get_channel_state($channel); - - $this->channels_state[$channel]['pts'] = (!isset($data['pts']) || $data['pts'] == 0) ? $this->get_channel_state($channel)['pts'] : $data['pts']; + $this->get_channel_state($channel)[$channel]['pts'] = (!isset($data['pts']) || $data['pts'] == 0) ? $this->get_channel_state($channel)['pts'] : $data['pts']; } public function get_channel_difference($channel) { - $this->get_channel_state($channel); - - $difference = $this->method_call('updates.getChannelDifference', ['channel' => $this->get_info('channel#'.$channel)['inputType'], 'filter' => ['_' => 'channelMessagesFilterEmpty'], 'pts' => $this->get_channel_state($channel)['pts'], 'limit' => 30]); + if (!$this->get_channel_state($channel)['sync_loading']) { + $this->get_channel_state($channel)['sync_loading'] = true; + $this->get_channel_state($channel)['pending_pts_updates'] = []; + } + $difference = $this->method_call('updates.getChannelDifference', ['channel' => $this->get_info('channel#'.$channel)['InputChannel'], 'filter' => ['_' => 'channelMessagesFilterEmpty'], 'pts' => $this->get_channel_state($channel)['pts'], 'limit' => 30]); + \danog\MadelineProto\Logger::log('Got '.$difference['_']); + $this->get_channel_state($channel)['sync_loading'] = false; switch ($difference['_']) { case 'updates.channelDifferenceEmpty': - $this->update_channel_state($difference); + $this->set_channel_state($channel, $difference); break; - case 'updates.difference': + case 'updates.channelDifference': $this->handle_update_messages($difference['new_messages'], $channel); - $this->handle_multiple_update($difference['other_updates']); - $this->update_channel_state($difference); + $this->handle_multiple_update($difference['other_updates'], [], $channel); + $this->set_channel_state($channel, $difference); if (!$difference['final']) { $this->get_channel_difference($channel); } break; - case 'updates.differenceTooLong': + case 'updates.channelDifferenceTooLong': unset($this->channels_state[$channel]); - \danog\MadelineProto\Logger::log('Got updates.differenceTooLong: ', $difference); + //unset($this->chats[$this->get_info('channel#'.$channel)['bot_api_id']]); + //$this->handle_update_messages($difference['messages'], $channel); break; default: - throw new \danog\MadelineProto\Exception('Unrecognized update difference received: '.var_export($difference)); + throw new \danog\MadelineProto\Exception('Unrecognized update difference received: '.var_export($difference, true)); break; } } - public function update_state($data) - { - if (empty($this->updates_state)) { - $this->updates_state = ['date' => 0, 'pts' => 0, 'seq' => 0, 'pending_seq_updates' => []]; - } - $this->updates_state['pts'] = (!isset($data['pts']) || $data['pts'] == 0) ? $this->updates_state['pts'] : $data['pts']; - $this->updates_state['seq'] = (!isset($data['seq']) || $data['seq'] == 0) ? $this->updates_state['seq'] : $data['seq']; - $this->updates_state['date'] = (!isset($data['date']) || $data['date'] < $this->updates_state['date']) ? $this->updates_state['date'] : $data['date']; + public function set_update_state($data) + { + $this->get_update_state()['pts'] = (!isset($data['pts']) || $data['pts'] == 0) ? $this->get_update_state()['pts'] : $data['pts']; + $this->get_update_state()['seq'] = (!isset($data['seq']) || $data['seq'] == 0) ? $this->get_update_state()['seq'] : $data['seq']; + $this->get_update_state()['date'] = (!isset($data['date']) || $data['date'] < $this->get_update_state()['date']) ? $this->get_update_state()['date'] : $data['date']; + return $this->get_update_state(); + } + + public function &get_update_state() + { + return $this->updates_state; + } + + public function force_get_updates_difference() { + if (!$this->get_update_state()['sync_loading']) $this->get_updates_difference(); } public function get_updates_difference() { - if (empty($this->updates_state)) { - return $this->update_state($this->method_call('updates.getState')); + if (!$this->get_update_state()['sync_loading']) { + $this->get_update_state()['sync_loading'] = true; + $this->get_update_state()['pending_pts_updates'] = []; + $this->get_update_state()['pending_seq_updates'] = []; } - $difference = $this->method_call('updates.getDifference', ['pts' => $this->updates_state['pts'], 'date' => $this->updates_state['date'], 'qts' => -1]); + + $difference = $this->method_call('updates.getDifference', ['pts' => $this->get_update_state()['pts'], 'date' => $this->get_update_state()['date'], 'qts' => -1]); + \danog\MadelineProto\Logger::log('Got '.$difference['_']); + $this->get_update_state()['sync_loading'] = false; switch ($difference['_']) { case 'updates.differenceEmpty': - $this->update_state($difference); + $this->set_update_state($difference); break; case 'updates.difference': - $this->handle_update_messages($difference['new_messages']); $this->handle_multiple_update($difference['other_updates']); - $this->update_state($difference['state']); + $this->handle_update_messages($difference['new_messages']); + $this->set_update_state($difference['state']); break; case 'updates.differenceSlice': - $this->handle_update_messages($difference['new_messages']); $this->handle_multiple_update($difference['other_updates']); - $this->update_state($difference['intermediate_state']); + $this->handle_update_messages($difference['new_messages']); + $this->set_update_state($difference['intermediate_state']); $this->get_updates_difference(); break; default: - throw new \danog\MadelineProto\Exception('Unrecognized update difference received: '.var_export($difference)); + throw new \danog\MadelineProto\Exception('Unrecognized update difference received: '.var_export($difference, true)); break; } } - - public function handle_updates($updates) - { - switch ($updates['_']) { - case 'updatesTooLong': - $this->get_updates_difference(); - break; - case 'updateShortMessage': - case 'updateShortChatMessage': -// case 'updateShortSentMessage': - $fromID = isset($updates['from_id']) ? $updates['from_id'] : ($updates['out'] ? $this->datacenter->authorization['user']['id'] : $updates['user_id']); - $toID = isset($updates['chat_id']) - ? $updates['chat_id'] - : ($updates['out'] ? $updates['user_id'] : $this->datacenter->authorization['user']['id']); - - $message = $updates; - $message['_'] = 'message'; - $message['to_id'] = $toID; - $message['from_id'] = $this->get_info($fromID)['Peer']; - $update = ['_' => 'updateNewMessage', 'message' => $message, 'pts' => $updates['pts'], 'pts_count' => $updates['pts_count']]; - $this->handle_update($update, ['date' => $updates['date']]); - break; - case 'updateShort': - $this->handle_update($updates['update'], ['date' => $updates['date']]); - break; - case 'updatesCombined': - $this->add_users($updates['users']); - $this->add_chats($updates['chats']); - $this->handle_multiple_update($updates['updates'], ['date' => $updates['date'], 'seq' => $updates['seq'], 'seq_start' => $updates['seq_start']]); - break; - - case 'updates': - $this->add_users($updates['users']); - $this->add_chats($updates['chats']); - $this->handle_multiple_update($updates['updates'], ['date' => $updates['date'], 'seq' => $updates['seq']]); - break; - default: - throw new \danog\MadelineProto\Exception('Unrecognized update received: '.var_export($updates)); - break; - } + public function get_updates_state() { + $this->updates_state['sync_loading'] = false; + $this->getting_state = true; + $this->set_update_state($this->method_call('updates.getState')); + $this->getting_state = false; + $this->handle_pending_updates(); } public function handle_update($update, $options = []) { + \danog\MadelineProto\Logger::log('Handling an update of type '.$update['_'].'...'); + //var_dump($update, $options); + $channel_id = false; switch ($update['_']) { case 'updateNewChannelMessage': case 'updateEditChannelMessage': + if ($update['message']['_'] == 'messageEmpty') { + \danog\MadelineProto\Logger::log('Got message empty, saving...'); + return $this->save_update($update); + } $channel_id = $update['message']['to_id']['channel_id']; break; case 'updateDeleteChannelMessages': @@ -180,53 +176,69 @@ trait UpdateHandler break; case 'updateChannelTooLong': $channel_id = $update['channel_id']; + \danog\MadelineProto\Logger::log('Update channel too long'); if (!isset($this->channels_state[$channel_id])) { + \danog\MadelineProto\Logger::log('I do not have the channel in the states'); return false; } - - return $this->get_channel_difference($channel_id); break; } - - $this->save_update($update); - /* + if ($channel_id === false) { + $cur_state =& $this->get_update_state(); + } else { + $cur_state =& $this->get_channel_state($channel_id, (isset($update['pts']) ? $update['pts'] : 0)-(isset($update['pts_count']) ? $update['pts_count'] : 0)); + } +/* + if ($cur_state['sync_loading']) { + \danog\MadelineProto\Logger::log('Sync loading, not handling update'); + return false; + } +*/ switch ($update['_']) { + case 'updateChannelTooLong': + \danog\MadelineProto\Logger::log('Got channel too long update, getting difference...'); + $this->get_channel_difference($channel_id); + return false; case 'updateNewMessage': case 'updateEditMessage': case 'updateNewChannelMessage': case 'updateEditChannelMessage': $message = $update['message']; - if (isset($message['from_id']) && !isset($this->chats[$message['from_id']]) || - isset($message['fwd_from']['from_id']) && !isset($this->chats[$message['fwd_from']['from_id']]) || - isset($message['fwd_from']['channel_id']) && !isset($this->chats[(int)('-100'.$message['fwd_from']['channel_id'])]) || - !isset($this->get_info($message['to_id'])['bot_api_info'])) { + if ((isset($message['from_id']) && !$this->peer_isset($message['from_id'])) || + !$this->peer_isset($message['to_id']) || + (isset($message['via_bot_id']) && !$this->peer_isset($message['via_bot_id'])) || + (isset($message['entities']) && !$this->entities_peer_isset($message['entities'])) || + (isset($message['fwd_from']) && !$this->fwd_peer_isset($message['fwd_from']))) { - \danog\MadelineProto\Logger::log('Not enough data for message update'); + \danog\MadelineProto\Logger::log('Not enough data for message update, getting difference...'); - if ($channel_id !== false && isset($this->chats[$channel_id])) { + if ($channel_id !== false && $this->peer_isset('-100'.$channel_id)) { $this->get_channel_difference($channel_id); } else { - $this->get_updates_difference(); + $this->force_get_updates_difference(); } return false; } break; default: - if ($channel_id !== false && isset($this->chats[$channel_id])) { + if ($channel_id !== false && !$this->peer_isset('channel#'.$channel_id)) { + \danog\MadelineProto\Logger::log('Skipping update, I do not have the channel id '.$channel_id); return false; } break; } $pop_pts = false; - if ($update['pts']) { + $pop_seq = false; + + if (isset($update['pts'])) { $new_pts = $cur_state['pts'] + (isset($update['pts_count']) ? $update['pts_count'] : 0); if ($new_pts < $update['pts']) { - \danog\MadelineProto\Logger::log('Pts hole', $cur_state, $update, $this->get_info($channel_id)); + \danog\MadelineProto\Logger::log('Pts hole. current pts: '.$cur_state['pts'].', pts count: '.(isset($update['pts_count']) ? $update['pts_count'] : 0).', new pts: '.$new_pts.' < update pts: '.$update['pts'].', channel id: '.$channel_id); - $this->cur_state['pop_pts'][] = $update; + $this->cur_state['pending_pts_updates'][] = $update; - if ($channel_id && isset($this->chats[$channel_id])) { + if ($channel_id !== false && $this->peer_isset('-100'.$channel_id)) { $this->get_channel_difference($channel_id); } else { $this->get_updates_difference(); @@ -234,70 +246,122 @@ trait UpdateHandler return false; } - if ($new_pts > $update['pts']) { + if ($update['pts'] > $cur_state['pts']) { $cur_state['pts'] = $update['pts']; $pop_pts = true; - } else if ($update['pts_count']) { + } else if (isset($update['pts_count'])) { + \danog\MadelineProto\Logger::log('Duplicate update. current pts: '.$cur_state['pts'].' + pts count: '.(isset($update['pts_count']) ? $update['pts_count'] : 0).' = new pts: '.$new_pts.'. update pts: '.$update['pts'].' <= current pts '.$cur_state['pts'].', channel id: '.$channel_id); return false; } - } else if (!$channel_id && isset($options['seq']) && $options['seq'] > 0) { + if ($channel_id !== false && isset($options['date']) && $this->get_update_state()['date'] < $options['date']) { + $this->get_update_state()['date'] = $options['date']; + } + } else if ($channel_id === false && isset($options['seq']) && $options['seq'] > 0) { $seq = $options['seq']; $seq_start = isset($options['seq_start']) ? $options['seq_start'] : $options['seq']; + if ($seq_start != $cur_state['seq'] + 1 && $seq_start > $cur_state['seq']) { + \danog\MadelineProto\Logger::log('Seq hole. seq_start: '.$seq_start.' != cur seq: '.$cur_state['seq'].' + 1'); - - if ($seq_start != $cur_state['seq'] + 1) { - if ($seq_start > $cur_state['seq']) { - \danog\MadelineProto\Logger::('Seq hole', $cur_state); - - if (!isset($cur_state['pending_seq_updates'][$seq_start])) { - $cur_state['pending_seq_updates'][$seq_start] = ['seq' => $seq, 'date': $options['date'], 'updates' => []]; - } - $cur_state['pending_seq_updates'][$seq_start][] = $update; - - if (!$cur_state.syncPending.seqAwaiting || - $cur_state.syncPending.seqAwaiting < $seq_start) { - $cur_state.syncPending.seqAwaiting = $seq_start + if (!isset($cur_state['pending_seq_updates'][$seq_start])) { + $cur_state['pending_seq_updates'][$seq_start] = ['seq' => $seq, 'date' => $options['date'], 'updates' => []]; } + $cur_state['pending_seq_updates'][$seq_start]['updates'][] = $update; + $this->get_updates_difference(); return false; } + + if ($cur_state['seq'] != $seq) { + $cur_state['seq'] = $seq; + if (isset($options['date']) && $cur_state['date'] < $options['date']) { + $cur_state['date'] = $options['date']; + } + $pop_seq = true; + } } + $this->save_update($update); - if (curState.seq != seq) { - curState.seq = seq - if (options.date && curState.date < options.date) { - curState.date = options.date - } - popSeq = true + if ($pop_pts) { + $this->pop_pending_pts_update($channel_id); + } else if ($pop_seq) { + $this->pop_pending_seq_update(); } - } - - saveUpdate(update) - - if (popPts) { - popPendingPtsUpdate(channelID) - } - else if (popSeq) { - popPendingSeqUpdate() -}*/ } - public function handle_multiple_update($updates, $options = []) + public function pop_pending_seq_update() { + $next_seq = $this->get_update_state()['seq'] + 1; + if (empty($this->get_update_state()['pending_seq_updates'][$next_seq]['updates'])) return false; + foreach ($this->get_update_state()['pending_seq_updates'][$next_seq]['updates'] as $update) { + $this->save_update($update); + } + $this->get_update_state()['seq'] = $this->get_update_state()['pending_seq_updates'][$next_seq]['seq']; + if (isset($this->get_update_state()['pending_seq_updates'][$next_seq]['date']) && $this->get_update_state()['date'] < $this->get_update_state()['pending_seq_updates'][$next_seq]['date']) { + $this->get_update_state()['date'] = $this->get_update_state()['pending_seq_updates'][$next_seq]['date']; + } + unset($this->get_update_state()['pending_seq_updates'][$next_seq]); + $this->pop_pending_seq_update(); + + return true; + } + + public function pop_pending_pts_update($channel_id) { + if ($channel_id === false) { + $cur_state =& $this->get_update_state(); + } else { + $cur_state =& $this->get_channel_state($channel_id); + } + if (empty($cur_state['pending_pts_updates'])) { + return false; + } + sort($cur_state['pending_pts_updates']); + $cur_pts = $cur_state['pts']; + $good_pts = false; + $good_index = false; + foreach ($cur_state['pending_pts_updates'] as $i => $update) { + $cur_pts += $update['pts_count']; + if ($cur_pts >= $update['pts']) { + $good_pts = $update['pts']; + $good_index = $i; + } + } + if (!$good_pts) return false; + $cur_state['pts'] = $good_pts; + for ($i = 0; $i <= $good_index; $i++) { + $this->save_update($cur_state['pending_pts_updates'][$i]); + } + array_splice($cur_state['pending_pts_updates'], 0, $good_index+1); + } + + public function handle_multiple_update($updates, $options = [], $channel = false) { - foreach ($updates as $update) { - $this->handle_update($update, $options); + if ($channel == false) { + foreach ($updates as $update) { + switch ($update['_']) { + case 'updateChannelTooLong': + case 'updateNewChannelMessage': + case 'updateEditChannelMessage': + $this->handle_update($update, $options); + continue 2; + } + $this->save_update($update); + } + } else { + foreach ($updates as $update) { + $this->save_update($update); + } } } public function handle_update_messages($messages, $channel = false) { foreach ($messages as $message) { - $this->save_update(['_' => $channel == false ? 'updateNewMessage' : 'updateNewChannelMessage', 'message' => $message, 'pts' => $channel == false ? $this->updates_state['pts'] : $this->get_channel_state($channel)['pts'], 'pts_count' => 0]); + $this->save_update(['_' => $channel == false ? 'updateNewMessage' : 'updateNewChannelMessage', 'message' => $message, 'pts' => $channel == false ? $this->get_update_state()['pts'] : $this->get_channel_state($channel)['pts'], 'pts_count' => 0]); } } public function save_update($update) { + \danog\MadelineProto\Logger::log('Saving an update of type '.$update['_'].'...'); $this->settings['updates']['callback']($update); } } diff --git a/src/danog/MadelineProto/PrimeModule.php b/src/danog/MadelineProto/PrimeModule.php index 51e791b9..23c5ad99 100644 --- a/src/danog/MadelineProto/PrimeModule.php +++ b/src/danog/MadelineProto/PrimeModule.php @@ -12,7 +12,7 @@ If not, see . namespace danog\MadelineProto; -class PrimeModule extends Tools +class PrimeModule { // Uses https://github.com/LonamiWebs/Telethon/blob/master/telethon/crypto/factorizator.py, thank you so freaking much! public function find_small_multiplier_lopatin($what) diff --git a/src/danog/MadelineProto/RSA.php b/src/danog/MadelineProto/RSA.php index 6fc8fc6b..734341d2 100644 --- a/src/danog/MadelineProto/RSA.php +++ b/src/danog/MadelineProto/RSA.php @@ -12,8 +12,11 @@ If not, see . namespace danog\MadelineProto; -class RSA extends TL\TL +class RSA { + use \danog\MadelineProto\TL\TL; + use \danog\MadelineProto\Tools; + public $n; // phpseclib\Math\BigInteger class public $e; // phpseclib\Math\BigInteger class public $fp; // phpseclib\Math\BigInteger class diff --git a/src/danog/MadelineProto/Serialization.php b/src/danog/MadelineProto/Serialization.php index fead3702..8b45ff8c 100644 --- a/src/danog/MadelineProto/Serialization.php +++ b/src/danog/MadelineProto/Serialization.php @@ -30,6 +30,7 @@ class Serialization public static function deserialize($filename) { + set_error_handler(['\danog\MadelineProto\Exception', 'ExceptionErrorHandler']); return file_exists($filename) ? unserialize(file_get_contents($filename)) : false; } } diff --git a/src/danog/MadelineProto/TL/TL.php b/src/danog/MadelineProto/TL/TL.php index 3a67121f..5926a82d 100644 --- a/src/danog/MadelineProto/TL/TL.php +++ b/src/danog/MadelineProto/TL/TL.php @@ -12,9 +12,9 @@ If not, see . namespace danog\MadelineProto\TL; -class TL extends \danog\MadelineProto\Tools +trait TL { - public function __construct($files) + public function construct_tl($files) { \danog\MadelineProto\Logger::log('Loading TL schemes...'); $this->constructors = new \danog\MadelineProto\TL\TLConstructor(); @@ -134,6 +134,9 @@ class TL extends \danog\MadelineProto\Tools } $auto = false; + if (!is_array($object) && in_array($type['type'], ['User', 'InputUser', 'Chat', 'InputChannel', 'Peer', 'InputPeer'])) { + $object = $this->get_info($object)[$type['type']]; + } if (!isset($object['_'])) { $constructorData = $this->constructors->find_by_predicate($type['type']); if ($constructorData === false) { @@ -211,11 +214,11 @@ class TL extends \danog\MadelineProto\Tools case 'long': $serialized .= \phpseclib\Crypt\Random::string(8); continue 2; - case 'long': + case 'int': $serialized .= \phpseclib\Crypt\Random::string(4); continue 2; case 'Vector t': - if (isset($argumenrs['id'])) { + if (isset($arguments['id'])) { $serialized .= \danog\PHP\Struct::pack('constructors->find_by_predicate('vector')['id']); $serialized .= \danog\PHP\Struct::pack('API->datacenter->authorized = true; - $this->API->get_updates_difference(); - + $this->API->updates = []; + $this->API->get_updates_state(); $this->API->should_serialize = true; - $this->API->updates = []; \danog\MadelineProto\Logger::log('Logged in successfully!'); return $this->API->datacenter->authorization; @@ -101,7 +100,7 @@ trait Login ); $this->API->datacenter->waiting_code = false; $this->API->datacenter->authorized = true; - $this->API->get_updates_difference(); + $this->API->get_updates_state(); $this->API->should_serialize = true; \danog\MadelineProto\Logger::log('Logged in successfully!'); diff --git a/src/danog/MadelineProto/Wrappers/SettingsManager.php b/src/danog/MadelineProto/Wrappers/SettingsManager.php index fd477ae0..42abc9f8 100644 --- a/src/danog/MadelineProto/Wrappers/SettingsManager.php +++ b/src/danog/MadelineProto/Wrappers/SettingsManager.php @@ -24,6 +24,6 @@ trait SettingsManager public function update_settings($settings) { - $this->API->parse_settings($settings); + $this->API->__construct($settings); } } diff --git a/testing.php b/testing.php index bcb61481..b7e9f76f 100755 --- a/testing.php +++ b/testing.php @@ -47,28 +47,34 @@ $MadelineProto = \danog\MadelineProto\Serialization::deserialize('session.madeli $message = (getenv('TRAVIS_COMMIT') == '') ? 'I iz works always (io laborare sembre) (yo lavorar siempre)' : ('Travis ci tests in progress: commit '.getenv('TRAVIS_COMMIT').', job '.getenv('TRAVIS_JOB_NUMBER').', PHP version: '.getenv('TRAVIS_PHP_VERSION')); $flutter = 'https://storage.pwrtelegram.xyz/pwrtelegrambot/document/file_6570.mp4'; - -$mention = $MadelineProto->get_info('@giuseppe_la_gaipa_2'); // Returns the following array: ['constructor' => $constructor, 'inputPeer' => $inputPeer, 'inputType' => $inputType, 'Peer' => $Peer, 'id' => $id, 'botApiId' => $bot_api_id] -$mention = $mention['inputType']; // Selects only the inputType object +$mention = $MadelineProto->get_info('@danogentili'); // Returns an array with all of the constructors that can be extracted from a username or an id +$mention = $mention['user_id']; // Selects only the numeric user id foreach (['@pwrtelegramgroup', '@pwrtelegramgroupita'] as $peer) { - $peer = $MadelineProto->get_info($peer)['inputPeer']; // Select the inputPeerType (alias inputPeer) object $sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'entities' => [['_' => 'inputMessageEntityMentionName', 'offset' => 0, 'length' => strlen($message), 'user_id' => $mention]]]); \danog\MadelineProto\Logger::log($sentMessage); } sleep(5); -$MadelineProto->API->get_updates_difference(); +var_dump($MadelineProto->API->get_updates()); echo 'Size of MadelineProto instance is '.strlen(serialize($MadelineProto)).' bytes'.PHP_EOL; + if (file_exists('token.php')) { include_once 'token.php'; $MadelineProto = new \danog\MadelineProto\API($settings); $authorization = $MadelineProto->bot_login($token); \danog\MadelineProto\Logger::log($authorization); } +$message = 'yay'; +$mention = $MadelineProto->get_info('@danogentili'); // Returns an array with all of the constructors that can be extracted from a username or an id +$mention = $mention['user_id']; // Selects only the numeric user id + + foreach (['@pwrtelegramgroup', '@pwrtelegramgroupita'] as $peer) { - $peer = $MadelineProto->get_info($peer)['inputPeer']; // Select the inputPeerType (alias inputPeer) object $sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'entities' => [['_' => 'inputMessageEntityMentionName', 'offset' => 0, 'length' => strlen($message), 'user_id' => $mention]]]); \danog\MadelineProto\Logger::log($sentMessage); } +sleep(5); +var_dump($MadelineProto->API->get_updates()); +