mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-04 12:10:21 +03:00
Rename telethon_aio back to telethon
This commit is contained in:
parent
bcd5f8d4a1
commit
e505fc1711
8
.gitignore
vendored
8
.gitignore
vendored
|
@ -2,10 +2,10 @@
|
||||||
_build/
|
_build/
|
||||||
|
|
||||||
# Generated code
|
# Generated code
|
||||||
telethon_aio/tl/functions/
|
telethon/tl/functions/
|
||||||
telethon_aio/tl/types/
|
telethon/tl/types/
|
||||||
telethon_aio/tl/all_tlobjects.py
|
telethon/tl/all_tlobjects.py
|
||||||
telethon_aio/errors/rpc_error_list.py
|
telethon/errors/rpc_error_list.py
|
||||||
|
|
||||||
# User session
|
# User session
|
||||||
*.session
|
*.session
|
||||||
|
|
|
@ -37,7 +37,7 @@ Creating a client
|
||||||
.. code:: python
|
.. code:: python
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
from telethon_aio import TelegramClient
|
from telethon import TelegramClient
|
||||||
|
|
||||||
# These example values won't work. You must get your own api_id and
|
# These example values won't work. You must get your own api_id and
|
||||||
# api_hash from https://my.telegram.org, under API Development.
|
# api_hash from https://my.telegram.org, under API Development.
|
||||||
|
|
6
setup.py
6
setup.py
|
@ -37,11 +37,11 @@ class TempWorkDir:
|
||||||
os.chdir(self.original)
|
os.chdir(self.original)
|
||||||
|
|
||||||
|
|
||||||
ERROR_LIST = 'telethon_aio/errors/rpc_error_list.py'
|
ERROR_LIST = 'telethon/errors/rpc_error_list.py'
|
||||||
ERRORS_JSON = 'telethon_generator/errors.json'
|
ERRORS_JSON = 'telethon_generator/errors.json'
|
||||||
ERRORS_DESC = 'telethon_generator/error_descriptions'
|
ERRORS_DESC = 'telethon_generator/error_descriptions'
|
||||||
SCHEME_TL = 'telethon_generator/scheme.tl'
|
SCHEME_TL = 'telethon_generator/scheme.tl'
|
||||||
GENERATOR_DIR = 'telethon_aio/tl'
|
GENERATOR_DIR = 'telethon/tl'
|
||||||
IMPORT_DEPTH = 2
|
IMPORT_DEPTH = 2
|
||||||
|
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ def main():
|
||||||
with open('README.rst', encoding='utf-8') as f:
|
with open('README.rst', encoding='utf-8') as f:
|
||||||
long_description = f.read()
|
long_description = f.read()
|
||||||
|
|
||||||
with open('telethon_aio/version.py', encoding='utf-8') as f:
|
with open('telethon/version.py', encoding='utf-8') as f:
|
||||||
version = re.search(r"^__version__\s*=\s*'(.*)'.*$",
|
version = re.search(r"^__version__\s*=\s*'(.*)'.*$",
|
||||||
f.read(), flags=re.MULTILINE).group(1)
|
f.read(), flags=re.MULTILINE).group(1)
|
||||||
setup(
|
setup(
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,892 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
|
|
||||||
from . import types, functions
|
|
||||||
|
|
||||||
LAYER = 75
|
|
||||||
|
|
||||||
tlobjects = {
|
|
||||||
0x05162463: types.ResPQ,
|
|
||||||
0x83c95aec: types.PQInnerData,
|
|
||||||
0x79cb045d: types.ServerDHParamsFail,
|
|
||||||
0xd0e8075c: types.ServerDHParamsOk,
|
|
||||||
0xb5890dba: types.ServerDHInnerData,
|
|
||||||
0x6643b654: types.ClientDHInnerData,
|
|
||||||
0x3bcbf734: types.DhGenOk,
|
|
||||||
0x46dc1fb9: types.DhGenRetry,
|
|
||||||
0xa69dae02: types.DhGenFail,
|
|
||||||
0xf660e1d4: types.DestroyAuthKeyOk,
|
|
||||||
0x0a9f2259: types.DestroyAuthKeyNone,
|
|
||||||
0xea109b13: types.DestroyAuthKeyFail,
|
|
||||||
0x60469778: functions.ReqPqRequest,
|
|
||||||
0xbe7e8ef1: functions.ReqPqMultiRequest,
|
|
||||||
0xd712e4be: functions.ReqDHParamsRequest,
|
|
||||||
0xf5045f1f: functions.SetClientDHParamsRequest,
|
|
||||||
0xd1435160: functions.DestroyAuthKeyRequest,
|
|
||||||
0x62d6b459: types.MsgsAck,
|
|
||||||
0xa7eff811: types.BadMsgNotification,
|
|
||||||
0xedab447b: types.BadServerSalt,
|
|
||||||
0xda69fb52: types.MsgsStateReq,
|
|
||||||
0x04deb57d: types.MsgsStateInfo,
|
|
||||||
0x8cc0d131: types.MsgsAllInfo,
|
|
||||||
0x276d3ec6: types.MsgDetailedInfo,
|
|
||||||
0x809db6df: types.MsgNewDetailedInfo,
|
|
||||||
0x7d861a08: types.MsgResendReq,
|
|
||||||
0x2144ca19: types.RpcError,
|
|
||||||
0x5e2ad36e: types.RpcAnswerUnknown,
|
|
||||||
0xcd78e586: types.RpcAnswerDroppedRunning,
|
|
||||||
0xa43ad8b7: types.RpcAnswerDropped,
|
|
||||||
0x0949d9dc: types.FutureSalt,
|
|
||||||
0xae500895: types.FutureSalts,
|
|
||||||
0x347773c5: types.Pong,
|
|
||||||
0xe22045fc: types.DestroySessionOk,
|
|
||||||
0x62d350c9: types.DestroySessionNone,
|
|
||||||
0x9ec20908: types.NewSessionCreated,
|
|
||||||
0x9299359f: types.HttpWait,
|
|
||||||
0xd433ad73: types.IpPort,
|
|
||||||
0xd997c3c5: types.help.ConfigSimple,
|
|
||||||
0x58e4a740: functions.RpcDropAnswerRequest,
|
|
||||||
0xb921bd04: functions.GetFutureSaltsRequest,
|
|
||||||
0x7abe77ec: functions.PingRequest,
|
|
||||||
0xf3427b8c: functions.PingDelayDisconnectRequest,
|
|
||||||
0xe7512126: functions.DestroySessionRequest,
|
|
||||||
0x9a5f6e95: functions.contest.SaveDeveloperInfoRequest,
|
|
||||||
0xc4b9f9bb: types.Error,
|
|
||||||
0x56730bcc: types.Null,
|
|
||||||
0x7f3b18ea: types.InputPeerEmpty,
|
|
||||||
0x7da07ec9: types.InputPeerSelf,
|
|
||||||
0x179be863: types.InputPeerChat,
|
|
||||||
0x7b8e7de6: types.InputPeerUser,
|
|
||||||
0x20adaef8: types.InputPeerChannel,
|
|
||||||
0xb98886cf: types.InputUserEmpty,
|
|
||||||
0xf7c1b13f: types.InputUserSelf,
|
|
||||||
0xd8292816: types.InputUser,
|
|
||||||
0xf392b7f4: types.InputPhoneContact,
|
|
||||||
0xf52ff27f: types.InputFile,
|
|
||||||
0xfa4f0bb5: types.InputFileBig,
|
|
||||||
0x9664f57f: types.InputMediaEmpty,
|
|
||||||
0x1e287d04: types.InputMediaUploadedPhoto,
|
|
||||||
0xb3ba0635: types.InputMediaPhoto,
|
|
||||||
0xf9c44144: types.InputMediaGeoPoint,
|
|
||||||
0xa6e45987: types.InputMediaContact,
|
|
||||||
0x5b38c6c1: types.InputMediaUploadedDocument,
|
|
||||||
0x23ab23d2: types.InputMediaDocument,
|
|
||||||
0xc13d1c11: types.InputMediaVenue,
|
|
||||||
0x4843b0fd: types.InputMediaGifExternal,
|
|
||||||
0xe5bbfe1a: types.InputMediaPhotoExternal,
|
|
||||||
0xfb52dc99: types.InputMediaDocumentExternal,
|
|
||||||
0xd33f43f3: types.InputMediaGame,
|
|
||||||
0xf4e096c3: types.InputMediaInvoice,
|
|
||||||
0x7b1a118f: types.InputMediaGeoLive,
|
|
||||||
0x1ca48f57: types.InputChatPhotoEmpty,
|
|
||||||
0x927c55b4: types.InputChatUploadedPhoto,
|
|
||||||
0x8953ad37: types.InputChatPhoto,
|
|
||||||
0xe4c123d6: types.InputGeoPointEmpty,
|
|
||||||
0xf3b7acc9: types.InputGeoPoint,
|
|
||||||
0x1cd7bf0d: types.InputPhotoEmpty,
|
|
||||||
0xfb95c6c4: types.InputPhoto,
|
|
||||||
0x14637196: types.InputFileLocation,
|
|
||||||
0xf5235d55: types.InputEncryptedFileLocation,
|
|
||||||
0x430f0724: types.InputDocumentFileLocation,
|
|
||||||
0x770656a8: types.InputAppEvent,
|
|
||||||
0x9db1bc6d: types.PeerUser,
|
|
||||||
0xbad0e5bb: types.PeerChat,
|
|
||||||
0xbddde532: types.PeerChannel,
|
|
||||||
0xaa963b05: types.storage.FileUnknown,
|
|
||||||
0x40bc6f52: types.storage.FilePartial,
|
|
||||||
0x007efe0e: types.storage.FileJpeg,
|
|
||||||
0xcae1aadf: types.storage.FileGif,
|
|
||||||
0x0a4f63c0: types.storage.FilePng,
|
|
||||||
0xae1e508d: types.storage.FilePdf,
|
|
||||||
0x528a0677: types.storage.FileMp3,
|
|
||||||
0x4b09ebbc: types.storage.FileMov,
|
|
||||||
0xb3cea0e4: types.storage.FileMp4,
|
|
||||||
0x1081464c: types.storage.FileWebp,
|
|
||||||
0x7c596b46: types.FileLocationUnavailable,
|
|
||||||
0x53d69076: types.FileLocation,
|
|
||||||
0x200250ba: types.UserEmpty,
|
|
||||||
0x2e13f4c3: types.User,
|
|
||||||
0x4f11bae1: types.UserProfilePhotoEmpty,
|
|
||||||
0xd559d8c8: types.UserProfilePhoto,
|
|
||||||
0x09d05049: types.UserStatusEmpty,
|
|
||||||
0xedb93949: types.UserStatusOnline,
|
|
||||||
0x008c703f: types.UserStatusOffline,
|
|
||||||
0xe26f42f1: types.UserStatusRecently,
|
|
||||||
0x07bf09fc: types.UserStatusLastWeek,
|
|
||||||
0x77ebc742: types.UserStatusLastMonth,
|
|
||||||
0x9ba2d800: types.ChatEmpty,
|
|
||||||
0xd91cdd54: types.Chat,
|
|
||||||
0x07328bdb: types.ChatForbidden,
|
|
||||||
0x450b7115: types.Channel,
|
|
||||||
0x289da732: types.ChannelForbidden,
|
|
||||||
0x2e02a614: types.ChatFull,
|
|
||||||
0x76af5481: types.ChannelFull,
|
|
||||||
0xc8d7493e: types.ChatParticipant,
|
|
||||||
0xda13538a: types.ChatParticipantCreator,
|
|
||||||
0xe2d6e436: types.ChatParticipantAdmin,
|
|
||||||
0xfc900c2b: types.ChatParticipantsForbidden,
|
|
||||||
0x3f460fed: types.ChatParticipants,
|
|
||||||
0x37c1011c: types.ChatPhotoEmpty,
|
|
||||||
0x6153276a: types.ChatPhoto,
|
|
||||||
0x83e5de54: types.MessageEmpty,
|
|
||||||
0x44f9b43d: types.Message,
|
|
||||||
0x9e19a1f6: types.MessageService,
|
|
||||||
0x3ded6320: types.MessageMediaEmpty,
|
|
||||||
0x695150d7: types.MessageMediaPhoto,
|
|
||||||
0x56e0d474: types.MessageMediaGeo,
|
|
||||||
0x5e7d2f39: types.MessageMediaContact,
|
|
||||||
0x9f84f49e: types.MessageMediaUnsupported,
|
|
||||||
0x9cb070d7: types.MessageMediaDocument,
|
|
||||||
0xa32dd600: types.MessageMediaWebPage,
|
|
||||||
0x2ec0533f: types.MessageMediaVenue,
|
|
||||||
0xfdb19008: types.MessageMediaGame,
|
|
||||||
0x84551347: types.MessageMediaInvoice,
|
|
||||||
0x7c3c2609: types.MessageMediaGeoLive,
|
|
||||||
0xb6aef7b0: types.MessageActionEmpty,
|
|
||||||
0xa6638b9a: types.MessageActionChatCreate,
|
|
||||||
0xb5a1ce5a: types.MessageActionChatEditTitle,
|
|
||||||
0x7fcb13a8: types.MessageActionChatEditPhoto,
|
|
||||||
0x95e3fbef: types.MessageActionChatDeletePhoto,
|
|
||||||
0x488a7337: types.MessageActionChatAddUser,
|
|
||||||
0xb2ae9b0c: types.MessageActionChatDeleteUser,
|
|
||||||
0xf89cf5e8: types.MessageActionChatJoinedByLink,
|
|
||||||
0x95d2ac92: types.MessageActionChannelCreate,
|
|
||||||
0x51bdb021: types.MessageActionChatMigrateTo,
|
|
||||||
0xb055eaee: types.MessageActionChannelMigrateFrom,
|
|
||||||
0x94bd38ed: types.MessageActionPinMessage,
|
|
||||||
0x9fbab604: types.MessageActionHistoryClear,
|
|
||||||
0x92a72876: types.MessageActionGameScore,
|
|
||||||
0x8f31b327: types.MessageActionPaymentSentMe,
|
|
||||||
0x40699cd0: types.MessageActionPaymentSent,
|
|
||||||
0x80e11a7f: types.MessageActionPhoneCall,
|
|
||||||
0x4792929b: types.MessageActionScreenshotTaken,
|
|
||||||
0xfae69f56: types.MessageActionCustomAction,
|
|
||||||
0xe4def5db: types.Dialog,
|
|
||||||
0x2331b22d: types.PhotoEmpty,
|
|
||||||
0x9288dd29: types.Photo,
|
|
||||||
0x0e17e23c: types.PhotoSizeEmpty,
|
|
||||||
0x77bfb61b: types.PhotoSize,
|
|
||||||
0xe9a734fa: types.PhotoCachedSize,
|
|
||||||
0x1117dd5f: types.GeoPointEmpty,
|
|
||||||
0x2049d70c: types.GeoPoint,
|
|
||||||
0x811ea28e: types.auth.CheckedPhone,
|
|
||||||
0x5e002502: types.auth.SentCode,
|
|
||||||
0xcd050916: types.auth.Authorization,
|
|
||||||
0xdf969c2d: types.auth.ExportedAuthorization,
|
|
||||||
0xb8bc5b0c: types.InputNotifyPeer,
|
|
||||||
0x193b4417: types.InputNotifyUsers,
|
|
||||||
0x4a95e84e: types.InputNotifyChats,
|
|
||||||
0xa429b886: types.InputNotifyAll,
|
|
||||||
0xf03064d8: types.InputPeerNotifyEventsEmpty,
|
|
||||||
0xe86a2c74: types.InputPeerNotifyEventsAll,
|
|
||||||
0x38935eb2: types.InputPeerNotifySettings,
|
|
||||||
0xadd53cb3: types.PeerNotifyEventsEmpty,
|
|
||||||
0x6d1ded88: types.PeerNotifyEventsAll,
|
|
||||||
0x70a68512: types.PeerNotifySettingsEmpty,
|
|
||||||
0x9acda4c0: types.PeerNotifySettings,
|
|
||||||
0x818426cd: types.PeerSettings,
|
|
||||||
0xccb03657: types.WallPaper,
|
|
||||||
0x63117f24: types.WallPaperSolid,
|
|
||||||
0x58dbcab8: types.InputReportReasonSpam,
|
|
||||||
0x1e22c78d: types.InputReportReasonViolence,
|
|
||||||
0x2e59d922: types.InputReportReasonPornography,
|
|
||||||
0xe1746d0a: types.InputReportReasonOther,
|
|
||||||
0x0f220f3f: types.UserFull,
|
|
||||||
0xf911c994: types.Contact,
|
|
||||||
0xd0028438: types.ImportedContact,
|
|
||||||
0x561bc879: types.ContactBlocked,
|
|
||||||
0xd3680c61: types.ContactStatus,
|
|
||||||
0x3ace484c: types.contacts.Link,
|
|
||||||
0xb74ba9d2: types.contacts.ContactsNotModified,
|
|
||||||
0xeae87e42: types.contacts.Contacts,
|
|
||||||
0x77d01c3b: types.contacts.ImportedContacts,
|
|
||||||
0x1c138d15: types.contacts.Blocked,
|
|
||||||
0x900802a1: types.contacts.BlockedSlice,
|
|
||||||
0x15ba6c40: types.messages.Dialogs,
|
|
||||||
0x71e094f3: types.messages.DialogsSlice,
|
|
||||||
0x8c718e87: types.messages.Messages,
|
|
||||||
0x0b446ae3: types.messages.MessagesSlice,
|
|
||||||
0x99262e37: types.messages.ChannelMessages,
|
|
||||||
0x74535f21: types.messages.MessagesNotModified,
|
|
||||||
0x64ff9fd5: types.messages.Chats,
|
|
||||||
0x9cd81144: types.messages.ChatsSlice,
|
|
||||||
0xe5d7d19c: types.messages.ChatFull,
|
|
||||||
0xb45c69d1: types.messages.AffectedHistory,
|
|
||||||
0x57e2f66c: types.InputMessagesFilterEmpty,
|
|
||||||
0x9609a51c: types.InputMessagesFilterPhotos,
|
|
||||||
0x9fc00e65: types.InputMessagesFilterVideo,
|
|
||||||
0x56e9f0e4: types.InputMessagesFilterPhotoVideo,
|
|
||||||
0x9eddf188: types.InputMessagesFilterDocument,
|
|
||||||
0x7ef0dd87: types.InputMessagesFilterUrl,
|
|
||||||
0xffc86587: types.InputMessagesFilterGif,
|
|
||||||
0x50f5c392: types.InputMessagesFilterVoice,
|
|
||||||
0x3751b49e: types.InputMessagesFilterMusic,
|
|
||||||
0x3a20ecb8: types.InputMessagesFilterChatPhotos,
|
|
||||||
0x80c99768: types.InputMessagesFilterPhoneCalls,
|
|
||||||
0x7a7c17a4: types.InputMessagesFilterRoundVoice,
|
|
||||||
0xb549da53: types.InputMessagesFilterRoundVideo,
|
|
||||||
0xc1f8e69a: types.InputMessagesFilterMyMentions,
|
|
||||||
0xe7026d0d: types.InputMessagesFilterGeo,
|
|
||||||
0xe062db83: types.InputMessagesFilterContacts,
|
|
||||||
0x1f2b0afd: types.UpdateNewMessage,
|
|
||||||
0x4e90bfd6: types.UpdateMessageID,
|
|
||||||
0xa20db0e5: types.UpdateDeleteMessages,
|
|
||||||
0x5c486927: types.UpdateUserTyping,
|
|
||||||
0x9a65ea1f: types.UpdateChatUserTyping,
|
|
||||||
0x07761198: types.UpdateChatParticipants,
|
|
||||||
0x1bfbd823: types.UpdateUserStatus,
|
|
||||||
0xa7332b73: types.UpdateUserName,
|
|
||||||
0x95313b0c: types.UpdateUserPhoto,
|
|
||||||
0x2575bbb9: types.UpdateContactRegistered,
|
|
||||||
0x9d2e67c5: types.UpdateContactLink,
|
|
||||||
0x12bcbd9a: types.UpdateNewEncryptedMessage,
|
|
||||||
0x1710f156: types.UpdateEncryptedChatTyping,
|
|
||||||
0xb4a2e88d: types.UpdateEncryption,
|
|
||||||
0x38fe25b7: types.UpdateEncryptedMessagesRead,
|
|
||||||
0xea4b0e5c: types.UpdateChatParticipantAdd,
|
|
||||||
0x6e5f8c22: types.UpdateChatParticipantDelete,
|
|
||||||
0x8e5e9873: types.UpdateDcOptions,
|
|
||||||
0x80ece81a: types.UpdateUserBlocked,
|
|
||||||
0xbec268ef: types.UpdateNotifySettings,
|
|
||||||
0xebe46819: types.UpdateServiceNotification,
|
|
||||||
0xee3b272a: types.UpdatePrivacy,
|
|
||||||
0x12b9417b: types.UpdateUserPhone,
|
|
||||||
0x9961fd5c: types.UpdateReadHistoryInbox,
|
|
||||||
0x2f2f21bf: types.UpdateReadHistoryOutbox,
|
|
||||||
0x7f891213: types.UpdateWebPage,
|
|
||||||
0x68c13933: types.UpdateReadMessagesContents,
|
|
||||||
0xeb0467fb: types.UpdateChannelTooLong,
|
|
||||||
0xb6d45656: types.UpdateChannel,
|
|
||||||
0x62ba04d9: types.UpdateNewChannelMessage,
|
|
||||||
0x4214f37f: types.UpdateReadChannelInbox,
|
|
||||||
0xc37521c9: types.UpdateDeleteChannelMessages,
|
|
||||||
0x98a12b4b: types.UpdateChannelMessageViews,
|
|
||||||
0x6e947941: types.UpdateChatAdmins,
|
|
||||||
0xb6901959: types.UpdateChatParticipantAdmin,
|
|
||||||
0x688a30aa: types.UpdateNewStickerSet,
|
|
||||||
0x0bb2d201: types.UpdateStickerSetsOrder,
|
|
||||||
0x43ae3dec: types.UpdateStickerSets,
|
|
||||||
0x9375341e: types.UpdateSavedGifs,
|
|
||||||
0x54826690: types.UpdateBotInlineQuery,
|
|
||||||
0x0e48f964: types.UpdateBotInlineSend,
|
|
||||||
0x1b3f4df7: types.UpdateEditChannelMessage,
|
|
||||||
0x98592475: types.UpdateChannelPinnedMessage,
|
|
||||||
0xe73547e1: types.UpdateBotCallbackQuery,
|
|
||||||
0xe40370a3: types.UpdateEditMessage,
|
|
||||||
0xf9d27a5a: types.UpdateInlineBotCallbackQuery,
|
|
||||||
0x25d6c9c7: types.UpdateReadChannelOutbox,
|
|
||||||
0xee2bb969: types.UpdateDraftMessage,
|
|
||||||
0x571d2742: types.UpdateReadFeaturedStickers,
|
|
||||||
0x9a422c20: types.UpdateRecentStickers,
|
|
||||||
0xa229dd06: types.UpdateConfig,
|
|
||||||
0x3354678f: types.UpdatePtsChanged,
|
|
||||||
0x40771900: types.UpdateChannelWebPage,
|
|
||||||
0xd711a2cc: types.UpdateDialogPinned,
|
|
||||||
0xd8caf68d: types.UpdatePinnedDialogs,
|
|
||||||
0x8317c0c3: types.UpdateBotWebhookJSON,
|
|
||||||
0x9b9240a6: types.UpdateBotWebhookJSONQuery,
|
|
||||||
0xe0cdc940: types.UpdateBotShippingQuery,
|
|
||||||
0x5d2f3aa9: types.UpdateBotPrecheckoutQuery,
|
|
||||||
0xab0f6b1e: types.UpdatePhoneCall,
|
|
||||||
0x10c2404b: types.UpdateLangPackTooLong,
|
|
||||||
0x56022f4d: types.UpdateLangPack,
|
|
||||||
0xe511996d: types.UpdateFavedStickers,
|
|
||||||
0x89893b45: types.UpdateChannelReadMessagesContents,
|
|
||||||
0x7084a7be: types.UpdateContactsReset,
|
|
||||||
0x70db6837: types.UpdateChannelAvailableMessages,
|
|
||||||
0xa56c2a3e: types.updates.State,
|
|
||||||
0x5d75a138: types.updates.DifferenceEmpty,
|
|
||||||
0x00f49ca0: types.updates.Difference,
|
|
||||||
0xa8fb1981: types.updates.DifferenceSlice,
|
|
||||||
0x4afe8f6d: types.updates.DifferenceTooLong,
|
|
||||||
0xe317af7e: types.UpdatesTooLong,
|
|
||||||
0x914fbf11: types.UpdateShortMessage,
|
|
||||||
0x16812688: types.UpdateShortChatMessage,
|
|
||||||
0x78d4dec1: types.UpdateShort,
|
|
||||||
0x725b04c3: types.UpdatesCombined,
|
|
||||||
0x74ae4240: types.Updates,
|
|
||||||
0x11f1331c: types.UpdateShortSentMessage,
|
|
||||||
0x8dca6aa5: types.photos.Photos,
|
|
||||||
0x15051f54: types.photos.PhotosSlice,
|
|
||||||
0x20212ca8: types.photos.Photo,
|
|
||||||
0x096a18d5: types.upload.File,
|
|
||||||
0xea52fe5a: types.upload.FileCdnRedirect,
|
|
||||||
0x05d8c6cc: types.DcOption,
|
|
||||||
0x9c840964: types.Config,
|
|
||||||
0x8e1a1775: types.NearestDc,
|
|
||||||
0x8987f311: types.help.AppUpdate,
|
|
||||||
0xc45a6536: types.help.NoAppUpdate,
|
|
||||||
0x18cb9f78: types.help.InviteText,
|
|
||||||
0xab7ec0a0: types.EncryptedChatEmpty,
|
|
||||||
0x3bf703dc: types.EncryptedChatWaiting,
|
|
||||||
0xc878527e: types.EncryptedChatRequested,
|
|
||||||
0xfa56ce36: types.EncryptedChat,
|
|
||||||
0x13d6dd27: types.EncryptedChatDiscarded,
|
|
||||||
0xf141b5e1: types.InputEncryptedChat,
|
|
||||||
0xc21f497e: types.EncryptedFileEmpty,
|
|
||||||
0x4a70994c: types.EncryptedFile,
|
|
||||||
0x1837c364: types.InputEncryptedFileEmpty,
|
|
||||||
0x64bd0306: types.InputEncryptedFileUploaded,
|
|
||||||
0x5a17b5e5: types.InputEncryptedFile,
|
|
||||||
0x2dc173c8: types.InputEncryptedFileBigUploaded,
|
|
||||||
0xed18c118: types.EncryptedMessage,
|
|
||||||
0x23734b06: types.EncryptedMessageService,
|
|
||||||
0xc0e24635: types.messages.DhConfigNotModified,
|
|
||||||
0x2c221edd: types.messages.DhConfig,
|
|
||||||
0x560f8935: types.messages.SentEncryptedMessage,
|
|
||||||
0x9493ff32: types.messages.SentEncryptedFile,
|
|
||||||
0x72f0eaae: types.InputDocumentEmpty,
|
|
||||||
0x18798952: types.InputDocument,
|
|
||||||
0x36f8c871: types.DocumentEmpty,
|
|
||||||
0x87232bc7: types.Document,
|
|
||||||
0x17c6b5f6: types.help.Support,
|
|
||||||
0x9fd40bd8: types.NotifyPeer,
|
|
||||||
0xb4c83b4c: types.NotifyUsers,
|
|
||||||
0xc007cec3: types.NotifyChats,
|
|
||||||
0x74d07c60: types.NotifyAll,
|
|
||||||
0x16bf744e: types.SendMessageTypingAction,
|
|
||||||
0xfd5ec8f5: types.SendMessageCancelAction,
|
|
||||||
0xa187d66f: types.SendMessageRecordVideoAction,
|
|
||||||
0xe9763aec: types.SendMessageUploadVideoAction,
|
|
||||||
0xd52f73f7: types.SendMessageRecordAudioAction,
|
|
||||||
0xf351d7ab: types.SendMessageUploadAudioAction,
|
|
||||||
0xd1d34a26: types.SendMessageUploadPhotoAction,
|
|
||||||
0xaa0cd9e4: types.SendMessageUploadDocumentAction,
|
|
||||||
0x176f8ba1: types.SendMessageGeoLocationAction,
|
|
||||||
0x628cbc6f: types.SendMessageChooseContactAction,
|
|
||||||
0xdd6a8f48: types.SendMessageGamePlayAction,
|
|
||||||
0x88f27fbc: types.SendMessageRecordRoundAction,
|
|
||||||
0x243e1c66: types.SendMessageUploadRoundAction,
|
|
||||||
0xb3134d9d: types.contacts.Found,
|
|
||||||
0x4f96cb18: types.InputPrivacyKeyStatusTimestamp,
|
|
||||||
0xbdfb0426: types.InputPrivacyKeyChatInvite,
|
|
||||||
0xfabadc5f: types.InputPrivacyKeyPhoneCall,
|
|
||||||
0xbc2eab30: types.PrivacyKeyStatusTimestamp,
|
|
||||||
0x500e6dfa: types.PrivacyKeyChatInvite,
|
|
||||||
0x3d662b7b: types.PrivacyKeyPhoneCall,
|
|
||||||
0x0d09e07b: types.InputPrivacyValueAllowContacts,
|
|
||||||
0x184b35ce: types.InputPrivacyValueAllowAll,
|
|
||||||
0x131cc67f: types.InputPrivacyValueAllowUsers,
|
|
||||||
0x0ba52007: types.InputPrivacyValueDisallowContacts,
|
|
||||||
0xd66b66c9: types.InputPrivacyValueDisallowAll,
|
|
||||||
0x90110467: types.InputPrivacyValueDisallowUsers,
|
|
||||||
0xfffe1bac: types.PrivacyValueAllowContacts,
|
|
||||||
0x65427b82: types.PrivacyValueAllowAll,
|
|
||||||
0x4d5bbe0c: types.PrivacyValueAllowUsers,
|
|
||||||
0xf888fa1a: types.PrivacyValueDisallowContacts,
|
|
||||||
0x8b73e763: types.PrivacyValueDisallowAll,
|
|
||||||
0x0c7f49b7: types.PrivacyValueDisallowUsers,
|
|
||||||
0x554abb6f: types.account.PrivacyRules,
|
|
||||||
0xb8d0afdf: types.AccountDaysTTL,
|
|
||||||
0x6c37c15c: types.DocumentAttributeImageSize,
|
|
||||||
0x11b58939: types.DocumentAttributeAnimated,
|
|
||||||
0x6319d612: types.DocumentAttributeSticker,
|
|
||||||
0x0ef02ce6: types.DocumentAttributeVideo,
|
|
||||||
0x9852f9c6: types.DocumentAttributeAudio,
|
|
||||||
0x15590068: types.DocumentAttributeFilename,
|
|
||||||
0x9801d2f7: types.DocumentAttributeHasStickers,
|
|
||||||
0xf1749a22: types.messages.StickersNotModified,
|
|
||||||
0x8a8ecd32: types.messages.Stickers,
|
|
||||||
0x12b299d4: types.StickerPack,
|
|
||||||
0xe86602c3: types.messages.AllStickersNotModified,
|
|
||||||
0xedfd405f: types.messages.AllStickers,
|
|
||||||
0xae636f24: types.DisabledFeature,
|
|
||||||
0x84d19185: types.messages.AffectedMessages,
|
|
||||||
0x5f4f9247: types.ContactLinkUnknown,
|
|
||||||
0xfeedd3ad: types.ContactLinkNone,
|
|
||||||
0x268f3f59: types.ContactLinkHasPhone,
|
|
||||||
0xd502c2d0: types.ContactLinkContact,
|
|
||||||
0xeb1477e8: types.WebPageEmpty,
|
|
||||||
0xc586da1c: types.WebPagePending,
|
|
||||||
0x5f07b4bc: types.WebPage,
|
|
||||||
0x85849473: types.WebPageNotModified,
|
|
||||||
0x7bf2e6f6: types.Authorization,
|
|
||||||
0x1250abde: types.account.Authorizations,
|
|
||||||
0x96dabc18: types.account.NoPassword,
|
|
||||||
0x7c18141c: types.account.Password,
|
|
||||||
0xb7b72ab3: types.account.PasswordSettings,
|
|
||||||
0x86916deb: types.account.PasswordInputSettings,
|
|
||||||
0x137948a5: types.auth.PasswordRecovery,
|
|
||||||
0xa384b779: types.ReceivedNotifyMessage,
|
|
||||||
0x69df3769: types.ChatInviteEmpty,
|
|
||||||
0xfc2e05bc: types.ChatInviteExported,
|
|
||||||
0x5a686d7c: types.ChatInviteAlready,
|
|
||||||
0xdb74f558: types.ChatInvite,
|
|
||||||
0xffb62b95: types.InputStickerSetEmpty,
|
|
||||||
0x9de7a269: types.InputStickerSetID,
|
|
||||||
0x861cc8a0: types.InputStickerSetShortName,
|
|
||||||
0xcd303b41: types.StickerSet,
|
|
||||||
0xb60a24a6: types.messages.StickerSet,
|
|
||||||
0xc27ac8c7: types.BotCommand,
|
|
||||||
0x98e81d3a: types.BotInfo,
|
|
||||||
0xa2fa4880: types.KeyboardButton,
|
|
||||||
0x258aff05: types.KeyboardButtonUrl,
|
|
||||||
0x683a5e46: types.KeyboardButtonCallback,
|
|
||||||
0xb16a6c29: types.KeyboardButtonRequestPhone,
|
|
||||||
0xfc796b3f: types.KeyboardButtonRequestGeoLocation,
|
|
||||||
0x0568a748: types.KeyboardButtonSwitchInline,
|
|
||||||
0x50f41ccf: types.KeyboardButtonGame,
|
|
||||||
0xafd93fbb: types.KeyboardButtonBuy,
|
|
||||||
0x77608b83: types.KeyboardButtonRow,
|
|
||||||
0xa03e5b85: types.ReplyKeyboardHide,
|
|
||||||
0xf4108aa0: types.ReplyKeyboardForceReply,
|
|
||||||
0x3502758c: types.ReplyKeyboardMarkup,
|
|
||||||
0x48a30254: types.ReplyInlineMarkup,
|
|
||||||
0xbb92ba95: types.MessageEntityUnknown,
|
|
||||||
0xfa04579d: types.MessageEntityMention,
|
|
||||||
0x6f635b0d: types.MessageEntityHashtag,
|
|
||||||
0x6cef8ac7: types.MessageEntityBotCommand,
|
|
||||||
0x6ed02538: types.MessageEntityUrl,
|
|
||||||
0x64e475c2: types.MessageEntityEmail,
|
|
||||||
0xbd610bc9: types.MessageEntityBold,
|
|
||||||
0x826f8b60: types.MessageEntityItalic,
|
|
||||||
0x28a20571: types.MessageEntityCode,
|
|
||||||
0x73924be0: types.MessageEntityPre,
|
|
||||||
0x76a6d327: types.MessageEntityTextUrl,
|
|
||||||
0x352dca58: types.MessageEntityMentionName,
|
|
||||||
0x208e68c9: types.InputMessageEntityMentionName,
|
|
||||||
0xee8c1e86: types.InputChannelEmpty,
|
|
||||||
0xafeb712e: types.InputChannel,
|
|
||||||
0x7f077ad9: types.contacts.ResolvedPeer,
|
|
||||||
0x0ae30253: types.MessageRange,
|
|
||||||
0x3e11affb: types.updates.ChannelDifferenceEmpty,
|
|
||||||
0x6a9d7b35: types.updates.ChannelDifferenceTooLong,
|
|
||||||
0x2064674e: types.updates.ChannelDifference,
|
|
||||||
0x94d42ee7: types.ChannelMessagesFilterEmpty,
|
|
||||||
0xcd77d957: types.ChannelMessagesFilter,
|
|
||||||
0x15ebac1d: types.ChannelParticipant,
|
|
||||||
0xa3289a6d: types.ChannelParticipantSelf,
|
|
||||||
0xe3e2e1f9: types.ChannelParticipantCreator,
|
|
||||||
0xa82fa898: types.ChannelParticipantAdmin,
|
|
||||||
0x222c1886: types.ChannelParticipantBanned,
|
|
||||||
0xde3f3c79: types.ChannelParticipantsRecent,
|
|
||||||
0xb4608969: types.ChannelParticipantsAdmins,
|
|
||||||
0xa3b54985: types.ChannelParticipantsKicked,
|
|
||||||
0xb0d1865b: types.ChannelParticipantsBots,
|
|
||||||
0x1427a5e1: types.ChannelParticipantsBanned,
|
|
||||||
0x0656ac4b: types.ChannelParticipantsSearch,
|
|
||||||
0xf56ee2a8: types.channels.ChannelParticipants,
|
|
||||||
0xf0173fe9: types.channels.ChannelParticipantsNotModified,
|
|
||||||
0xd0d9b163: types.channels.ChannelParticipant,
|
|
||||||
0xf1ee3e90: types.help.TermsOfService,
|
|
||||||
0x162ecc1f: types.FoundGif,
|
|
||||||
0x9c750409: types.FoundGifCached,
|
|
||||||
0x450a1c0a: types.messages.FoundGifs,
|
|
||||||
0xe8025ca2: types.messages.SavedGifsNotModified,
|
|
||||||
0x2e0709a5: types.messages.SavedGifs,
|
|
||||||
0x3380c786: types.InputBotInlineMessageMediaAuto,
|
|
||||||
0x3dcd7a87: types.InputBotInlineMessageText,
|
|
||||||
0xc1b15d65: types.InputBotInlineMessageMediaGeo,
|
|
||||||
0xaaafadc8: types.InputBotInlineMessageMediaVenue,
|
|
||||||
0x2daf01a7: types.InputBotInlineMessageMediaContact,
|
|
||||||
0x4b425864: types.InputBotInlineMessageGame,
|
|
||||||
0x2cbbe15a: types.InputBotInlineResult,
|
|
||||||
0xa8d864a7: types.InputBotInlineResultPhoto,
|
|
||||||
0xfff8fdc4: types.InputBotInlineResultDocument,
|
|
||||||
0x4fa417f2: types.InputBotInlineResultGame,
|
|
||||||
0x764cf810: types.BotInlineMessageMediaAuto,
|
|
||||||
0x8c7f65e2: types.BotInlineMessageText,
|
|
||||||
0xb722de65: types.BotInlineMessageMediaGeo,
|
|
||||||
0x4366232e: types.BotInlineMessageMediaVenue,
|
|
||||||
0x35edb4d4: types.BotInlineMessageMediaContact,
|
|
||||||
0x9bebaeb9: types.BotInlineResult,
|
|
||||||
0x17db940b: types.BotInlineMediaResult,
|
|
||||||
0x947ca848: types.messages.BotResults,
|
|
||||||
0x5dab1af4: types.ExportedMessageLink,
|
|
||||||
0x559ebe6d: types.MessageFwdHeader,
|
|
||||||
0x72a3158c: types.auth.CodeTypeSms,
|
|
||||||
0x741cd3e3: types.auth.CodeTypeCall,
|
|
||||||
0x226ccefb: types.auth.CodeTypeFlashCall,
|
|
||||||
0x3dbb5986: types.auth.SentCodeTypeApp,
|
|
||||||
0xc000bba2: types.auth.SentCodeTypeSms,
|
|
||||||
0x5353e5a7: types.auth.SentCodeTypeCall,
|
|
||||||
0xab03c6d9: types.auth.SentCodeTypeFlashCall,
|
|
||||||
0x36585ea4: types.messages.BotCallbackAnswer,
|
|
||||||
0x26b5dde6: types.messages.MessageEditData,
|
|
||||||
0x890c3d89: types.InputBotInlineMessageID,
|
|
||||||
0x3c20629f: types.InlineBotSwitchPM,
|
|
||||||
0x3371c354: types.messages.PeerDialogs,
|
|
||||||
0xedcdc05b: types.TopPeer,
|
|
||||||
0xab661b5b: types.TopPeerCategoryBotsPM,
|
|
||||||
0x148677e2: types.TopPeerCategoryBotsInline,
|
|
||||||
0x0637b7ed: types.TopPeerCategoryCorrespondents,
|
|
||||||
0xbd17a14a: types.TopPeerCategoryGroups,
|
|
||||||
0x161d9628: types.TopPeerCategoryChannels,
|
|
||||||
0x1e76a78c: types.TopPeerCategoryPhoneCalls,
|
|
||||||
0xfb834291: types.TopPeerCategoryPeers,
|
|
||||||
0xde266ef5: types.contacts.TopPeersNotModified,
|
|
||||||
0x70b772a8: types.contacts.TopPeers,
|
|
||||||
0xba4baec5: types.DraftMessageEmpty,
|
|
||||||
0xfd8e711f: types.DraftMessage,
|
|
||||||
0x04ede3cf: types.messages.FeaturedStickersNotModified,
|
|
||||||
0xf89d88e5: types.messages.FeaturedStickers,
|
|
||||||
0x0b17f890: types.messages.RecentStickersNotModified,
|
|
||||||
0x5ce20970: types.messages.RecentStickers,
|
|
||||||
0x4fcba9c8: types.messages.ArchivedStickers,
|
|
||||||
0x38641628: types.messages.StickerSetInstallResultSuccess,
|
|
||||||
0x35e410a8: types.messages.StickerSetInstallResultArchive,
|
|
||||||
0x6410a5d2: types.StickerSetCovered,
|
|
||||||
0x3407e51b: types.StickerSetMultiCovered,
|
|
||||||
0xaed6dbb2: types.MaskCoords,
|
|
||||||
0x4a992157: types.InputStickeredMediaPhoto,
|
|
||||||
0x0438865b: types.InputStickeredMediaDocument,
|
|
||||||
0xbdf9653b: types.Game,
|
|
||||||
0x032c3e77: types.InputGameID,
|
|
||||||
0xc331e80a: types.InputGameShortName,
|
|
||||||
0x58fffcd0: types.HighScore,
|
|
||||||
0x9a3bfd99: types.messages.HighScores,
|
|
||||||
0xdc3d824f: types.TextEmpty,
|
|
||||||
0x744694e0: types.TextPlain,
|
|
||||||
0x6724abc4: types.TextBold,
|
|
||||||
0xd912a59c: types.TextItalic,
|
|
||||||
0xc12622c4: types.TextUnderline,
|
|
||||||
0x9bf8bb95: types.TextStrike,
|
|
||||||
0x6c3f19b9: types.TextFixed,
|
|
||||||
0x3c2884c1: types.TextUrl,
|
|
||||||
0xde5a0dd6: types.TextEmail,
|
|
||||||
0x7e6260d7: types.TextConcat,
|
|
||||||
0x13567e8a: types.PageBlockUnsupported,
|
|
||||||
0x70abc3fd: types.PageBlockTitle,
|
|
||||||
0x8ffa9a1f: types.PageBlockSubtitle,
|
|
||||||
0xbaafe5e0: types.PageBlockAuthorDate,
|
|
||||||
0xbfd064ec: types.PageBlockHeader,
|
|
||||||
0xf12bb6e1: types.PageBlockSubheader,
|
|
||||||
0x467a0766: types.PageBlockParagraph,
|
|
||||||
0xc070d93e: types.PageBlockPreformatted,
|
|
||||||
0x48870999: types.PageBlockFooter,
|
|
||||||
0xdb20b188: types.PageBlockDivider,
|
|
||||||
0xce0d37b0: types.PageBlockAnchor,
|
|
||||||
0x3a58c7f4: types.PageBlockList,
|
|
||||||
0x263d7c26: types.PageBlockBlockquote,
|
|
||||||
0x4f4456d3: types.PageBlockPullquote,
|
|
||||||
0xe9c69982: types.PageBlockPhoto,
|
|
||||||
0xd9d71866: types.PageBlockVideo,
|
|
||||||
0x39f23300: types.PageBlockCover,
|
|
||||||
0xcde200d1: types.PageBlockEmbed,
|
|
||||||
0x292c7be9: types.PageBlockEmbedPost,
|
|
||||||
0x08b31c4f: types.PageBlockCollage,
|
|
||||||
0x130c8963: types.PageBlockSlideshow,
|
|
||||||
0xef1751b5: types.PageBlockChannel,
|
|
||||||
0x31b81a7f: types.PageBlockAudio,
|
|
||||||
0x8e3f9ebe: types.PagePart,
|
|
||||||
0x556ec7aa: types.PageFull,
|
|
||||||
0x85e42301: types.PhoneCallDiscardReasonMissed,
|
|
||||||
0xe095c1a0: types.PhoneCallDiscardReasonDisconnect,
|
|
||||||
0x57adc690: types.PhoneCallDiscardReasonHangup,
|
|
||||||
0xfaf7e8c9: types.PhoneCallDiscardReasonBusy,
|
|
||||||
0x7d748d04: types.DataJSON,
|
|
||||||
0xcb296bf8: types.LabeledPrice,
|
|
||||||
0xc30aa358: types.Invoice,
|
|
||||||
0xea02c27e: types.PaymentCharge,
|
|
||||||
0x1e8caaeb: types.PostAddress,
|
|
||||||
0x909c3f94: types.PaymentRequestedInfo,
|
|
||||||
0xcdc27a1f: types.PaymentSavedCredentialsCard,
|
|
||||||
0xc61acbd8: types.WebDocument,
|
|
||||||
0x9bed434d: types.InputWebDocument,
|
|
||||||
0xc239d686: types.InputWebFileLocation,
|
|
||||||
0x21e753bc: types.upload.WebFile,
|
|
||||||
0x3f56aea3: types.payments.PaymentForm,
|
|
||||||
0xd1451883: types.payments.ValidatedRequestedInfo,
|
|
||||||
0x4e5f810d: types.payments.PaymentResult,
|
|
||||||
0x6b56b921: types.payments.PaymentVerficationNeeded,
|
|
||||||
0x500911e1: types.payments.PaymentReceipt,
|
|
||||||
0xfb8fe43c: types.payments.SavedInfo,
|
|
||||||
0xc10eb2cf: types.InputPaymentCredentialsSaved,
|
|
||||||
0x3417d728: types.InputPaymentCredentials,
|
|
||||||
0x0aa1c39f: types.InputPaymentCredentialsApplePay,
|
|
||||||
0xca05d50e: types.InputPaymentCredentialsAndroidPay,
|
|
||||||
0xdb64fd34: types.account.TmpPassword,
|
|
||||||
0xb6213cdf: types.ShippingOption,
|
|
||||||
0xffa0a496: types.InputStickerSetItem,
|
|
||||||
0x1e36fded: types.InputPhoneCall,
|
|
||||||
0x5366c915: types.PhoneCallEmpty,
|
|
||||||
0x1b8f4ad1: types.PhoneCallWaiting,
|
|
||||||
0x83761ce4: types.PhoneCallRequested,
|
|
||||||
0x6d003d3f: types.PhoneCallAccepted,
|
|
||||||
0xffe6ab67: types.PhoneCall,
|
|
||||||
0x50ca4de1: types.PhoneCallDiscarded,
|
|
||||||
0x9d4c17c0: types.PhoneConnection,
|
|
||||||
0xa2bb35cb: types.PhoneCallProtocol,
|
|
||||||
0xec82e140: types.phone.PhoneCall,
|
|
||||||
0xeea8e46e: types.upload.CdnFileReuploadNeeded,
|
|
||||||
0xa99fca4f: types.upload.CdnFile,
|
|
||||||
0xc982eaba: types.CdnPublicKey,
|
|
||||||
0x5725e40a: types.CdnConfig,
|
|
||||||
0xcad181f6: types.LangPackString,
|
|
||||||
0x6c47ac9f: types.LangPackStringPluralized,
|
|
||||||
0x2979eeb2: types.LangPackStringDeleted,
|
|
||||||
0xf385c1f6: types.LangPackDifference,
|
|
||||||
0x117698f1: types.LangPackLanguage,
|
|
||||||
0x5d7ceba5: types.ChannelAdminRights,
|
|
||||||
0x58cf4249: types.ChannelBannedRights,
|
|
||||||
0xe6dfb825: types.ChannelAdminLogEventActionChangeTitle,
|
|
||||||
0x55188a2e: types.ChannelAdminLogEventActionChangeAbout,
|
|
||||||
0x6a4afc38: types.ChannelAdminLogEventActionChangeUsername,
|
|
||||||
0xb82f55c3: types.ChannelAdminLogEventActionChangePhoto,
|
|
||||||
0x1b7907ae: types.ChannelAdminLogEventActionToggleInvites,
|
|
||||||
0x26ae0971: types.ChannelAdminLogEventActionToggleSignatures,
|
|
||||||
0xe9e82c18: types.ChannelAdminLogEventActionUpdatePinned,
|
|
||||||
0x709b2405: types.ChannelAdminLogEventActionEditMessage,
|
|
||||||
0x42e047bb: types.ChannelAdminLogEventActionDeleteMessage,
|
|
||||||
0x183040d3: types.ChannelAdminLogEventActionParticipantJoin,
|
|
||||||
0xf89777f2: types.ChannelAdminLogEventActionParticipantLeave,
|
|
||||||
0xe31c34d8: types.ChannelAdminLogEventActionParticipantInvite,
|
|
||||||
0xe6d83d7e: types.ChannelAdminLogEventActionParticipantToggleBan,
|
|
||||||
0xd5676710: types.ChannelAdminLogEventActionParticipantToggleAdmin,
|
|
||||||
0xb1c3caa7: types.ChannelAdminLogEventActionChangeStickerSet,
|
|
||||||
0x5f5c95f1: types.ChannelAdminLogEventActionTogglePreHistoryHidden,
|
|
||||||
0x3b5a3e40: types.ChannelAdminLogEvent,
|
|
||||||
0xed8af74d: types.channels.AdminLogResults,
|
|
||||||
0xea107ae4: types.ChannelAdminLogEventsFilter,
|
|
||||||
0x5ce14175: types.PopularContact,
|
|
||||||
0x77eec38f: types.CdnFileHash,
|
|
||||||
0x9e8fa6d3: types.messages.FavedStickersNotModified,
|
|
||||||
0xf37f2f16: types.messages.FavedStickers,
|
|
||||||
0x46e1d13d: types.RecentMeUrlUnknown,
|
|
||||||
0x8dbc3336: types.RecentMeUrlUser,
|
|
||||||
0xa01b22f9: types.RecentMeUrlChat,
|
|
||||||
0xeb49081d: types.RecentMeUrlChatInvite,
|
|
||||||
0xbc0a57dc: types.RecentMeUrlStickerSet,
|
|
||||||
0x0e0310d7: types.help.RecentMeUrls,
|
|
||||||
0x31bc3d25: types.InputSingleMedia,
|
|
||||||
0xcb9f372d: functions.InvokeAfterMsgRequest,
|
|
||||||
0x3dc4b4f0: functions.InvokeAfterMsgsRequest,
|
|
||||||
0xc7481da6: functions.InitConnectionRequest,
|
|
||||||
0xda9b0d0d: functions.InvokeWithLayerRequest,
|
|
||||||
0xbf9459b7: functions.InvokeWithoutUpdatesRequest,
|
|
||||||
0x6fe51dfb: functions.auth.CheckPhoneRequest,
|
|
||||||
0x86aef0ec: functions.auth.SendCodeRequest,
|
|
||||||
0x1b067634: functions.auth.SignUpRequest,
|
|
||||||
0xbcd51581: functions.auth.SignInRequest,
|
|
||||||
0x5717da40: functions.auth.LogOutRequest,
|
|
||||||
0x9fab0d1a: functions.auth.ResetAuthorizationsRequest,
|
|
||||||
0x771c1d97: functions.auth.SendInvitesRequest,
|
|
||||||
0xe5bfffcd: functions.auth.ExportAuthorizationRequest,
|
|
||||||
0xe3ef9613: functions.auth.ImportAuthorizationRequest,
|
|
||||||
0xcdd42a05: functions.auth.BindTempAuthKeyRequest,
|
|
||||||
0x67a3ff2c: functions.auth.ImportBotAuthorizationRequest,
|
|
||||||
0x0a63011e: functions.auth.CheckPasswordRequest,
|
|
||||||
0xd897bc66: functions.auth.RequestPasswordRecoveryRequest,
|
|
||||||
0x4ea56e92: functions.auth.RecoverPasswordRequest,
|
|
||||||
0x3ef1a9bf: functions.auth.ResendCodeRequest,
|
|
||||||
0x1f040578: functions.auth.CancelCodeRequest,
|
|
||||||
0x8e48a188: functions.auth.DropTempAuthKeysRequest,
|
|
||||||
0x001389cc: functions.account.RegisterDeviceRequest,
|
|
||||||
0x3076c4bf: functions.account.UnregisterDeviceRequest,
|
|
||||||
0x84be5b93: functions.account.UpdateNotifySettingsRequest,
|
|
||||||
0x12b3ad31: functions.account.GetNotifySettingsRequest,
|
|
||||||
0xdb7e1747: functions.account.ResetNotifySettingsRequest,
|
|
||||||
0x78515775: functions.account.UpdateProfileRequest,
|
|
||||||
0x6628562c: functions.account.UpdateStatusRequest,
|
|
||||||
0xc04cfac2: functions.account.GetWallPapersRequest,
|
|
||||||
0xae189d5f: functions.account.ReportPeerRequest,
|
|
||||||
0x2714d86c: functions.account.CheckUsernameRequest,
|
|
||||||
0x3e0bdd7c: functions.account.UpdateUsernameRequest,
|
|
||||||
0xdadbc950: functions.account.GetPrivacyRequest,
|
|
||||||
0xc9f81ce8: functions.account.SetPrivacyRequest,
|
|
||||||
0x418d4e0b: functions.account.DeleteAccountRequest,
|
|
||||||
0x08fc711d: functions.account.GetAccountTTLRequest,
|
|
||||||
0x2442485e: functions.account.SetAccountTTLRequest,
|
|
||||||
0x08e57deb: functions.account.SendChangePhoneCodeRequest,
|
|
||||||
0x70c32edb: functions.account.ChangePhoneRequest,
|
|
||||||
0x38df3532: functions.account.UpdateDeviceLockedRequest,
|
|
||||||
0xe320c158: functions.account.GetAuthorizationsRequest,
|
|
||||||
0xdf77f3bc: functions.account.ResetAuthorizationRequest,
|
|
||||||
0x548a30f5: functions.account.GetPasswordRequest,
|
|
||||||
0xbc8d11bb: functions.account.GetPasswordSettingsRequest,
|
|
||||||
0xfa7c4b86: functions.account.UpdatePasswordSettingsRequest,
|
|
||||||
0x1516d7bd: functions.account.SendConfirmPhoneCodeRequest,
|
|
||||||
0x5f2178c3: functions.account.ConfirmPhoneRequest,
|
|
||||||
0x4a82327e: functions.account.GetTmpPasswordRequest,
|
|
||||||
0x0d91a548: functions.users.GetUsersRequest,
|
|
||||||
0xca30a5b1: functions.users.GetFullUserRequest,
|
|
||||||
0xc4a353ee: functions.contacts.GetStatusesRequest,
|
|
||||||
0xc023849f: functions.contacts.GetContactsRequest,
|
|
||||||
0x2c800be5: functions.contacts.ImportContactsRequest,
|
|
||||||
0x8e953744: functions.contacts.DeleteContactRequest,
|
|
||||||
0x59ab389e: functions.contacts.DeleteContactsRequest,
|
|
||||||
0x332b49fc: functions.contacts.BlockRequest,
|
|
||||||
0xe54100bd: functions.contacts.UnblockRequest,
|
|
||||||
0xf57c350f: functions.contacts.GetBlockedRequest,
|
|
||||||
0x84e53737: functions.contacts.ExportCardRequest,
|
|
||||||
0x4fe196fe: functions.contacts.ImportCardRequest,
|
|
||||||
0x11f812d8: functions.contacts.SearchRequest,
|
|
||||||
0xf93ccba3: functions.contacts.ResolveUsernameRequest,
|
|
||||||
0xd4982db5: functions.contacts.GetTopPeersRequest,
|
|
||||||
0x1ae373ac: functions.contacts.ResetTopPeerRatingRequest,
|
|
||||||
0x879537f1: functions.contacts.ResetSavedRequest,
|
|
||||||
0x4222fa74: functions.messages.GetMessagesRequest,
|
|
||||||
0x191ba9c5: functions.messages.GetDialogsRequest,
|
|
||||||
0xdcbb8260: functions.messages.GetHistoryRequest,
|
|
||||||
0x039e9ea0: functions.messages.SearchRequest,
|
|
||||||
0x0e306d3a: functions.messages.ReadHistoryRequest,
|
|
||||||
0x1c015b09: functions.messages.DeleteHistoryRequest,
|
|
||||||
0xe58e95d2: functions.messages.DeleteMessagesRequest,
|
|
||||||
0x05a954c0: functions.messages.ReceivedMessagesRequest,
|
|
||||||
0xa3825e50: functions.messages.SetTypingRequest,
|
|
||||||
0xfa88427a: functions.messages.SendMessageRequest,
|
|
||||||
0xb8d1262b: functions.messages.SendMediaRequest,
|
|
||||||
0x708e0195: functions.messages.ForwardMessagesRequest,
|
|
||||||
0xcf1592db: functions.messages.ReportSpamRequest,
|
|
||||||
0xa8f1709b: functions.messages.HideReportSpamRequest,
|
|
||||||
0x3672e09c: functions.messages.GetPeerSettingsRequest,
|
|
||||||
0x3c6aa187: functions.messages.GetChatsRequest,
|
|
||||||
0x3b831c66: functions.messages.GetFullChatRequest,
|
|
||||||
0xdc452855: functions.messages.EditChatTitleRequest,
|
|
||||||
0xca4c79d8: functions.messages.EditChatPhotoRequest,
|
|
||||||
0xf9a0aa09: functions.messages.AddChatUserRequest,
|
|
||||||
0xe0611f16: functions.messages.DeleteChatUserRequest,
|
|
||||||
0x09cb126e: functions.messages.CreateChatRequest,
|
|
||||||
0x26cf8950: functions.messages.GetDhConfigRequest,
|
|
||||||
0xf64daf43: functions.messages.RequestEncryptionRequest,
|
|
||||||
0x3dbc0415: functions.messages.AcceptEncryptionRequest,
|
|
||||||
0xedd923c5: functions.messages.DiscardEncryptionRequest,
|
|
||||||
0x791451ed: functions.messages.SetEncryptedTypingRequest,
|
|
||||||
0x7f4b690a: functions.messages.ReadEncryptedHistoryRequest,
|
|
||||||
0xa9776773: functions.messages.SendEncryptedRequest,
|
|
||||||
0x9a901b66: functions.messages.SendEncryptedFileRequest,
|
|
||||||
0x32d439a4: functions.messages.SendEncryptedServiceRequest,
|
|
||||||
0x55a5bb66: functions.messages.ReceivedQueueRequest,
|
|
||||||
0x4b0c8c0f: functions.messages.ReportEncryptedSpamRequest,
|
|
||||||
0x36a73f77: functions.messages.ReadMessageContentsRequest,
|
|
||||||
0xae22e045: functions.messages.GetStickersRequest,
|
|
||||||
0x1c9618b1: functions.messages.GetAllStickersRequest,
|
|
||||||
0x8b68b0cc: functions.messages.GetWebPagePreviewRequest,
|
|
||||||
0x7d885289: functions.messages.ExportChatInviteRequest,
|
|
||||||
0x3eadb1bb: functions.messages.CheckChatInviteRequest,
|
|
||||||
0x6c50051c: functions.messages.ImportChatInviteRequest,
|
|
||||||
0x2619a90e: functions.messages.GetStickerSetRequest,
|
|
||||||
0xc78fe460: functions.messages.InstallStickerSetRequest,
|
|
||||||
0xf96e55de: functions.messages.UninstallStickerSetRequest,
|
|
||||||
0xe6df7378: functions.messages.StartBotRequest,
|
|
||||||
0xc4c8a55d: functions.messages.GetMessagesViewsRequest,
|
|
||||||
0xec8bd9e1: functions.messages.ToggleChatAdminsRequest,
|
|
||||||
0xa9e69f2e: functions.messages.EditChatAdminRequest,
|
|
||||||
0x15a3b8e3: functions.messages.MigrateChatRequest,
|
|
||||||
0x9e3cacb0: functions.messages.SearchGlobalRequest,
|
|
||||||
0x78337739: functions.messages.ReorderStickerSetsRequest,
|
|
||||||
0x338e2464: functions.messages.GetDocumentByHashRequest,
|
|
||||||
0xbf9a776b: functions.messages.SearchGifsRequest,
|
|
||||||
0x83bf3d52: functions.messages.GetSavedGifsRequest,
|
|
||||||
0x327a30cb: functions.messages.SaveGifRequest,
|
|
||||||
0x514e999d: functions.messages.GetInlineBotResultsRequest,
|
|
||||||
0xeb5ea206: functions.messages.SetInlineBotResultsRequest,
|
|
||||||
0xb16e06fe: functions.messages.SendInlineBotResultRequest,
|
|
||||||
0xfda68d36: functions.messages.GetMessageEditDataRequest,
|
|
||||||
0x05d1b8dd: functions.messages.EditMessageRequest,
|
|
||||||
0xb0e08243: functions.messages.EditInlineBotMessageRequest,
|
|
||||||
0x810a9fec: functions.messages.GetBotCallbackAnswerRequest,
|
|
||||||
0xd58f130a: functions.messages.SetBotCallbackAnswerRequest,
|
|
||||||
0x2d9776b9: functions.messages.GetPeerDialogsRequest,
|
|
||||||
0xbc39e14b: functions.messages.SaveDraftRequest,
|
|
||||||
0x6a3f8d65: functions.messages.GetAllDraftsRequest,
|
|
||||||
0x2dacca4f: functions.messages.GetFeaturedStickersRequest,
|
|
||||||
0x5b118126: functions.messages.ReadFeaturedStickersRequest,
|
|
||||||
0x5ea192c9: functions.messages.GetRecentStickersRequest,
|
|
||||||
0x392718f8: functions.messages.SaveRecentStickerRequest,
|
|
||||||
0x8999602d: functions.messages.ClearRecentStickersRequest,
|
|
||||||
0x57f17692: functions.messages.GetArchivedStickersRequest,
|
|
||||||
0x65b8c79f: functions.messages.GetMaskStickersRequest,
|
|
||||||
0xcc5b67cc: functions.messages.GetAttachedStickersRequest,
|
|
||||||
0x8ef8ecc0: functions.messages.SetGameScoreRequest,
|
|
||||||
0x15ad9f64: functions.messages.SetInlineGameScoreRequest,
|
|
||||||
0xe822649d: functions.messages.GetGameHighScoresRequest,
|
|
||||||
0x0f635e1b: functions.messages.GetInlineGameHighScoresRequest,
|
|
||||||
0x0d0a48c4: functions.messages.GetCommonChatsRequest,
|
|
||||||
0xeba80ff0: functions.messages.GetAllChatsRequest,
|
|
||||||
0x32ca8f91: functions.messages.GetWebPageRequest,
|
|
||||||
0x3289be6a: functions.messages.ToggleDialogPinRequest,
|
|
||||||
0x959ff644: functions.messages.ReorderPinnedDialogsRequest,
|
|
||||||
0xe254d64e: functions.messages.GetPinnedDialogsRequest,
|
|
||||||
0xe5f672fa: functions.messages.SetBotShippingResultsRequest,
|
|
||||||
0x09c2dd95: functions.messages.SetBotPrecheckoutResultsRequest,
|
|
||||||
0x519bc2b1: functions.messages.UploadMediaRequest,
|
|
||||||
0xc97df020: functions.messages.SendScreenshotNotificationRequest,
|
|
||||||
0x21ce0b0e: functions.messages.GetFavedStickersRequest,
|
|
||||||
0xb9ffc55b: functions.messages.FaveStickerRequest,
|
|
||||||
0x46578472: functions.messages.GetUnreadMentionsRequest,
|
|
||||||
0x0f0189d3: functions.messages.ReadMentionsRequest,
|
|
||||||
0x249431e2: functions.messages.GetRecentLocationsRequest,
|
|
||||||
0x2095512f: functions.messages.SendMultiMediaRequest,
|
|
||||||
0x5057c497: functions.messages.UploadEncryptedFileRequest,
|
|
||||||
0xedd4882a: functions.updates.GetStateRequest,
|
|
||||||
0x25939651: functions.updates.GetDifferenceRequest,
|
|
||||||
0x03173d78: functions.updates.GetChannelDifferenceRequest,
|
|
||||||
0xf0bb5152: functions.photos.UpdateProfilePhotoRequest,
|
|
||||||
0x4f32c098: functions.photos.UploadProfilePhotoRequest,
|
|
||||||
0x87cf7f2f: functions.photos.DeletePhotosRequest,
|
|
||||||
0x91cd32a8: functions.photos.GetUserPhotosRequest,
|
|
||||||
0xb304a621: functions.upload.SaveFilePartRequest,
|
|
||||||
0xe3a6cfb5: functions.upload.GetFileRequest,
|
|
||||||
0xde7b673d: functions.upload.SaveBigFilePartRequest,
|
|
||||||
0x24e6818d: functions.upload.GetWebFileRequest,
|
|
||||||
0x2000bcc3: functions.upload.GetCdnFileRequest,
|
|
||||||
0x1af91c09: functions.upload.ReuploadCdnFileRequest,
|
|
||||||
0xf715c87b: functions.upload.GetCdnFileHashesRequest,
|
|
||||||
0xc4f9186b: functions.help.GetConfigRequest,
|
|
||||||
0x1fb33026: functions.help.GetNearestDcRequest,
|
|
||||||
0xae2de196: functions.help.GetAppUpdateRequest,
|
|
||||||
0x6f02f748: functions.help.SaveAppLogRequest,
|
|
||||||
0x4d392343: functions.help.GetInviteTextRequest,
|
|
||||||
0x9cdf08cd: functions.help.GetSupportRequest,
|
|
||||||
0x9010ef6f: functions.help.GetAppChangelogRequest,
|
|
||||||
0x350170f3: functions.help.GetTermsOfServiceRequest,
|
|
||||||
0xec22cfcd: functions.help.SetBotUpdatesStatusRequest,
|
|
||||||
0x52029342: functions.help.GetCdnConfigRequest,
|
|
||||||
0x3dc0f114: functions.help.GetRecentMeUrlsRequest,
|
|
||||||
0xcc104937: functions.channels.ReadHistoryRequest,
|
|
||||||
0x84c1fd4e: functions.channels.DeleteMessagesRequest,
|
|
||||||
0xd10dd71b: functions.channels.DeleteUserHistoryRequest,
|
|
||||||
0xfe087810: functions.channels.ReportSpamRequest,
|
|
||||||
0x93d7b347: functions.channels.GetMessagesRequest,
|
|
||||||
0x123e05e9: functions.channels.GetParticipantsRequest,
|
|
||||||
0x546dd7a6: functions.channels.GetParticipantRequest,
|
|
||||||
0x0a7f6bbb: functions.channels.GetChannelsRequest,
|
|
||||||
0x08736a09: functions.channels.GetFullChannelRequest,
|
|
||||||
0xf4893d7f: functions.channels.CreateChannelRequest,
|
|
||||||
0x13e27f1e: functions.channels.EditAboutRequest,
|
|
||||||
0x20b88214: functions.channels.EditAdminRequest,
|
|
||||||
0x566decd0: functions.channels.EditTitleRequest,
|
|
||||||
0xf12e57c9: functions.channels.EditPhotoRequest,
|
|
||||||
0x10e6bd2c: functions.channels.CheckUsernameRequest,
|
|
||||||
0x3514b3de: functions.channels.UpdateUsernameRequest,
|
|
||||||
0x24b524c5: functions.channels.JoinChannelRequest,
|
|
||||||
0xf836aa95: functions.channels.LeaveChannelRequest,
|
|
||||||
0x199f3a6c: functions.channels.InviteToChannelRequest,
|
|
||||||
0xc7560885: functions.channels.ExportInviteRequest,
|
|
||||||
0xc0111fe3: functions.channels.DeleteChannelRequest,
|
|
||||||
0x49609307: functions.channels.ToggleInvitesRequest,
|
|
||||||
0xceb77163: functions.channels.ExportMessageLinkRequest,
|
|
||||||
0x1f69b606: functions.channels.ToggleSignaturesRequest,
|
|
||||||
0xa72ded52: functions.channels.UpdatePinnedMessageRequest,
|
|
||||||
0x8d8d82d7: functions.channels.GetAdminedPublicChannelsRequest,
|
|
||||||
0xbfd915cd: functions.channels.EditBannedRequest,
|
|
||||||
0x33ddf480: functions.channels.GetAdminLogRequest,
|
|
||||||
0xea8ca4f9: functions.channels.SetStickersRequest,
|
|
||||||
0xeab5dc38: functions.channels.ReadMessageContentsRequest,
|
|
||||||
0xaf369d42: functions.channels.DeleteHistoryRequest,
|
|
||||||
0xeabbb94c: functions.channels.TogglePreHistoryHiddenRequest,
|
|
||||||
0xaa2769ed: functions.bots.SendCustomRequestRequest,
|
|
||||||
0xe6213f4d: functions.bots.AnswerWebhookJSONQueryRequest,
|
|
||||||
0x99f09745: functions.payments.GetPaymentFormRequest,
|
|
||||||
0xa092a980: functions.payments.GetPaymentReceiptRequest,
|
|
||||||
0x770a8e74: functions.payments.ValidateRequestedInfoRequest,
|
|
||||||
0x2b8879b3: functions.payments.SendPaymentFormRequest,
|
|
||||||
0x227d824b: functions.payments.GetSavedInfoRequest,
|
|
||||||
0xd83d70c1: functions.payments.ClearSavedInfoRequest,
|
|
||||||
0x9bd86e6a: functions.stickers.CreateStickerSetRequest,
|
|
||||||
0xf7760f51: functions.stickers.RemoveStickerFromSetRequest,
|
|
||||||
0xffb6d4ca: functions.stickers.ChangeStickerPositionRequest,
|
|
||||||
0x8653febe: functions.stickers.AddStickerToSetRequest,
|
|
||||||
0x55451fa9: functions.phone.GetCallConfigRequest,
|
|
||||||
0x5b95b3d4: functions.phone.RequestCallRequest,
|
|
||||||
0x3bd2b4a0: functions.phone.AcceptCallRequest,
|
|
||||||
0x2efe1722: functions.phone.ConfirmCallRequest,
|
|
||||||
0x17d54f61: functions.phone.ReceivedCallRequest,
|
|
||||||
0x78d413a6: functions.phone.DiscardCallRequest,
|
|
||||||
0x1c536a34: functions.phone.SetCallRatingRequest,
|
|
||||||
0x277add7e: functions.phone.SaveCallDebugRequest,
|
|
||||||
0x9ab5c58e: functions.langpack.GetLangPackRequest,
|
|
||||||
0x2e1ee318: functions.langpack.GetStringsRequest,
|
|
||||||
0x0b2e4d7d: functions.langpack.GetDifferenceRequest,
|
|
||||||
0x800fd57d: functions.langpack.GetLanguagesRequest,
|
|
||||||
}
|
|
|
@ -1,600 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
from . import contest, auth, account, users, contacts, messages, updates, photos, upload, help, channels, bots, payments, stickers, phone, langpack
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class DestroyAuthKeyRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xd1435160
|
|
||||||
SUBCLASS_OF_ID = 0x8291e68e
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'DestroyAuthKeyRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'`QC\xd1',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return DestroyAuthKeyRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class DestroySessionRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xe7512126
|
|
||||||
SUBCLASS_OF_ID = 0xaf0ce7bd
|
|
||||||
|
|
||||||
def __init__(self, session_id):
|
|
||||||
"""
|
|
||||||
:param int session_id:
|
|
||||||
|
|
||||||
:returns DestroySessionRes: Instance of either DestroySessionOk, DestroySessionNone.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.session_id = session_id
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'DestroySessionRequest',
|
|
||||||
'session_id': self.session_id
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'&!Q\xe7',
|
|
||||||
struct.pack('<q', self.session_id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_session_id = reader.read_long()
|
|
||||||
return DestroySessionRequest(session_id=_session_id)
|
|
||||||
|
|
||||||
|
|
||||||
class GetFutureSaltsRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xb921bd04
|
|
||||||
SUBCLASS_OF_ID = 0x1090f517
|
|
||||||
|
|
||||||
def __init__(self, num):
|
|
||||||
"""
|
|
||||||
:param int num:
|
|
||||||
|
|
||||||
:returns FutureSalts: Instance of FutureSalts.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.num = num
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetFutureSaltsRequest',
|
|
||||||
'num': self.num
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x04\xbd!\xb9',
|
|
||||||
struct.pack('<i', self.num),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_num = reader.read_int()
|
|
||||||
return GetFutureSaltsRequest(num=_num)
|
|
||||||
|
|
||||||
|
|
||||||
class InitConnectionRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xc7481da6
|
|
||||||
SUBCLASS_OF_ID = 0xb7b2364b
|
|
||||||
|
|
||||||
def __init__(self, api_id, device_model, system_version, app_version, system_lang_code, lang_pack, lang_code, query):
|
|
||||||
"""
|
|
||||||
:param int api_id:
|
|
||||||
:param str device_model:
|
|
||||||
:param str system_version:
|
|
||||||
:param str app_version:
|
|
||||||
:param str system_lang_code:
|
|
||||||
:param str lang_pack:
|
|
||||||
:param str lang_code:
|
|
||||||
:param X query:
|
|
||||||
|
|
||||||
:returns X: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.api_id = api_id
|
|
||||||
self.device_model = device_model
|
|
||||||
self.system_version = system_version
|
|
||||||
self.app_version = app_version
|
|
||||||
self.system_lang_code = system_lang_code
|
|
||||||
self.lang_pack = lang_pack
|
|
||||||
self.lang_code = lang_code
|
|
||||||
self.query = query
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'InitConnectionRequest',
|
|
||||||
'api_id': self.api_id,
|
|
||||||
'device_model': self.device_model,
|
|
||||||
'system_version': self.system_version,
|
|
||||||
'app_version': self.app_version,
|
|
||||||
'system_lang_code': self.system_lang_code,
|
|
||||||
'lang_pack': self.lang_pack,
|
|
||||||
'lang_code': self.lang_code,
|
|
||||||
'query': None if self.query is None else self.query.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa6\x1dH\xc7',
|
|
||||||
struct.pack('<i', self.api_id),
|
|
||||||
TLObject.serialize_bytes(self.device_model),
|
|
||||||
TLObject.serialize_bytes(self.system_version),
|
|
||||||
TLObject.serialize_bytes(self.app_version),
|
|
||||||
TLObject.serialize_bytes(self.system_lang_code),
|
|
||||||
TLObject.serialize_bytes(self.lang_pack),
|
|
||||||
TLObject.serialize_bytes(self.lang_code),
|
|
||||||
bytes(self.query),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_api_id = reader.read_int()
|
|
||||||
_device_model = reader.tgread_string()
|
|
||||||
_system_version = reader.tgread_string()
|
|
||||||
_app_version = reader.tgread_string()
|
|
||||||
_system_lang_code = reader.tgread_string()
|
|
||||||
_lang_pack = reader.tgread_string()
|
|
||||||
_lang_code = reader.tgread_string()
|
|
||||||
_query = reader.tgread_object()
|
|
||||||
return InitConnectionRequest(api_id=_api_id, device_model=_device_model, system_version=_system_version, app_version=_app_version, system_lang_code=_system_lang_code, lang_pack=_lang_pack, lang_code=_lang_code, query=_query)
|
|
||||||
|
|
||||||
|
|
||||||
class InvokeAfterMsgRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xcb9f372d
|
|
||||||
SUBCLASS_OF_ID = 0xb7b2364b
|
|
||||||
|
|
||||||
def __init__(self, msg_id, query):
|
|
||||||
"""
|
|
||||||
:param int msg_id:
|
|
||||||
:param X query:
|
|
||||||
|
|
||||||
:returns X: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.msg_id = msg_id
|
|
||||||
self.query = query
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'InvokeAfterMsgRequest',
|
|
||||||
'msg_id': self.msg_id,
|
|
||||||
'query': None if self.query is None else self.query.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'-7\x9f\xcb',
|
|
||||||
struct.pack('<q', self.msg_id),
|
|
||||||
bytes(self.query),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_msg_id = reader.read_long()
|
|
||||||
_query = reader.tgread_object()
|
|
||||||
return InvokeAfterMsgRequest(msg_id=_msg_id, query=_query)
|
|
||||||
|
|
||||||
|
|
||||||
class InvokeAfterMsgsRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x3dc4b4f0
|
|
||||||
SUBCLASS_OF_ID = 0xb7b2364b
|
|
||||||
|
|
||||||
def __init__(self, msg_ids, query):
|
|
||||||
"""
|
|
||||||
:param list[int] msg_ids:
|
|
||||||
:param X query:
|
|
||||||
|
|
||||||
:returns X: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.msg_ids = msg_ids
|
|
||||||
self.query = query
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'InvokeAfterMsgsRequest',
|
|
||||||
'msg_ids': [] if self.msg_ids is None else self.msg_ids[:],
|
|
||||||
'query': None if self.query is None else self.query.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xf0\xb4\xc4=',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.msg_ids)),b''.join(struct.pack('<q', x) for x in self.msg_ids),
|
|
||||||
bytes(self.query),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_msg_ids = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.read_long()
|
|
||||||
_msg_ids.append(_x)
|
|
||||||
|
|
||||||
_query = reader.tgread_object()
|
|
||||||
return InvokeAfterMsgsRequest(msg_ids=_msg_ids, query=_query)
|
|
||||||
|
|
||||||
|
|
||||||
class InvokeWithLayerRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xda9b0d0d
|
|
||||||
SUBCLASS_OF_ID = 0xb7b2364b
|
|
||||||
|
|
||||||
def __init__(self, layer, query):
|
|
||||||
"""
|
|
||||||
:param int layer:
|
|
||||||
:param X query:
|
|
||||||
|
|
||||||
:returns X: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.layer = layer
|
|
||||||
self.query = query
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'InvokeWithLayerRequest',
|
|
||||||
'layer': self.layer,
|
|
||||||
'query': None if self.query is None else self.query.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\r\r\x9b\xda',
|
|
||||||
struct.pack('<i', self.layer),
|
|
||||||
bytes(self.query),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_layer = reader.read_int()
|
|
||||||
_query = reader.tgread_object()
|
|
||||||
return InvokeWithLayerRequest(layer=_layer, query=_query)
|
|
||||||
|
|
||||||
|
|
||||||
class InvokeWithoutUpdatesRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xbf9459b7
|
|
||||||
SUBCLASS_OF_ID = 0xb7b2364b
|
|
||||||
|
|
||||||
def __init__(self, query):
|
|
||||||
"""
|
|
||||||
:param X query:
|
|
||||||
|
|
||||||
:returns X: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.query = query
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'InvokeWithoutUpdatesRequest',
|
|
||||||
'query': None if self.query is None else self.query.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xb7Y\x94\xbf',
|
|
||||||
bytes(self.query),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_query = reader.tgread_object()
|
|
||||||
return InvokeWithoutUpdatesRequest(query=_query)
|
|
||||||
|
|
||||||
|
|
||||||
class PingRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x7abe77ec
|
|
||||||
SUBCLASS_OF_ID = 0x816aee71
|
|
||||||
|
|
||||||
def __init__(self, ping_id):
|
|
||||||
"""
|
|
||||||
:param int ping_id:
|
|
||||||
|
|
||||||
:returns Pong: Instance of Pong.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.ping_id = ping_id
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PingRequest',
|
|
||||||
'ping_id': self.ping_id
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xecw\xbez',
|
|
||||||
struct.pack('<q', self.ping_id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_ping_id = reader.read_long()
|
|
||||||
return PingRequest(ping_id=_ping_id)
|
|
||||||
|
|
||||||
|
|
||||||
class PingDelayDisconnectRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf3427b8c
|
|
||||||
SUBCLASS_OF_ID = 0x816aee71
|
|
||||||
|
|
||||||
def __init__(self, ping_id, disconnect_delay):
|
|
||||||
"""
|
|
||||||
:param int ping_id:
|
|
||||||
:param int disconnect_delay:
|
|
||||||
|
|
||||||
:returns Pong: Instance of Pong.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.ping_id = ping_id
|
|
||||||
self.disconnect_delay = disconnect_delay
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PingDelayDisconnectRequest',
|
|
||||||
'ping_id': self.ping_id,
|
|
||||||
'disconnect_delay': self.disconnect_delay
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x8c{B\xf3',
|
|
||||||
struct.pack('<q', self.ping_id),
|
|
||||||
struct.pack('<i', self.disconnect_delay),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_ping_id = reader.read_long()
|
|
||||||
_disconnect_delay = reader.read_int()
|
|
||||||
return PingDelayDisconnectRequest(ping_id=_ping_id, disconnect_delay=_disconnect_delay)
|
|
||||||
|
|
||||||
|
|
||||||
class ReqDHParamsRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xd712e4be
|
|
||||||
SUBCLASS_OF_ID = 0xa6188d9e
|
|
||||||
|
|
||||||
def __init__(self, nonce, server_nonce, p, q, public_key_fingerprint, encrypted_data):
|
|
||||||
"""
|
|
||||||
:param int nonce:
|
|
||||||
:param int server_nonce:
|
|
||||||
:param bytes p:
|
|
||||||
:param bytes q:
|
|
||||||
:param int public_key_fingerprint:
|
|
||||||
:param bytes encrypted_data:
|
|
||||||
|
|
||||||
:returns Server_DH_Params: Instance of either ServerDHParamsFail, ServerDHParamsOk.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.nonce = nonce
|
|
||||||
self.server_nonce = server_nonce
|
|
||||||
self.p = p
|
|
||||||
self.q = q
|
|
||||||
self.public_key_fingerprint = public_key_fingerprint
|
|
||||||
self.encrypted_data = encrypted_data
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ReqDHParamsRequest',
|
|
||||||
'nonce': self.nonce,
|
|
||||||
'server_nonce': self.server_nonce,
|
|
||||||
'p': self.p,
|
|
||||||
'q': self.q,
|
|
||||||
'public_key_fingerprint': self.public_key_fingerprint,
|
|
||||||
'encrypted_data': self.encrypted_data
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xbe\xe4\x12\xd7',
|
|
||||||
self.nonce.to_bytes(16, 'little', signed=True),
|
|
||||||
self.server_nonce.to_bytes(16, 'little', signed=True),
|
|
||||||
TLObject.serialize_bytes(self.p),
|
|
||||||
TLObject.serialize_bytes(self.q),
|
|
||||||
struct.pack('<q', self.public_key_fingerprint),
|
|
||||||
TLObject.serialize_bytes(self.encrypted_data),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_nonce = reader.read_large_int(bits=128)
|
|
||||||
_server_nonce = reader.read_large_int(bits=128)
|
|
||||||
_p = reader.tgread_bytes()
|
|
||||||
_q = reader.tgread_bytes()
|
|
||||||
_public_key_fingerprint = reader.read_long()
|
|
||||||
_encrypted_data = reader.tgread_bytes()
|
|
||||||
return ReqDHParamsRequest(nonce=_nonce, server_nonce=_server_nonce, p=_p, q=_q, public_key_fingerprint=_public_key_fingerprint, encrypted_data=_encrypted_data)
|
|
||||||
|
|
||||||
|
|
||||||
class ReqPqRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x60469778
|
|
||||||
SUBCLASS_OF_ID = 0x786986b8
|
|
||||||
|
|
||||||
def __init__(self, nonce):
|
|
||||||
"""
|
|
||||||
:param int nonce:
|
|
||||||
|
|
||||||
:returns ResPQ: Instance of ResPQ.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.nonce = nonce
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ReqPqRequest',
|
|
||||||
'nonce': self.nonce
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'x\x97F`',
|
|
||||||
self.nonce.to_bytes(16, 'little', signed=True),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_nonce = reader.read_large_int(bits=128)
|
|
||||||
return ReqPqRequest(nonce=_nonce)
|
|
||||||
|
|
||||||
|
|
||||||
class ReqPqMultiRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xbe7e8ef1
|
|
||||||
SUBCLASS_OF_ID = 0x786986b8
|
|
||||||
|
|
||||||
def __init__(self, nonce):
|
|
||||||
"""
|
|
||||||
:param int nonce:
|
|
||||||
|
|
||||||
:returns ResPQ: Instance of ResPQ.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.nonce = nonce
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ReqPqMultiRequest',
|
|
||||||
'nonce': self.nonce
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xf1\x8e~\xbe',
|
|
||||||
self.nonce.to_bytes(16, 'little', signed=True),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_nonce = reader.read_large_int(bits=128)
|
|
||||||
return ReqPqMultiRequest(nonce=_nonce)
|
|
||||||
|
|
||||||
|
|
||||||
class RpcDropAnswerRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x58e4a740
|
|
||||||
SUBCLASS_OF_ID = 0x4bca7570
|
|
||||||
|
|
||||||
def __init__(self, req_msg_id):
|
|
||||||
"""
|
|
||||||
:param int req_msg_id:
|
|
||||||
|
|
||||||
:returns RpcDropAnswer: Instance of either RpcAnswerUnknown, RpcAnswerDroppedRunning, RpcAnswerDropped.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.req_msg_id = req_msg_id
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'RpcDropAnswerRequest',
|
|
||||||
'req_msg_id': self.req_msg_id
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'@\xa7\xe4X',
|
|
||||||
struct.pack('<q', self.req_msg_id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_req_msg_id = reader.read_long()
|
|
||||||
return RpcDropAnswerRequest(req_msg_id=_req_msg_id)
|
|
||||||
|
|
||||||
|
|
||||||
class SetClientDHParamsRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf5045f1f
|
|
||||||
SUBCLASS_OF_ID = 0x55dd6cdb
|
|
||||||
|
|
||||||
def __init__(self, nonce, server_nonce, encrypted_data):
|
|
||||||
"""
|
|
||||||
:param int nonce:
|
|
||||||
:param int server_nonce:
|
|
||||||
:param bytes encrypted_data:
|
|
||||||
|
|
||||||
:returns Set_client_DH_params_answer: Instance of either DhGenOk, DhGenRetry, DhGenFail.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.nonce = nonce
|
|
||||||
self.server_nonce = server_nonce
|
|
||||||
self.encrypted_data = encrypted_data
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SetClientDHParamsRequest',
|
|
||||||
'nonce': self.nonce,
|
|
||||||
'server_nonce': self.server_nonce,
|
|
||||||
'encrypted_data': self.encrypted_data
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x1f_\x04\xf5',
|
|
||||||
self.nonce.to_bytes(16, 'little', signed=True),
|
|
||||||
self.server_nonce.to_bytes(16, 'little', signed=True),
|
|
||||||
TLObject.serialize_bytes(self.encrypted_data),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_nonce = reader.read_large_int(bits=128)
|
|
||||||
_server_nonce = reader.read_large_int(bits=128)
|
|
||||||
_encrypted_data = reader.tgread_bytes()
|
|
||||||
return SetClientDHParamsRequest(nonce=_nonce, server_nonce=_server_nonce, encrypted_data=_encrypted_data)
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,668 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class BindTempAuthKeyRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xcdd42a05
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, perm_auth_key_id, nonce, expires_at, encrypted_message):
|
|
||||||
"""
|
|
||||||
:param int perm_auth_key_id:
|
|
||||||
:param int nonce:
|
|
||||||
:param datetime.datetime | None expires_at:
|
|
||||||
:param bytes encrypted_message:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.perm_auth_key_id = perm_auth_key_id
|
|
||||||
self.nonce = nonce
|
|
||||||
self.expires_at = expires_at
|
|
||||||
self.encrypted_message = encrypted_message
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'BindTempAuthKeyRequest',
|
|
||||||
'perm_auth_key_id': self.perm_auth_key_id,
|
|
||||||
'nonce': self.nonce,
|
|
||||||
'expires_at': self.expires_at,
|
|
||||||
'encrypted_message': self.encrypted_message
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x05*\xd4\xcd',
|
|
||||||
struct.pack('<q', self.perm_auth_key_id),
|
|
||||||
struct.pack('<q', self.nonce),
|
|
||||||
TLObject.serialize_datetime(self.expires_at),
|
|
||||||
TLObject.serialize_bytes(self.encrypted_message),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_perm_auth_key_id = reader.read_long()
|
|
||||||
_nonce = reader.read_long()
|
|
||||||
_expires_at = reader.tgread_date()
|
|
||||||
_encrypted_message = reader.tgread_bytes()
|
|
||||||
return BindTempAuthKeyRequest(perm_auth_key_id=_perm_auth_key_id, nonce=_nonce, expires_at=_expires_at, encrypted_message=_encrypted_message)
|
|
||||||
|
|
||||||
|
|
||||||
class CancelCodeRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x1f040578
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, phone_number, phone_code_hash):
|
|
||||||
"""
|
|
||||||
:param str phone_number:
|
|
||||||
:param str phone_code_hash:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.phone_number = phone_number
|
|
||||||
self.phone_code_hash = phone_code_hash
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'CancelCodeRequest',
|
|
||||||
'phone_number': self.phone_number,
|
|
||||||
'phone_code_hash': self.phone_code_hash
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'x\x05\x04\x1f',
|
|
||||||
TLObject.serialize_bytes(self.phone_number),
|
|
||||||
TLObject.serialize_bytes(self.phone_code_hash),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_phone_number = reader.tgread_string()
|
|
||||||
_phone_code_hash = reader.tgread_string()
|
|
||||||
return CancelCodeRequest(phone_number=_phone_number, phone_code_hash=_phone_code_hash)
|
|
||||||
|
|
||||||
|
|
||||||
class CheckPasswordRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xa63011e
|
|
||||||
SUBCLASS_OF_ID = 0xb9e04e39
|
|
||||||
|
|
||||||
def __init__(self, password_hash):
|
|
||||||
"""
|
|
||||||
:param bytes password_hash:
|
|
||||||
|
|
||||||
:returns auth.Authorization: Instance of Authorization.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.password_hash = password_hash
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'CheckPasswordRequest',
|
|
||||||
'password_hash': self.password_hash
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x1e\x01c\n',
|
|
||||||
TLObject.serialize_bytes(self.password_hash),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_password_hash = reader.tgread_bytes()
|
|
||||||
return CheckPasswordRequest(password_hash=_password_hash)
|
|
||||||
|
|
||||||
|
|
||||||
class CheckPhoneRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x6fe51dfb
|
|
||||||
SUBCLASS_OF_ID = 0x99a3d765
|
|
||||||
|
|
||||||
def __init__(self, phone_number):
|
|
||||||
"""
|
|
||||||
:param str phone_number:
|
|
||||||
|
|
||||||
:returns auth.CheckedPhone: Instance of CheckedPhone.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.phone_number = phone_number
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'CheckPhoneRequest',
|
|
||||||
'phone_number': self.phone_number
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xfb\x1d\xe5o',
|
|
||||||
TLObject.serialize_bytes(self.phone_number),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_phone_number = reader.tgread_string()
|
|
||||||
return CheckPhoneRequest(phone_number=_phone_number)
|
|
||||||
|
|
||||||
|
|
||||||
class DropTempAuthKeysRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x8e48a188
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, except_auth_keys):
|
|
||||||
"""
|
|
||||||
:param list[int] except_auth_keys:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.except_auth_keys = except_auth_keys
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'DropTempAuthKeysRequest',
|
|
||||||
'except_auth_keys': [] if self.except_auth_keys is None else self.except_auth_keys[:]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x88\xa1H\x8e',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.except_auth_keys)),b''.join(struct.pack('<q', x) for x in self.except_auth_keys),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_except_auth_keys = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.read_long()
|
|
||||||
_except_auth_keys.append(_x)
|
|
||||||
|
|
||||||
return DropTempAuthKeysRequest(except_auth_keys=_except_auth_keys)
|
|
||||||
|
|
||||||
|
|
||||||
class ExportAuthorizationRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xe5bfffcd
|
|
||||||
SUBCLASS_OF_ID = 0x5fd1ec51
|
|
||||||
|
|
||||||
def __init__(self, dc_id):
|
|
||||||
"""
|
|
||||||
:param int dc_id:
|
|
||||||
|
|
||||||
:returns auth.ExportedAuthorization: Instance of ExportedAuthorization.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.dc_id = dc_id
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ExportAuthorizationRequest',
|
|
||||||
'dc_id': self.dc_id
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xcd\xff\xbf\xe5',
|
|
||||||
struct.pack('<i', self.dc_id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_dc_id = reader.read_int()
|
|
||||||
return ExportAuthorizationRequest(dc_id=_dc_id)
|
|
||||||
|
|
||||||
|
|
||||||
class ImportAuthorizationRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xe3ef9613
|
|
||||||
SUBCLASS_OF_ID = 0xb9e04e39
|
|
||||||
|
|
||||||
def __init__(self, id, bytes):
|
|
||||||
"""
|
|
||||||
:param int id:
|
|
||||||
:param bytes bytes:
|
|
||||||
|
|
||||||
:returns auth.Authorization: Instance of Authorization.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
self.bytes = bytes
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ImportAuthorizationRequest',
|
|
||||||
'id': self.id,
|
|
||||||
'bytes': self.bytes
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x13\x96\xef\xe3',
|
|
||||||
struct.pack('<i', self.id),
|
|
||||||
TLObject.serialize_bytes(self.bytes),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_id = reader.read_int()
|
|
||||||
_bytes = reader.tgread_bytes()
|
|
||||||
return ImportAuthorizationRequest(id=_id, bytes=_bytes)
|
|
||||||
|
|
||||||
|
|
||||||
class ImportBotAuthorizationRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x67a3ff2c
|
|
||||||
SUBCLASS_OF_ID = 0xb9e04e39
|
|
||||||
|
|
||||||
def __init__(self, flags, api_id, api_hash, bot_auth_token):
|
|
||||||
"""
|
|
||||||
:param int flags:
|
|
||||||
:param int api_id:
|
|
||||||
:param str api_hash:
|
|
||||||
:param str bot_auth_token:
|
|
||||||
|
|
||||||
:returns auth.Authorization: Instance of Authorization.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.flags = flags
|
|
||||||
self.api_id = api_id
|
|
||||||
self.api_hash = api_hash
|
|
||||||
self.bot_auth_token = bot_auth_token
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ImportBotAuthorizationRequest',
|
|
||||||
'flags': self.flags,
|
|
||||||
'api_id': self.api_id,
|
|
||||||
'api_hash': self.api_hash,
|
|
||||||
'bot_auth_token': self.bot_auth_token
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b',\xff\xa3g',
|
|
||||||
struct.pack('<i', self.flags),
|
|
||||||
struct.pack('<i', self.api_id),
|
|
||||||
TLObject.serialize_bytes(self.api_hash),
|
|
||||||
TLObject.serialize_bytes(self.bot_auth_token),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_flags = reader.read_int()
|
|
||||||
_api_id = reader.read_int()
|
|
||||||
_api_hash = reader.tgread_string()
|
|
||||||
_bot_auth_token = reader.tgread_string()
|
|
||||||
return ImportBotAuthorizationRequest(flags=_flags, api_id=_api_id, api_hash=_api_hash, bot_auth_token=_bot_auth_token)
|
|
||||||
|
|
||||||
|
|
||||||
class LogOutRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x5717da40
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'LogOutRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'@\xda\x17W',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return LogOutRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class RecoverPasswordRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x4ea56e92
|
|
||||||
SUBCLASS_OF_ID = 0xb9e04e39
|
|
||||||
|
|
||||||
def __init__(self, code):
|
|
||||||
"""
|
|
||||||
:param str code:
|
|
||||||
|
|
||||||
:returns auth.Authorization: Instance of Authorization.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.code = code
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'RecoverPasswordRequest',
|
|
||||||
'code': self.code
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x92n\xa5N',
|
|
||||||
TLObject.serialize_bytes(self.code),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_code = reader.tgread_string()
|
|
||||||
return RecoverPasswordRequest(code=_code)
|
|
||||||
|
|
||||||
|
|
||||||
class RequestPasswordRecoveryRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xd897bc66
|
|
||||||
SUBCLASS_OF_ID = 0xfa72d43a
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'RequestPasswordRecoveryRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'f\xbc\x97\xd8',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return RequestPasswordRecoveryRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class ResendCodeRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x3ef1a9bf
|
|
||||||
SUBCLASS_OF_ID = 0x6ce87081
|
|
||||||
|
|
||||||
def __init__(self, phone_number, phone_code_hash):
|
|
||||||
"""
|
|
||||||
:param str phone_number:
|
|
||||||
:param str phone_code_hash:
|
|
||||||
|
|
||||||
:returns auth.SentCode: Instance of SentCode.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.phone_number = phone_number
|
|
||||||
self.phone_code_hash = phone_code_hash
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ResendCodeRequest',
|
|
||||||
'phone_number': self.phone_number,
|
|
||||||
'phone_code_hash': self.phone_code_hash
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xbf\xa9\xf1>',
|
|
||||||
TLObject.serialize_bytes(self.phone_number),
|
|
||||||
TLObject.serialize_bytes(self.phone_code_hash),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_phone_number = reader.tgread_string()
|
|
||||||
_phone_code_hash = reader.tgread_string()
|
|
||||||
return ResendCodeRequest(phone_number=_phone_number, phone_code_hash=_phone_code_hash)
|
|
||||||
|
|
||||||
|
|
||||||
class ResetAuthorizationsRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x9fab0d1a
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ResetAuthorizationsRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x1a\r\xab\x9f',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return ResetAuthorizationsRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class SendCodeRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x86aef0ec
|
|
||||||
SUBCLASS_OF_ID = 0x6ce87081
|
|
||||||
|
|
||||||
def __init__(self, phone_number, api_id, api_hash, allow_flashcall=None, current_number=None):
|
|
||||||
"""
|
|
||||||
:param bool | None allow_flashcall:
|
|
||||||
:param str phone_number:
|
|
||||||
:param Bool | None current_number:
|
|
||||||
:param int api_id:
|
|
||||||
:param str api_hash:
|
|
||||||
|
|
||||||
:returns auth.SentCode: Instance of SentCode.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.allow_flashcall = allow_flashcall
|
|
||||||
self.phone_number = phone_number
|
|
||||||
self.current_number = current_number
|
|
||||||
self.api_id = api_id
|
|
||||||
self.api_hash = api_hash
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SendCodeRequest',
|
|
||||||
'allow_flashcall': self.allow_flashcall,
|
|
||||||
'phone_number': self.phone_number,
|
|
||||||
'current_number': self.current_number,
|
|
||||||
'api_id': self.api_id,
|
|
||||||
'api_hash': self.api_hash
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
assert ((self.allow_flashcall or self.allow_flashcall is not None) and (self.current_number or self.current_number is not None)) or ((self.allow_flashcall is None or self.allow_flashcall is False) and (self.current_number is None or self.current_number is False)), 'allow_flashcall, current_number parameters must all be False-y (like None) or all me True-y'
|
|
||||||
return b''.join((
|
|
||||||
b'\xec\xf0\xae\x86',
|
|
||||||
struct.pack('<I', (0 if self.allow_flashcall is None or self.allow_flashcall is False else 1) | (0 if self.current_number is None or self.current_number is False else 1)),
|
|
||||||
TLObject.serialize_bytes(self.phone_number),
|
|
||||||
b'' if self.current_number is None or self.current_number is False else (b'\xb5ur\x99' if self.current_number else b'7\x97y\xbc'),
|
|
||||||
struct.pack('<i', self.api_id),
|
|
||||||
TLObject.serialize_bytes(self.api_hash),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_allow_flashcall = bool(flags & 1)
|
|
||||||
_phone_number = reader.tgread_string()
|
|
||||||
if flags & 1:
|
|
||||||
_current_number = reader.tgread_bool()
|
|
||||||
else:
|
|
||||||
_current_number = None
|
|
||||||
_api_id = reader.read_int()
|
|
||||||
_api_hash = reader.tgread_string()
|
|
||||||
return SendCodeRequest(phone_number=_phone_number, api_id=_api_id, api_hash=_api_hash, allow_flashcall=_allow_flashcall, current_number=_current_number)
|
|
||||||
|
|
||||||
|
|
||||||
class SendInvitesRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x771c1d97
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, phone_numbers, message):
|
|
||||||
"""
|
|
||||||
:param list[str] phone_numbers:
|
|
||||||
:param str message:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.phone_numbers = phone_numbers
|
|
||||||
self.message = message
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SendInvitesRequest',
|
|
||||||
'phone_numbers': [] if self.phone_numbers is None else self.phone_numbers[:],
|
|
||||||
'message': self.message
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x97\x1d\x1cw',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.phone_numbers)),b''.join(TLObject.serialize_bytes(x) for x in self.phone_numbers),
|
|
||||||
TLObject.serialize_bytes(self.message),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_phone_numbers = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_string()
|
|
||||||
_phone_numbers.append(_x)
|
|
||||||
|
|
||||||
_message = reader.tgread_string()
|
|
||||||
return SendInvitesRequest(phone_numbers=_phone_numbers, message=_message)
|
|
||||||
|
|
||||||
|
|
||||||
class SignInRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xbcd51581
|
|
||||||
SUBCLASS_OF_ID = 0xb9e04e39
|
|
||||||
|
|
||||||
def __init__(self, phone_number, phone_code_hash, phone_code):
|
|
||||||
"""
|
|
||||||
:param str phone_number:
|
|
||||||
:param str phone_code_hash:
|
|
||||||
:param str phone_code:
|
|
||||||
|
|
||||||
:returns auth.Authorization: Instance of Authorization.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.phone_number = phone_number
|
|
||||||
self.phone_code_hash = phone_code_hash
|
|
||||||
self.phone_code = phone_code
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SignInRequest',
|
|
||||||
'phone_number': self.phone_number,
|
|
||||||
'phone_code_hash': self.phone_code_hash,
|
|
||||||
'phone_code': self.phone_code
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x81\x15\xd5\xbc',
|
|
||||||
TLObject.serialize_bytes(self.phone_number),
|
|
||||||
TLObject.serialize_bytes(self.phone_code_hash),
|
|
||||||
TLObject.serialize_bytes(self.phone_code),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_phone_number = reader.tgread_string()
|
|
||||||
_phone_code_hash = reader.tgread_string()
|
|
||||||
_phone_code = reader.tgread_string()
|
|
||||||
return SignInRequest(phone_number=_phone_number, phone_code_hash=_phone_code_hash, phone_code=_phone_code)
|
|
||||||
|
|
||||||
|
|
||||||
class SignUpRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x1b067634
|
|
||||||
SUBCLASS_OF_ID = 0xb9e04e39
|
|
||||||
|
|
||||||
def __init__(self, phone_number, phone_code_hash, phone_code, first_name, last_name):
|
|
||||||
"""
|
|
||||||
:param str phone_number:
|
|
||||||
:param str phone_code_hash:
|
|
||||||
:param str phone_code:
|
|
||||||
:param str first_name:
|
|
||||||
:param str last_name:
|
|
||||||
|
|
||||||
:returns auth.Authorization: Instance of Authorization.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.phone_number = phone_number
|
|
||||||
self.phone_code_hash = phone_code_hash
|
|
||||||
self.phone_code = phone_code
|
|
||||||
self.first_name = first_name
|
|
||||||
self.last_name = last_name
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SignUpRequest',
|
|
||||||
'phone_number': self.phone_number,
|
|
||||||
'phone_code_hash': self.phone_code_hash,
|
|
||||||
'phone_code': self.phone_code,
|
|
||||||
'first_name': self.first_name,
|
|
||||||
'last_name': self.last_name
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'4v\x06\x1b',
|
|
||||||
TLObject.serialize_bytes(self.phone_number),
|
|
||||||
TLObject.serialize_bytes(self.phone_code_hash),
|
|
||||||
TLObject.serialize_bytes(self.phone_code),
|
|
||||||
TLObject.serialize_bytes(self.first_name),
|
|
||||||
TLObject.serialize_bytes(self.last_name),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_phone_number = reader.tgread_string()
|
|
||||||
_phone_code_hash = reader.tgread_string()
|
|
||||||
_phone_code = reader.tgread_string()
|
|
||||||
_first_name = reader.tgread_string()
|
|
||||||
_last_name = reader.tgread_string()
|
|
||||||
return SignUpRequest(phone_number=_phone_number, phone_code_hash=_phone_code_hash, phone_code=_phone_code, first_name=_first_name, last_name=_last_name)
|
|
|
@ -1,82 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class AnswerWebhookJSONQueryRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xe6213f4d
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, query_id, data):
|
|
||||||
"""
|
|
||||||
:param int query_id:
|
|
||||||
:param DataJSON data:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.query_id = query_id
|
|
||||||
self.data = data
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'AnswerWebhookJSONQueryRequest',
|
|
||||||
'query_id': self.query_id,
|
|
||||||
'data': None if self.data is None else self.data.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'M?!\xe6',
|
|
||||||
struct.pack('<q', self.query_id),
|
|
||||||
bytes(self.data),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_query_id = reader.read_long()
|
|
||||||
_data = reader.tgread_object()
|
|
||||||
return AnswerWebhookJSONQueryRequest(query_id=_query_id, data=_data)
|
|
||||||
|
|
||||||
|
|
||||||
class SendCustomRequestRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xaa2769ed
|
|
||||||
SUBCLASS_OF_ID = 0xad0352e8
|
|
||||||
|
|
||||||
def __init__(self, custom_method, params):
|
|
||||||
"""
|
|
||||||
:param str custom_method:
|
|
||||||
:param DataJSON params:
|
|
||||||
|
|
||||||
:returns DataJSON: Instance of DataJSON.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.custom_method = custom_method
|
|
||||||
self.params = params
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SendCustomRequestRequest',
|
|
||||||
'custom_method': self.custom_method,
|
|
||||||
'params': None if self.params is None else self.params.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b"\xedi'\xaa",
|
|
||||||
TLObject.serialize_bytes(self.custom_method),
|
|
||||||
bytes(self.params),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_custom_method = reader.tgread_string()
|
|
||||||
_params = reader.tgread_object()
|
|
||||||
return SendCustomRequestRequest(custom_method=_custom_method, params=_params)
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,571 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class BlockRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x332b49fc
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, id):
|
|
||||||
"""
|
|
||||||
:param InputUser id:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.id = utils.get_input_user(client.get_input_entity(self.id))
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'BlockRequest',
|
|
||||||
'id': None if self.id is None else self.id.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xfcI+3',
|
|
||||||
bytes(self.id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_id = reader.tgread_object()
|
|
||||||
return BlockRequest(id=_id)
|
|
||||||
|
|
||||||
|
|
||||||
class DeleteContactRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x8e953744
|
|
||||||
SUBCLASS_OF_ID = 0x524d5ae9
|
|
||||||
|
|
||||||
def __init__(self, id):
|
|
||||||
"""
|
|
||||||
:param InputUser id:
|
|
||||||
|
|
||||||
:returns contacts.Link: Instance of Link.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.id = utils.get_input_user(client.get_input_entity(self.id))
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'DeleteContactRequest',
|
|
||||||
'id': None if self.id is None else self.id.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'D7\x95\x8e',
|
|
||||||
bytes(self.id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_id = reader.tgread_object()
|
|
||||||
return DeleteContactRequest(id=_id)
|
|
||||||
|
|
||||||
|
|
||||||
class DeleteContactsRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x59ab389e
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, id):
|
|
||||||
"""
|
|
||||||
:param list[InputUser] id:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.id = [utils.get_input_user(client.get_input_entity(_x)) for _x in self.id]
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'DeleteContactsRequest',
|
|
||||||
'id': [] if self.id is None else [None if x is None else x.to_dict() for x in self.id]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x9e8\xabY',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.id)),b''.join(bytes(x) for x in self.id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_id = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_id.append(_x)
|
|
||||||
|
|
||||||
return DeleteContactsRequest(id=_id)
|
|
||||||
|
|
||||||
|
|
||||||
class ExportCardRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x84e53737
|
|
||||||
SUBCLASS_OF_ID = 0x5026710f
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ExportCardRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'77\xe5\x84',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return ExportCardRequest()
|
|
||||||
|
|
||||||
def on_response(self, reader):
|
|
||||||
reader.read_int() # Vector ID
|
|
||||||
count = reader.read_int()
|
|
||||||
self.result = [reader.read_int() for _ in range(count)]
|
|
||||||
|
|
||||||
|
|
||||||
class GetBlockedRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf57c350f
|
|
||||||
SUBCLASS_OF_ID = 0xffba4f4f
|
|
||||||
|
|
||||||
def __init__(self, offset, limit):
|
|
||||||
"""
|
|
||||||
:param int offset:
|
|
||||||
:param int limit:
|
|
||||||
|
|
||||||
:returns contacts.Blocked: Instance of either Blocked, BlockedSlice.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.offset = offset
|
|
||||||
self.limit = limit
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetBlockedRequest',
|
|
||||||
'offset': self.offset,
|
|
||||||
'limit': self.limit
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x0f5|\xf5',
|
|
||||||
struct.pack('<i', self.offset),
|
|
||||||
struct.pack('<i', self.limit),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_offset = reader.read_int()
|
|
||||||
_limit = reader.read_int()
|
|
||||||
return GetBlockedRequest(offset=_offset, limit=_limit)
|
|
||||||
|
|
||||||
|
|
||||||
class GetContactsRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xc023849f
|
|
||||||
SUBCLASS_OF_ID = 0x38be25f6
|
|
||||||
|
|
||||||
def __init__(self, hash):
|
|
||||||
"""
|
|
||||||
:param int hash:
|
|
||||||
|
|
||||||
:returns contacts.Contacts: Instance of either ContactsNotModified, Contacts.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.hash = hash
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetContactsRequest',
|
|
||||||
'hash': self.hash
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x9f\x84#\xc0',
|
|
||||||
struct.pack('<i', self.hash),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_hash = reader.read_int()
|
|
||||||
return GetContactsRequest(hash=_hash)
|
|
||||||
|
|
||||||
|
|
||||||
class GetStatusesRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xc4a353ee
|
|
||||||
SUBCLASS_OF_ID = 0xdf815c90
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetStatusesRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xeeS\xa3\xc4',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetStatusesRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class GetTopPeersRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xd4982db5
|
|
||||||
SUBCLASS_OF_ID = 0x9ee8bb88
|
|
||||||
|
|
||||||
def __init__(self, offset, limit, hash, correspondents=None, bots_pm=None, bots_inline=None, phone_calls=None, groups=None, channels=None):
|
|
||||||
"""
|
|
||||||
:param bool | None correspondents:
|
|
||||||
:param bool | None bots_pm:
|
|
||||||
:param bool | None bots_inline:
|
|
||||||
:param bool | None phone_calls:
|
|
||||||
:param bool | None groups:
|
|
||||||
:param bool | None channels:
|
|
||||||
:param int offset:
|
|
||||||
:param int limit:
|
|
||||||
:param int hash:
|
|
||||||
|
|
||||||
:returns contacts.TopPeers: Instance of either TopPeersNotModified, TopPeers.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.correspondents = correspondents
|
|
||||||
self.bots_pm = bots_pm
|
|
||||||
self.bots_inline = bots_inline
|
|
||||||
self.phone_calls = phone_calls
|
|
||||||
self.groups = groups
|
|
||||||
self.channels = channels
|
|
||||||
self.offset = offset
|
|
||||||
self.limit = limit
|
|
||||||
self.hash = hash
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetTopPeersRequest',
|
|
||||||
'correspondents': self.correspondents,
|
|
||||||
'bots_pm': self.bots_pm,
|
|
||||||
'bots_inline': self.bots_inline,
|
|
||||||
'phone_calls': self.phone_calls,
|
|
||||||
'groups': self.groups,
|
|
||||||
'channels': self.channels,
|
|
||||||
'offset': self.offset,
|
|
||||||
'limit': self.limit,
|
|
||||||
'hash': self.hash
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xb5-\x98\xd4',
|
|
||||||
struct.pack('<I', (0 if self.correspondents is None or self.correspondents is False else 1) | (0 if self.bots_pm is None or self.bots_pm is False else 2) | (0 if self.bots_inline is None or self.bots_inline is False else 4) | (0 if self.phone_calls is None or self.phone_calls is False else 8) | (0 if self.groups is None or self.groups is False else 1024) | (0 if self.channels is None or self.channels is False else 32768)),
|
|
||||||
struct.pack('<i', self.offset),
|
|
||||||
struct.pack('<i', self.limit),
|
|
||||||
struct.pack('<i', self.hash),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_correspondents = bool(flags & 1)
|
|
||||||
_bots_pm = bool(flags & 2)
|
|
||||||
_bots_inline = bool(flags & 4)
|
|
||||||
_phone_calls = bool(flags & 8)
|
|
||||||
_groups = bool(flags & 1024)
|
|
||||||
_channels = bool(flags & 32768)
|
|
||||||
_offset = reader.read_int()
|
|
||||||
_limit = reader.read_int()
|
|
||||||
_hash = reader.read_int()
|
|
||||||
return GetTopPeersRequest(offset=_offset, limit=_limit, hash=_hash, correspondents=_correspondents, bots_pm=_bots_pm, bots_inline=_bots_inline, phone_calls=_phone_calls, groups=_groups, channels=_channels)
|
|
||||||
|
|
||||||
|
|
||||||
class ImportCardRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x4fe196fe
|
|
||||||
SUBCLASS_OF_ID = 0x2da17977
|
|
||||||
|
|
||||||
def __init__(self, export_card):
|
|
||||||
"""
|
|
||||||
:param list[int] export_card:
|
|
||||||
|
|
||||||
:returns User: Instance of either UserEmpty, User.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.export_card = export_card
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ImportCardRequest',
|
|
||||||
'export_card': [] if self.export_card is None else self.export_card[:]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xfe\x96\xe1O',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.export_card)),b''.join(struct.pack('<i', x) for x in self.export_card),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_export_card = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.read_int()
|
|
||||||
_export_card.append(_x)
|
|
||||||
|
|
||||||
return ImportCardRequest(export_card=_export_card)
|
|
||||||
|
|
||||||
|
|
||||||
class ImportContactsRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x2c800be5
|
|
||||||
SUBCLASS_OF_ID = 0x8172ad93
|
|
||||||
|
|
||||||
def __init__(self, contacts):
|
|
||||||
"""
|
|
||||||
:param list[InputContact] contacts:
|
|
||||||
|
|
||||||
:returns contacts.ImportedContacts: Instance of ImportedContacts.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.contacts = contacts
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ImportContactsRequest',
|
|
||||||
'contacts': [] if self.contacts is None else [None if x is None else x.to_dict() for x in self.contacts]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xe5\x0b\x80,',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.contacts)),b''.join(bytes(x) for x in self.contacts),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_contacts = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_contacts.append(_x)
|
|
||||||
|
|
||||||
return ImportContactsRequest(contacts=_contacts)
|
|
||||||
|
|
||||||
|
|
||||||
class ResetSavedRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x879537f1
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ResetSavedRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xf17\x95\x87',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return ResetSavedRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class ResetTopPeerRatingRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x1ae373ac
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, category, peer):
|
|
||||||
"""
|
|
||||||
:param TopPeerCategory category:
|
|
||||||
:param InputPeer peer:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.category = category
|
|
||||||
self.peer = peer
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.peer = utils.get_input_peer(client.get_input_entity(self.peer))
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ResetTopPeerRatingRequest',
|
|
||||||
'category': None if self.category is None else self.category.to_dict(),
|
|
||||||
'peer': None if self.peer is None else self.peer.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xacs\xe3\x1a',
|
|
||||||
bytes(self.category),
|
|
||||||
bytes(self.peer),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_category = reader.tgread_object()
|
|
||||||
_peer = reader.tgread_object()
|
|
||||||
return ResetTopPeerRatingRequest(category=_category, peer=_peer)
|
|
||||||
|
|
||||||
|
|
||||||
class ResolveUsernameRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf93ccba3
|
|
||||||
SUBCLASS_OF_ID = 0xf065b3a8
|
|
||||||
|
|
||||||
def __init__(self, username):
|
|
||||||
"""
|
|
||||||
:param str username:
|
|
||||||
|
|
||||||
:returns contacts.ResolvedPeer: Instance of ResolvedPeer.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.username = username
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ResolveUsernameRequest',
|
|
||||||
'username': self.username
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa3\xcb<\xf9',
|
|
||||||
TLObject.serialize_bytes(self.username),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_username = reader.tgread_string()
|
|
||||||
return ResolveUsernameRequest(username=_username)
|
|
||||||
|
|
||||||
|
|
||||||
class SearchRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x11f812d8
|
|
||||||
SUBCLASS_OF_ID = 0x4386a2e3
|
|
||||||
|
|
||||||
def __init__(self, q, limit):
|
|
||||||
"""
|
|
||||||
:param str q:
|
|
||||||
:param int limit:
|
|
||||||
|
|
||||||
:returns contacts.Found: Instance of Found.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.q = q
|
|
||||||
self.limit = limit
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SearchRequest',
|
|
||||||
'q': self.q,
|
|
||||||
'limit': self.limit
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xd8\x12\xf8\x11',
|
|
||||||
TLObject.serialize_bytes(self.q),
|
|
||||||
struct.pack('<i', self.limit),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_q = reader.tgread_string()
|
|
||||||
_limit = reader.read_int()
|
|
||||||
return SearchRequest(q=_q, limit=_limit)
|
|
||||||
|
|
||||||
|
|
||||||
class UnblockRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xe54100bd
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, id):
|
|
||||||
"""
|
|
||||||
:param InputUser id:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.id = utils.get_input_user(client.get_input_entity(self.id))
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'UnblockRequest',
|
|
||||||
'id': None if self.id is None else self.id.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xbd\x00A\xe5',
|
|
||||||
bytes(self.id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_id = reader.tgread_object()
|
|
||||||
return UnblockRequest(id=_id)
|
|
|
@ -1,58 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class SaveDeveloperInfoRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x9a5f6e95
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, vk_id, name, phone_number, age, city):
|
|
||||||
"""
|
|
||||||
:param int vk_id:
|
|
||||||
:param str name:
|
|
||||||
:param str phone_number:
|
|
||||||
:param int age:
|
|
||||||
:param str city:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.vk_id = vk_id
|
|
||||||
self.name = name
|
|
||||||
self.phone_number = phone_number
|
|
||||||
self.age = age
|
|
||||||
self.city = city
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SaveDeveloperInfoRequest',
|
|
||||||
'vk_id': self.vk_id,
|
|
||||||
'name': self.name,
|
|
||||||
'phone_number': self.phone_number,
|
|
||||||
'age': self.age,
|
|
||||||
'city': self.city
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x95n_\x9a',
|
|
||||||
struct.pack('<i', self.vk_id),
|
|
||||||
TLObject.serialize_bytes(self.name),
|
|
||||||
TLObject.serialize_bytes(self.phone_number),
|
|
||||||
struct.pack('<i', self.age),
|
|
||||||
TLObject.serialize_bytes(self.city),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_vk_id = reader.read_int()
|
|
||||||
_name = reader.tgread_string()
|
|
||||||
_phone_number = reader.tgread_string()
|
|
||||||
_age = reader.read_int()
|
|
||||||
_city = reader.tgread_string()
|
|
||||||
return SaveDeveloperInfoRequest(vk_id=_vk_id, name=_name, phone_number=_phone_number, age=_age, city=_city)
|
|
|
@ -1,318 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class GetAppChangelogRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x9010ef6f
|
|
||||||
SUBCLASS_OF_ID = 0x8af52aac
|
|
||||||
|
|
||||||
def __init__(self, prev_app_version):
|
|
||||||
"""
|
|
||||||
:param str prev_app_version:
|
|
||||||
|
|
||||||
:returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.prev_app_version = prev_app_version
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetAppChangelogRequest',
|
|
||||||
'prev_app_version': self.prev_app_version
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'o\xef\x10\x90',
|
|
||||||
TLObject.serialize_bytes(self.prev_app_version),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_prev_app_version = reader.tgread_string()
|
|
||||||
return GetAppChangelogRequest(prev_app_version=_prev_app_version)
|
|
||||||
|
|
||||||
|
|
||||||
class GetAppUpdateRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xae2de196
|
|
||||||
SUBCLASS_OF_ID = 0x5897069e
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetAppUpdateRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x96\xe1-\xae',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetAppUpdateRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class GetCdnConfigRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x52029342
|
|
||||||
SUBCLASS_OF_ID = 0xecda397c
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetCdnConfigRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'B\x93\x02R',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetCdnConfigRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class GetConfigRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xc4f9186b
|
|
||||||
SUBCLASS_OF_ID = 0xd3262a4a
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetConfigRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'k\x18\xf9\xc4',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetConfigRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class GetInviteTextRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x4d392343
|
|
||||||
SUBCLASS_OF_ID = 0xcf70aa35
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetInviteTextRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'C#9M',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetInviteTextRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class GetNearestDcRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x1fb33026
|
|
||||||
SUBCLASS_OF_ID = 0x3877045f
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetNearestDcRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'&0\xb3\x1f',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetNearestDcRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class GetRecentMeUrlsRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x3dc0f114
|
|
||||||
SUBCLASS_OF_ID = 0xf269c477
|
|
||||||
|
|
||||||
def __init__(self, referer):
|
|
||||||
"""
|
|
||||||
:param str referer:
|
|
||||||
|
|
||||||
:returns help.RecentMeUrls: Instance of RecentMeUrls.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.referer = referer
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetRecentMeUrlsRequest',
|
|
||||||
'referer': self.referer
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x14\xf1\xc0=',
|
|
||||||
TLObject.serialize_bytes(self.referer),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_referer = reader.tgread_string()
|
|
||||||
return GetRecentMeUrlsRequest(referer=_referer)
|
|
||||||
|
|
||||||
|
|
||||||
class GetSupportRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x9cdf08cd
|
|
||||||
SUBCLASS_OF_ID = 0x7159bceb
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetSupportRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xcd\x08\xdf\x9c',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetSupportRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class GetTermsOfServiceRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x350170f3
|
|
||||||
SUBCLASS_OF_ID = 0x20ee8312
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetTermsOfServiceRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xf3p\x015',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetTermsOfServiceRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class SaveAppLogRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x6f02f748
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, events):
|
|
||||||
"""
|
|
||||||
:param list[InputAppEvent] events:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.events = events
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SaveAppLogRequest',
|
|
||||||
'events': [] if self.events is None else [None if x is None else x.to_dict() for x in self.events]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'H\xf7\x02o',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.events)),b''.join(bytes(x) for x in self.events),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_events = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_events.append(_x)
|
|
||||||
|
|
||||||
return SaveAppLogRequest(events=_events)
|
|
||||||
|
|
||||||
|
|
||||||
class SetBotUpdatesStatusRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xec22cfcd
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, pending_updates_count, message):
|
|
||||||
"""
|
|
||||||
:param int pending_updates_count:
|
|
||||||
:param str message:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.pending_updates_count = pending_updates_count
|
|
||||||
self.message = message
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SetBotUpdatesStatusRequest',
|
|
||||||
'pending_updates_count': self.pending_updates_count,
|
|
||||||
'message': self.message
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xcd\xcf"\xec',
|
|
||||||
struct.pack('<i', self.pending_updates_count),
|
|
||||||
TLObject.serialize_bytes(self.message),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_pending_updates_count = reader.read_int()
|
|
||||||
_message = reader.tgread_string()
|
|
||||||
return SetBotUpdatesStatusRequest(pending_updates_count=_pending_updates_count, message=_message)
|
|
|
@ -1,140 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class GetDifferenceRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xb2e4d7d
|
|
||||||
SUBCLASS_OF_ID = 0x52662d55
|
|
||||||
|
|
||||||
def __init__(self, from_version):
|
|
||||||
"""
|
|
||||||
:param int from_version:
|
|
||||||
|
|
||||||
:returns LangPackDifference: Instance of LangPackDifference.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.from_version = from_version
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetDifferenceRequest',
|
|
||||||
'from_version': self.from_version
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'}M.\x0b',
|
|
||||||
struct.pack('<i', self.from_version),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_from_version = reader.read_int()
|
|
||||||
return GetDifferenceRequest(from_version=_from_version)
|
|
||||||
|
|
||||||
|
|
||||||
class GetLangPackRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x9ab5c58e
|
|
||||||
SUBCLASS_OF_ID = 0x52662d55
|
|
||||||
|
|
||||||
def __init__(self, lang_code):
|
|
||||||
"""
|
|
||||||
:param str lang_code:
|
|
||||||
|
|
||||||
:returns LangPackDifference: Instance of LangPackDifference.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.lang_code = lang_code
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetLangPackRequest',
|
|
||||||
'lang_code': self.lang_code
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x8e\xc5\xb5\x9a',
|
|
||||||
TLObject.serialize_bytes(self.lang_code),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_lang_code = reader.tgread_string()
|
|
||||||
return GetLangPackRequest(lang_code=_lang_code)
|
|
||||||
|
|
||||||
|
|
||||||
class GetLanguagesRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x800fd57d
|
|
||||||
SUBCLASS_OF_ID = 0x280912c9
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetLanguagesRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'}\xd5\x0f\x80',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetLanguagesRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class GetStringsRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x2e1ee318
|
|
||||||
SUBCLASS_OF_ID = 0xc7b7353d
|
|
||||||
|
|
||||||
def __init__(self, lang_code, keys):
|
|
||||||
"""
|
|
||||||
:param str lang_code:
|
|
||||||
:param list[str] keys:
|
|
||||||
|
|
||||||
:returns Vector<LangPackString>: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.lang_code = lang_code
|
|
||||||
self.keys = keys
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetStringsRequest',
|
|
||||||
'lang_code': self.lang_code,
|
|
||||||
'keys': [] if self.keys is None else self.keys[:]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x18\xe3\x1e.',
|
|
||||||
TLObject.serialize_bytes(self.lang_code),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.keys)),b''.join(TLObject.serialize_bytes(x) for x in self.keys),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_lang_code = reader.tgread_string()
|
|
||||||
reader.read_int()
|
|
||||||
_keys = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_string()
|
|
||||||
_keys.append(_x)
|
|
||||||
|
|
||||||
return GetStringsRequest(lang_code=_lang_code, keys=_keys)
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,240 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class ClearSavedInfoRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xd83d70c1
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, credentials=None, info=None):
|
|
||||||
"""
|
|
||||||
:param bool | None credentials:
|
|
||||||
:param bool | None info:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.credentials = credentials
|
|
||||||
self.info = info
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ClearSavedInfoRequest',
|
|
||||||
'credentials': self.credentials,
|
|
||||||
'info': self.info
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xc1p=\xd8',
|
|
||||||
struct.pack('<I', (0 if self.credentials is None or self.credentials is False else 1) | (0 if self.info is None or self.info is False else 2)),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_credentials = bool(flags & 1)
|
|
||||||
_info = bool(flags & 2)
|
|
||||||
return ClearSavedInfoRequest(credentials=_credentials, info=_info)
|
|
||||||
|
|
||||||
|
|
||||||
class GetPaymentFormRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x99f09745
|
|
||||||
SUBCLASS_OF_ID = 0xa0483f19
|
|
||||||
|
|
||||||
def __init__(self, msg_id):
|
|
||||||
"""
|
|
||||||
:param int msg_id:
|
|
||||||
|
|
||||||
:returns payments.PaymentForm: Instance of PaymentForm.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.msg_id = msg_id
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetPaymentFormRequest',
|
|
||||||
'msg_id': self.msg_id
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'E\x97\xf0\x99',
|
|
||||||
struct.pack('<i', self.msg_id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_msg_id = reader.read_int()
|
|
||||||
return GetPaymentFormRequest(msg_id=_msg_id)
|
|
||||||
|
|
||||||
|
|
||||||
class GetPaymentReceiptRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xa092a980
|
|
||||||
SUBCLASS_OF_ID = 0x590093c9
|
|
||||||
|
|
||||||
def __init__(self, msg_id):
|
|
||||||
"""
|
|
||||||
:param int msg_id:
|
|
||||||
|
|
||||||
:returns payments.PaymentReceipt: Instance of PaymentReceipt.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.msg_id = msg_id
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetPaymentReceiptRequest',
|
|
||||||
'msg_id': self.msg_id
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x80\xa9\x92\xa0',
|
|
||||||
struct.pack('<i', self.msg_id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_msg_id = reader.read_int()
|
|
||||||
return GetPaymentReceiptRequest(msg_id=_msg_id)
|
|
||||||
|
|
||||||
|
|
||||||
class GetSavedInfoRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x227d824b
|
|
||||||
SUBCLASS_OF_ID = 0xad3cf146
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetSavedInfoRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'K\x82}"',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetSavedInfoRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class SendPaymentFormRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x2b8879b3
|
|
||||||
SUBCLASS_OF_ID = 0x8ae16a9d
|
|
||||||
|
|
||||||
def __init__(self, msg_id, credentials, requested_info_id=None, shipping_option_id=None):
|
|
||||||
"""
|
|
||||||
:param int msg_id:
|
|
||||||
:param str | None requested_info_id:
|
|
||||||
:param str | None shipping_option_id:
|
|
||||||
:param InputPaymentCredentials credentials:
|
|
||||||
|
|
||||||
:returns payments.PaymentResult: Instance of either PaymentResult, PaymentVerficationNeeded.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.msg_id = msg_id
|
|
||||||
self.requested_info_id = requested_info_id
|
|
||||||
self.shipping_option_id = shipping_option_id
|
|
||||||
self.credentials = credentials
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SendPaymentFormRequest',
|
|
||||||
'msg_id': self.msg_id,
|
|
||||||
'requested_info_id': self.requested_info_id,
|
|
||||||
'shipping_option_id': self.shipping_option_id,
|
|
||||||
'credentials': None if self.credentials is None else self.credentials.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xb3y\x88+',
|
|
||||||
struct.pack('<I', (0 if self.requested_info_id is None or self.requested_info_id is False else 1) | (0 if self.shipping_option_id is None or self.shipping_option_id is False else 2)),
|
|
||||||
struct.pack('<i', self.msg_id),
|
|
||||||
b'' if self.requested_info_id is None or self.requested_info_id is False else (TLObject.serialize_bytes(self.requested_info_id)),
|
|
||||||
b'' if self.shipping_option_id is None or self.shipping_option_id is False else (TLObject.serialize_bytes(self.shipping_option_id)),
|
|
||||||
bytes(self.credentials),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_msg_id = reader.read_int()
|
|
||||||
if flags & 1:
|
|
||||||
_requested_info_id = reader.tgread_string()
|
|
||||||
else:
|
|
||||||
_requested_info_id = None
|
|
||||||
if flags & 2:
|
|
||||||
_shipping_option_id = reader.tgread_string()
|
|
||||||
else:
|
|
||||||
_shipping_option_id = None
|
|
||||||
_credentials = reader.tgread_object()
|
|
||||||
return SendPaymentFormRequest(msg_id=_msg_id, credentials=_credentials, requested_info_id=_requested_info_id, shipping_option_id=_shipping_option_id)
|
|
||||||
|
|
||||||
|
|
||||||
class ValidateRequestedInfoRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x770a8e74
|
|
||||||
SUBCLASS_OF_ID = 0x8f8044b7
|
|
||||||
|
|
||||||
def __init__(self, msg_id, info, save=None):
|
|
||||||
"""
|
|
||||||
:param bool | None save:
|
|
||||||
:param int msg_id:
|
|
||||||
:param PaymentRequestedInfo info:
|
|
||||||
|
|
||||||
:returns payments.ValidatedRequestedInfo: Instance of ValidatedRequestedInfo.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.save = save
|
|
||||||
self.msg_id = msg_id
|
|
||||||
self.info = info
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ValidateRequestedInfoRequest',
|
|
||||||
'save': self.save,
|
|
||||||
'msg_id': self.msg_id,
|
|
||||||
'info': None if self.info is None else self.info.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b't\x8e\nw',
|
|
||||||
struct.pack('<I', (0 if self.save is None or self.save is False else 1)),
|
|
||||||
struct.pack('<i', self.msg_id),
|
|
||||||
bytes(self.info),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_save = bool(flags & 1)
|
|
||||||
_msg_id = reader.read_int()
|
|
||||||
_info = reader.tgread_object()
|
|
||||||
return ValidateRequestedInfoRequest(msg_id=_msg_id, info=_info, save=_save)
|
|
|
@ -1,339 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class AcceptCallRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x3bd2b4a0
|
|
||||||
SUBCLASS_OF_ID = 0xd48afe4f
|
|
||||||
|
|
||||||
def __init__(self, peer, g_b, protocol):
|
|
||||||
"""
|
|
||||||
:param InputPhoneCall peer:
|
|
||||||
:param bytes g_b:
|
|
||||||
:param PhoneCallProtocol protocol:
|
|
||||||
|
|
||||||
:returns phone.PhoneCall: Instance of PhoneCall.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.peer = peer
|
|
||||||
self.g_b = g_b
|
|
||||||
self.protocol = protocol
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'AcceptCallRequest',
|
|
||||||
'peer': None if self.peer is None else self.peer.to_dict(),
|
|
||||||
'g_b': self.g_b,
|
|
||||||
'protocol': None if self.protocol is None else self.protocol.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa0\xb4\xd2;',
|
|
||||||
bytes(self.peer),
|
|
||||||
TLObject.serialize_bytes(self.g_b),
|
|
||||||
bytes(self.protocol),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_peer = reader.tgread_object()
|
|
||||||
_g_b = reader.tgread_bytes()
|
|
||||||
_protocol = reader.tgread_object()
|
|
||||||
return AcceptCallRequest(peer=_peer, g_b=_g_b, protocol=_protocol)
|
|
||||||
|
|
||||||
|
|
||||||
class ConfirmCallRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x2efe1722
|
|
||||||
SUBCLASS_OF_ID = 0xd48afe4f
|
|
||||||
|
|
||||||
def __init__(self, peer, g_a, key_fingerprint, protocol):
|
|
||||||
"""
|
|
||||||
:param InputPhoneCall peer:
|
|
||||||
:param bytes g_a:
|
|
||||||
:param int key_fingerprint:
|
|
||||||
:param PhoneCallProtocol protocol:
|
|
||||||
|
|
||||||
:returns phone.PhoneCall: Instance of PhoneCall.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.peer = peer
|
|
||||||
self.g_a = g_a
|
|
||||||
self.key_fingerprint = key_fingerprint
|
|
||||||
self.protocol = protocol
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ConfirmCallRequest',
|
|
||||||
'peer': None if self.peer is None else self.peer.to_dict(),
|
|
||||||
'g_a': self.g_a,
|
|
||||||
'key_fingerprint': self.key_fingerprint,
|
|
||||||
'protocol': None if self.protocol is None else self.protocol.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'"\x17\xfe.',
|
|
||||||
bytes(self.peer),
|
|
||||||
TLObject.serialize_bytes(self.g_a),
|
|
||||||
struct.pack('<q', self.key_fingerprint),
|
|
||||||
bytes(self.protocol),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_peer = reader.tgread_object()
|
|
||||||
_g_a = reader.tgread_bytes()
|
|
||||||
_key_fingerprint = reader.read_long()
|
|
||||||
_protocol = reader.tgread_object()
|
|
||||||
return ConfirmCallRequest(peer=_peer, g_a=_g_a, key_fingerprint=_key_fingerprint, protocol=_protocol)
|
|
||||||
|
|
||||||
|
|
||||||
class DiscardCallRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x78d413a6
|
|
||||||
SUBCLASS_OF_ID = 0x8af52aac
|
|
||||||
|
|
||||||
def __init__(self, peer, duration, reason, connection_id):
|
|
||||||
"""
|
|
||||||
:param InputPhoneCall peer:
|
|
||||||
:param int duration:
|
|
||||||
:param PhoneCallDiscardReason reason:
|
|
||||||
:param int connection_id:
|
|
||||||
|
|
||||||
:returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.peer = peer
|
|
||||||
self.duration = duration
|
|
||||||
self.reason = reason
|
|
||||||
self.connection_id = connection_id
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'DiscardCallRequest',
|
|
||||||
'peer': None if self.peer is None else self.peer.to_dict(),
|
|
||||||
'duration': self.duration,
|
|
||||||
'reason': None if self.reason is None else self.reason.to_dict(),
|
|
||||||
'connection_id': self.connection_id
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa6\x13\xd4x',
|
|
||||||
bytes(self.peer),
|
|
||||||
struct.pack('<i', self.duration),
|
|
||||||
bytes(self.reason),
|
|
||||||
struct.pack('<q', self.connection_id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_peer = reader.tgread_object()
|
|
||||||
_duration = reader.read_int()
|
|
||||||
_reason = reader.tgread_object()
|
|
||||||
_connection_id = reader.read_long()
|
|
||||||
return DiscardCallRequest(peer=_peer, duration=_duration, reason=_reason, connection_id=_connection_id)
|
|
||||||
|
|
||||||
|
|
||||||
class GetCallConfigRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x55451fa9
|
|
||||||
SUBCLASS_OF_ID = 0xad0352e8
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetCallConfigRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa9\x1fEU',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetCallConfigRequest()
|
|
||||||
|
|
||||||
|
|
||||||
class ReceivedCallRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x17d54f61
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, peer):
|
|
||||||
"""
|
|
||||||
:param InputPhoneCall peer:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.peer = peer
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ReceivedCallRequest',
|
|
||||||
'peer': None if self.peer is None else self.peer.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'aO\xd5\x17',
|
|
||||||
bytes(self.peer),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_peer = reader.tgread_object()
|
|
||||||
return ReceivedCallRequest(peer=_peer)
|
|
||||||
|
|
||||||
|
|
||||||
class RequestCallRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x5b95b3d4
|
|
||||||
SUBCLASS_OF_ID = 0xd48afe4f
|
|
||||||
|
|
||||||
def __init__(self, user_id, g_a_hash, protocol, random_id=None):
|
|
||||||
"""
|
|
||||||
:param InputUser user_id:
|
|
||||||
:param int random_id:
|
|
||||||
:param bytes g_a_hash:
|
|
||||||
:param PhoneCallProtocol protocol:
|
|
||||||
|
|
||||||
:returns phone.PhoneCall: Instance of PhoneCall.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.user_id = user_id
|
|
||||||
self.random_id = random_id if random_id is not None else int.from_bytes(os.urandom(4), 'big', signed=True)
|
|
||||||
self.g_a_hash = g_a_hash
|
|
||||||
self.protocol = protocol
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.user_id = utils.get_input_user(client.get_input_entity(self.user_id))
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'RequestCallRequest',
|
|
||||||
'user_id': None if self.user_id is None else self.user_id.to_dict(),
|
|
||||||
'random_id': self.random_id,
|
|
||||||
'g_a_hash': self.g_a_hash,
|
|
||||||
'protocol': None if self.protocol is None else self.protocol.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xd4\xb3\x95[',
|
|
||||||
bytes(self.user_id),
|
|
||||||
struct.pack('<i', self.random_id),
|
|
||||||
TLObject.serialize_bytes(self.g_a_hash),
|
|
||||||
bytes(self.protocol),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_user_id = reader.tgread_object()
|
|
||||||
_random_id = reader.read_int()
|
|
||||||
_g_a_hash = reader.tgread_bytes()
|
|
||||||
_protocol = reader.tgread_object()
|
|
||||||
return RequestCallRequest(user_id=_user_id, g_a_hash=_g_a_hash, protocol=_protocol, random_id=_random_id)
|
|
||||||
|
|
||||||
|
|
||||||
class SaveCallDebugRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x277add7e
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, peer, debug):
|
|
||||||
"""
|
|
||||||
:param InputPhoneCall peer:
|
|
||||||
:param DataJSON debug:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.peer = peer
|
|
||||||
self.debug = debug
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SaveCallDebugRequest',
|
|
||||||
'peer': None if self.peer is None else self.peer.to_dict(),
|
|
||||||
'debug': None if self.debug is None else self.debug.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b"~\xddz'",
|
|
||||||
bytes(self.peer),
|
|
||||||
bytes(self.debug),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_peer = reader.tgread_object()
|
|
||||||
_debug = reader.tgread_object()
|
|
||||||
return SaveCallDebugRequest(peer=_peer, debug=_debug)
|
|
||||||
|
|
||||||
|
|
||||||
class SetCallRatingRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x1c536a34
|
|
||||||
SUBCLASS_OF_ID = 0x8af52aac
|
|
||||||
|
|
||||||
def __init__(self, peer, rating, comment):
|
|
||||||
"""
|
|
||||||
:param InputPhoneCall peer:
|
|
||||||
:param int rating:
|
|
||||||
:param str comment:
|
|
||||||
|
|
||||||
:returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.peer = peer
|
|
||||||
self.rating = rating
|
|
||||||
self.comment = comment
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SetCallRatingRequest',
|
|
||||||
'peer': None if self.peer is None else self.peer.to_dict(),
|
|
||||||
'rating': self.rating,
|
|
||||||
'comment': self.comment
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'4jS\x1c',
|
|
||||||
bytes(self.peer),
|
|
||||||
struct.pack('<i', self.rating),
|
|
||||||
TLObject.serialize_bytes(self.comment),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_peer = reader.tgread_object()
|
|
||||||
_rating = reader.read_int()
|
|
||||||
_comment = reader.tgread_string()
|
|
||||||
return SetCallRatingRequest(peer=_peer, rating=_rating, comment=_comment)
|
|
|
@ -1,174 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class DeletePhotosRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x87cf7f2f
|
|
||||||
SUBCLASS_OF_ID = 0x8918e168
|
|
||||||
|
|
||||||
def __init__(self, id):
|
|
||||||
"""
|
|
||||||
:param list[InputPhoto] id:
|
|
||||||
|
|
||||||
:returns Vector<long>: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.id = [utils.get_input_photo(_x) for _x in self.id]
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'DeletePhotosRequest',
|
|
||||||
'id': [] if self.id is None else [None if x is None else x.to_dict() for x in self.id]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'/\x7f\xcf\x87',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.id)),b''.join(bytes(x) for x in self.id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_id = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_id.append(_x)
|
|
||||||
|
|
||||||
return DeletePhotosRequest(id=_id)
|
|
||||||
|
|
||||||
def on_response(self, reader):
|
|
||||||
reader.read_int() # Vector ID
|
|
||||||
count = reader.read_long()
|
|
||||||
self.result = [reader.read_long() for _ in range(count)]
|
|
||||||
|
|
||||||
|
|
||||||
class GetUserPhotosRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x91cd32a8
|
|
||||||
SUBCLASS_OF_ID = 0x27cfb967
|
|
||||||
|
|
||||||
def __init__(self, user_id, offset, max_id, limit):
|
|
||||||
"""
|
|
||||||
:param InputUser user_id:
|
|
||||||
:param int offset:
|
|
||||||
:param int max_id:
|
|
||||||
:param int limit:
|
|
||||||
|
|
||||||
:returns photos.Photos: Instance of either Photos, PhotosSlice.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.user_id = user_id
|
|
||||||
self.offset = offset
|
|
||||||
self.max_id = max_id
|
|
||||||
self.limit = limit
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.user_id = utils.get_input_user(client.get_input_entity(self.user_id))
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetUserPhotosRequest',
|
|
||||||
'user_id': None if self.user_id is None else self.user_id.to_dict(),
|
|
||||||
'offset': self.offset,
|
|
||||||
'max_id': self.max_id,
|
|
||||||
'limit': self.limit
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa82\xcd\x91',
|
|
||||||
bytes(self.user_id),
|
|
||||||
struct.pack('<i', self.offset),
|
|
||||||
struct.pack('<q', self.max_id),
|
|
||||||
struct.pack('<i', self.limit),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_user_id = reader.tgread_object()
|
|
||||||
_offset = reader.read_int()
|
|
||||||
_max_id = reader.read_long()
|
|
||||||
_limit = reader.read_int()
|
|
||||||
return GetUserPhotosRequest(user_id=_user_id, offset=_offset, max_id=_max_id, limit=_limit)
|
|
||||||
|
|
||||||
|
|
||||||
class UpdateProfilePhotoRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf0bb5152
|
|
||||||
SUBCLASS_OF_ID = 0xc6338f7d
|
|
||||||
|
|
||||||
def __init__(self, id):
|
|
||||||
"""
|
|
||||||
:param InputPhoto id:
|
|
||||||
|
|
||||||
:returns UserProfilePhoto: Instance of either UserProfilePhotoEmpty, UserProfilePhoto.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.id = utils.get_input_photo(self.id)
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'UpdateProfilePhotoRequest',
|
|
||||||
'id': None if self.id is None else self.id.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'RQ\xbb\xf0',
|
|
||||||
bytes(self.id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_id = reader.tgread_object()
|
|
||||||
return UpdateProfilePhotoRequest(id=_id)
|
|
||||||
|
|
||||||
|
|
||||||
class UploadProfilePhotoRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x4f32c098
|
|
||||||
SUBCLASS_OF_ID = 0xc292bd24
|
|
||||||
|
|
||||||
def __init__(self, file):
|
|
||||||
"""
|
|
||||||
:param InputFile file:
|
|
||||||
|
|
||||||
:returns photos.Photo: Instance of Photo.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.file = file
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'UploadProfilePhotoRequest',
|
|
||||||
'file': None if self.file is None else self.file.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x98\xc02O',
|
|
||||||
bytes(self.file),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_file = reader.tgread_object()
|
|
||||||
return UploadProfilePhotoRequest(file=_file)
|
|
|
@ -1,180 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class AddStickerToSetRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x8653febe
|
|
||||||
SUBCLASS_OF_ID = 0x9b704a5a
|
|
||||||
|
|
||||||
def __init__(self, stickerset, sticker):
|
|
||||||
"""
|
|
||||||
:param InputStickerSet stickerset:
|
|
||||||
:param InputStickerSetItem sticker:
|
|
||||||
|
|
||||||
:returns messages.StickerSet: Instance of StickerSet.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.stickerset = stickerset
|
|
||||||
self.sticker = sticker
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'AddStickerToSetRequest',
|
|
||||||
'stickerset': None if self.stickerset is None else self.stickerset.to_dict(),
|
|
||||||
'sticker': None if self.sticker is None else self.sticker.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xbe\xfeS\x86',
|
|
||||||
bytes(self.stickerset),
|
|
||||||
bytes(self.sticker),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_stickerset = reader.tgread_object()
|
|
||||||
_sticker = reader.tgread_object()
|
|
||||||
return AddStickerToSetRequest(stickerset=_stickerset, sticker=_sticker)
|
|
||||||
|
|
||||||
|
|
||||||
class ChangeStickerPositionRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xffb6d4ca
|
|
||||||
SUBCLASS_OF_ID = 0x9b704a5a
|
|
||||||
|
|
||||||
def __init__(self, sticker, position):
|
|
||||||
"""
|
|
||||||
:param InputDocument sticker:
|
|
||||||
:param int position:
|
|
||||||
|
|
||||||
:returns messages.StickerSet: Instance of StickerSet.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.sticker = sticker
|
|
||||||
self.position = position
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ChangeStickerPositionRequest',
|
|
||||||
'sticker': None if self.sticker is None else self.sticker.to_dict(),
|
|
||||||
'position': self.position
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xca\xd4\xb6\xff',
|
|
||||||
bytes(self.sticker),
|
|
||||||
struct.pack('<i', self.position),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_sticker = reader.tgread_object()
|
|
||||||
_position = reader.read_int()
|
|
||||||
return ChangeStickerPositionRequest(sticker=_sticker, position=_position)
|
|
||||||
|
|
||||||
|
|
||||||
class CreateStickerSetRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x9bd86e6a
|
|
||||||
SUBCLASS_OF_ID = 0x9b704a5a
|
|
||||||
|
|
||||||
def __init__(self, user_id, title, short_name, stickers, masks=None):
|
|
||||||
"""
|
|
||||||
:param bool | None masks:
|
|
||||||
:param InputUser user_id:
|
|
||||||
:param str title:
|
|
||||||
:param str short_name:
|
|
||||||
:param list[InputStickerSetItem] stickers:
|
|
||||||
|
|
||||||
:returns messages.StickerSet: Instance of StickerSet.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.masks = masks
|
|
||||||
self.user_id = user_id
|
|
||||||
self.title = title
|
|
||||||
self.short_name = short_name
|
|
||||||
self.stickers = stickers
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.user_id = utils.get_input_user(client.get_input_entity(self.user_id))
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'CreateStickerSetRequest',
|
|
||||||
'masks': self.masks,
|
|
||||||
'user_id': None if self.user_id is None else self.user_id.to_dict(),
|
|
||||||
'title': self.title,
|
|
||||||
'short_name': self.short_name,
|
|
||||||
'stickers': [] if self.stickers is None else [None if x is None else x.to_dict() for x in self.stickers]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'jn\xd8\x9b',
|
|
||||||
struct.pack('<I', (0 if self.masks is None or self.masks is False else 1)),
|
|
||||||
bytes(self.user_id),
|
|
||||||
TLObject.serialize_bytes(self.title),
|
|
||||||
TLObject.serialize_bytes(self.short_name),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.stickers)),b''.join(bytes(x) for x in self.stickers),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_masks = bool(flags & 1)
|
|
||||||
_user_id = reader.tgread_object()
|
|
||||||
_title = reader.tgread_string()
|
|
||||||
_short_name = reader.tgread_string()
|
|
||||||
reader.read_int()
|
|
||||||
_stickers = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_stickers.append(_x)
|
|
||||||
|
|
||||||
return CreateStickerSetRequest(user_id=_user_id, title=_title, short_name=_short_name, stickers=_stickers, masks=_masks)
|
|
||||||
|
|
||||||
|
|
||||||
class RemoveStickerFromSetRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf7760f51
|
|
||||||
SUBCLASS_OF_ID = 0x9b704a5a
|
|
||||||
|
|
||||||
def __init__(self, sticker):
|
|
||||||
"""
|
|
||||||
:param InputDocument sticker:
|
|
||||||
|
|
||||||
:returns messages.StickerSet: Instance of StickerSet.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.sticker = sticker
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'RemoveStickerFromSetRequest',
|
|
||||||
'sticker': None if self.sticker is None else self.sticker.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'Q\x0fv\xf7',
|
|
||||||
bytes(self.sticker),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_sticker = reader.tgread_object()
|
|
||||||
return RemoveStickerFromSetRequest(sticker=_sticker)
|
|
|
@ -1,142 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class GetChannelDifferenceRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x3173d78
|
|
||||||
SUBCLASS_OF_ID = 0x29896f5d
|
|
||||||
|
|
||||||
def __init__(self, channel, filter, pts, limit, force=None):
|
|
||||||
"""
|
|
||||||
:param bool | None force:
|
|
||||||
:param InputChannel channel:
|
|
||||||
:param ChannelMessagesFilter filter:
|
|
||||||
:param int pts:
|
|
||||||
:param int limit:
|
|
||||||
|
|
||||||
:returns updates.ChannelDifference: Instance of either ChannelDifferenceEmpty, ChannelDifferenceTooLong, ChannelDifference.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.force = force
|
|
||||||
self.channel = channel
|
|
||||||
self.filter = filter
|
|
||||||
self.pts = pts
|
|
||||||
self.limit = limit
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.channel = utils.get_input_channel(client.get_input_entity(self.channel))
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetChannelDifferenceRequest',
|
|
||||||
'force': self.force,
|
|
||||||
'channel': None if self.channel is None else self.channel.to_dict(),
|
|
||||||
'filter': None if self.filter is None else self.filter.to_dict(),
|
|
||||||
'pts': self.pts,
|
|
||||||
'limit': self.limit
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'x=\x17\x03',
|
|
||||||
struct.pack('<I', (0 if self.force is None or self.force is False else 1)),
|
|
||||||
bytes(self.channel),
|
|
||||||
bytes(self.filter),
|
|
||||||
struct.pack('<i', self.pts),
|
|
||||||
struct.pack('<i', self.limit),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_force = bool(flags & 1)
|
|
||||||
_channel = reader.tgread_object()
|
|
||||||
_filter = reader.tgread_object()
|
|
||||||
_pts = reader.read_int()
|
|
||||||
_limit = reader.read_int()
|
|
||||||
return GetChannelDifferenceRequest(channel=_channel, filter=_filter, pts=_pts, limit=_limit, force=_force)
|
|
||||||
|
|
||||||
|
|
||||||
class GetDifferenceRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x25939651
|
|
||||||
SUBCLASS_OF_ID = 0x20482874
|
|
||||||
|
|
||||||
def __init__(self, pts, date, qts, pts_total_limit=None):
|
|
||||||
"""
|
|
||||||
:param int pts:
|
|
||||||
:param int | None pts_total_limit:
|
|
||||||
:param datetime.datetime | None date:
|
|
||||||
:param int qts:
|
|
||||||
|
|
||||||
:returns updates.Difference: Instance of either DifferenceEmpty, Difference, DifferenceSlice, DifferenceTooLong.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.pts = pts
|
|
||||||
self.pts_total_limit = pts_total_limit
|
|
||||||
self.date = date
|
|
||||||
self.qts = qts
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetDifferenceRequest',
|
|
||||||
'pts': self.pts,
|
|
||||||
'pts_total_limit': self.pts_total_limit,
|
|
||||||
'date': self.date,
|
|
||||||
'qts': self.qts
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'Q\x96\x93%',
|
|
||||||
struct.pack('<I', (0 if self.pts_total_limit is None or self.pts_total_limit is False else 1)),
|
|
||||||
struct.pack('<i', self.pts),
|
|
||||||
b'' if self.pts_total_limit is None or self.pts_total_limit is False else (struct.pack('<i', self.pts_total_limit)),
|
|
||||||
TLObject.serialize_datetime(self.date),
|
|
||||||
struct.pack('<i', self.qts),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_pts = reader.read_int()
|
|
||||||
if flags & 1:
|
|
||||||
_pts_total_limit = reader.read_int()
|
|
||||||
else:
|
|
||||||
_pts_total_limit = None
|
|
||||||
_date = reader.tgread_date()
|
|
||||||
_qts = reader.read_int()
|
|
||||||
return GetDifferenceRequest(pts=_pts, date=_date, qts=_qts, pts_total_limit=_pts_total_limit)
|
|
||||||
|
|
||||||
|
|
||||||
class GetStateRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xedd4882a
|
|
||||||
SUBCLASS_OF_ID = 0x23df1a01
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetStateRequest'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'*\x88\xd4\xed',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return GetStateRequest()
|
|
|
@ -1,307 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class GetCdnFileRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x2000bcc3
|
|
||||||
SUBCLASS_OF_ID = 0xf5ccf928
|
|
||||||
|
|
||||||
def __init__(self, file_token, offset, limit):
|
|
||||||
"""
|
|
||||||
:param bytes file_token:
|
|
||||||
:param int offset:
|
|
||||||
:param int limit:
|
|
||||||
|
|
||||||
:returns upload.CdnFile: Instance of either CdnFileReuploadNeeded, CdnFile.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.file_token = file_token
|
|
||||||
self.offset = offset
|
|
||||||
self.limit = limit
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetCdnFileRequest',
|
|
||||||
'file_token': self.file_token,
|
|
||||||
'offset': self.offset,
|
|
||||||
'limit': self.limit
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xc3\xbc\x00 ',
|
|
||||||
TLObject.serialize_bytes(self.file_token),
|
|
||||||
struct.pack('<i', self.offset),
|
|
||||||
struct.pack('<i', self.limit),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_file_token = reader.tgread_bytes()
|
|
||||||
_offset = reader.read_int()
|
|
||||||
_limit = reader.read_int()
|
|
||||||
return GetCdnFileRequest(file_token=_file_token, offset=_offset, limit=_limit)
|
|
||||||
|
|
||||||
|
|
||||||
class GetCdnFileHashesRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf715c87b
|
|
||||||
SUBCLASS_OF_ID = 0x7ec58e40
|
|
||||||
|
|
||||||
def __init__(self, file_token, offset):
|
|
||||||
"""
|
|
||||||
:param bytes file_token:
|
|
||||||
:param int offset:
|
|
||||||
|
|
||||||
:returns Vector<CdnFileHash>: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.file_token = file_token
|
|
||||||
self.offset = offset
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetCdnFileHashesRequest',
|
|
||||||
'file_token': self.file_token,
|
|
||||||
'offset': self.offset
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'{\xc8\x15\xf7',
|
|
||||||
TLObject.serialize_bytes(self.file_token),
|
|
||||||
struct.pack('<i', self.offset),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_file_token = reader.tgread_bytes()
|
|
||||||
_offset = reader.read_int()
|
|
||||||
return GetCdnFileHashesRequest(file_token=_file_token, offset=_offset)
|
|
||||||
|
|
||||||
|
|
||||||
class GetFileRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xe3a6cfb5
|
|
||||||
SUBCLASS_OF_ID = 0x6c9bd728
|
|
||||||
|
|
||||||
def __init__(self, location, offset, limit):
|
|
||||||
"""
|
|
||||||
:param InputFileLocation location:
|
|
||||||
:param int offset:
|
|
||||||
:param int limit:
|
|
||||||
|
|
||||||
:returns upload.File: Instance of either File, FileCdnRedirect.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.location = location
|
|
||||||
self.offset = offset
|
|
||||||
self.limit = limit
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetFileRequest',
|
|
||||||
'location': None if self.location is None else self.location.to_dict(),
|
|
||||||
'offset': self.offset,
|
|
||||||
'limit': self.limit
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xb5\xcf\xa6\xe3',
|
|
||||||
bytes(self.location),
|
|
||||||
struct.pack('<i', self.offset),
|
|
||||||
struct.pack('<i', self.limit),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_location = reader.tgread_object()
|
|
||||||
_offset = reader.read_int()
|
|
||||||
_limit = reader.read_int()
|
|
||||||
return GetFileRequest(location=_location, offset=_offset, limit=_limit)
|
|
||||||
|
|
||||||
|
|
||||||
class GetWebFileRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x24e6818d
|
|
||||||
SUBCLASS_OF_ID = 0x68f17f51
|
|
||||||
|
|
||||||
def __init__(self, location, offset, limit):
|
|
||||||
"""
|
|
||||||
:param InputWebFileLocation location:
|
|
||||||
:param int offset:
|
|
||||||
:param int limit:
|
|
||||||
|
|
||||||
:returns upload.WebFile: Instance of WebFile.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.location = location
|
|
||||||
self.offset = offset
|
|
||||||
self.limit = limit
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetWebFileRequest',
|
|
||||||
'location': None if self.location is None else self.location.to_dict(),
|
|
||||||
'offset': self.offset,
|
|
||||||
'limit': self.limit
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x8d\x81\xe6$',
|
|
||||||
bytes(self.location),
|
|
||||||
struct.pack('<i', self.offset),
|
|
||||||
struct.pack('<i', self.limit),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_location = reader.tgread_object()
|
|
||||||
_offset = reader.read_int()
|
|
||||||
_limit = reader.read_int()
|
|
||||||
return GetWebFileRequest(location=_location, offset=_offset, limit=_limit)
|
|
||||||
|
|
||||||
|
|
||||||
class ReuploadCdnFileRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x1af91c09
|
|
||||||
SUBCLASS_OF_ID = 0x7ec58e40
|
|
||||||
|
|
||||||
def __init__(self, file_token, request_token):
|
|
||||||
"""
|
|
||||||
:param bytes file_token:
|
|
||||||
:param bytes request_token:
|
|
||||||
|
|
||||||
:returns Vector<CdnFileHash>: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.file_token = file_token
|
|
||||||
self.request_token = request_token
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ReuploadCdnFileRequest',
|
|
||||||
'file_token': self.file_token,
|
|
||||||
'request_token': self.request_token
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\t\x1c\xf9\x1a',
|
|
||||||
TLObject.serialize_bytes(self.file_token),
|
|
||||||
TLObject.serialize_bytes(self.request_token),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_file_token = reader.tgread_bytes()
|
|
||||||
_request_token = reader.tgread_bytes()
|
|
||||||
return ReuploadCdnFileRequest(file_token=_file_token, request_token=_request_token)
|
|
||||||
|
|
||||||
|
|
||||||
class SaveBigFilePartRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xde7b673d
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, file_id, file_part, file_total_parts, bytes):
|
|
||||||
"""
|
|
||||||
:param int file_id:
|
|
||||||
:param int file_part:
|
|
||||||
:param int file_total_parts:
|
|
||||||
:param bytes bytes:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.file_id = file_id
|
|
||||||
self.file_part = file_part
|
|
||||||
self.file_total_parts = file_total_parts
|
|
||||||
self.bytes = bytes
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SaveBigFilePartRequest',
|
|
||||||
'file_id': self.file_id,
|
|
||||||
'file_part': self.file_part,
|
|
||||||
'file_total_parts': self.file_total_parts,
|
|
||||||
'bytes': self.bytes
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'=g{\xde',
|
|
||||||
struct.pack('<q', self.file_id),
|
|
||||||
struct.pack('<i', self.file_part),
|
|
||||||
struct.pack('<i', self.file_total_parts),
|
|
||||||
TLObject.serialize_bytes(self.bytes),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_file_id = reader.read_long()
|
|
||||||
_file_part = reader.read_int()
|
|
||||||
_file_total_parts = reader.read_int()
|
|
||||||
_bytes = reader.tgread_bytes()
|
|
||||||
return SaveBigFilePartRequest(file_id=_file_id, file_part=_file_part, file_total_parts=_file_total_parts, bytes=_bytes)
|
|
||||||
|
|
||||||
|
|
||||||
class SaveFilePartRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xb304a621
|
|
||||||
SUBCLASS_OF_ID = 0xf5b399ac
|
|
||||||
|
|
||||||
def __init__(self, file_id, file_part, bytes):
|
|
||||||
"""
|
|
||||||
:param int file_id:
|
|
||||||
:param int file_part:
|
|
||||||
:param bytes bytes:
|
|
||||||
|
|
||||||
:returns Bool: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.file_id = file_id
|
|
||||||
self.file_part = file_part
|
|
||||||
self.bytes = bytes
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SaveFilePartRequest',
|
|
||||||
'file_id': self.file_id,
|
|
||||||
'file_part': self.file_part,
|
|
||||||
'bytes': self.bytes
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'!\xa6\x04\xb3',
|
|
||||||
struct.pack('<q', self.file_id),
|
|
||||||
struct.pack('<i', self.file_part),
|
|
||||||
TLObject.serialize_bytes(self.bytes),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_file_id = reader.read_long()
|
|
||||||
_file_part = reader.read_int()
|
|
||||||
_bytes = reader.tgread_bytes()
|
|
||||||
return SaveFilePartRequest(file_id=_file_id, file_part=_file_part, bytes=_bytes)
|
|
|
@ -1,83 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class GetFullUserRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xca30a5b1
|
|
||||||
SUBCLASS_OF_ID = 0x1f4661b9
|
|
||||||
|
|
||||||
def __init__(self, id):
|
|
||||||
"""
|
|
||||||
:param InputUser id:
|
|
||||||
|
|
||||||
:returns UserFull: Instance of UserFull.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.id = utils.get_input_user(client.get_input_entity(self.id))
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetFullUserRequest',
|
|
||||||
'id': None if self.id is None else self.id.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xb1\xa50\xca',
|
|
||||||
bytes(self.id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_id = reader.tgread_object()
|
|
||||||
return GetFullUserRequest(id=_id)
|
|
||||||
|
|
||||||
|
|
||||||
class GetUsersRequest(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xd91a548
|
|
||||||
SUBCLASS_OF_ID = 0x406da4d
|
|
||||||
|
|
||||||
def __init__(self, id):
|
|
||||||
"""
|
|
||||||
:param list[InputUser] id:
|
|
||||||
|
|
||||||
:returns Vector<User>: This type has no constructors.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
self.result = None
|
|
||||||
self.content_related = True
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
|
|
||||||
def resolve(self, client, utils):
|
|
||||||
self.id = [utils.get_input_user(client.get_input_entity(_x)) for _x in self.id]
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'GetUsersRequest',
|
|
||||||
'id': [] if self.id is None else [None if x is None else x.to_dict() for x in self.id]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'H\xa5\x91\r',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.id)),b''.join(bytes(x) for x in self.id),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_id = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_id.append(_x)
|
|
||||||
|
|
||||||
return GetUsersRequest(id=_id)
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,309 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class Authorizations(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x1250abde
|
|
||||||
SUBCLASS_OF_ID = 0xbf5e0ff
|
|
||||||
|
|
||||||
def __init__(self, authorizations):
|
|
||||||
"""
|
|
||||||
:param list[Authorization] authorizations:
|
|
||||||
|
|
||||||
Constructor for account.Authorizations: Instance of Authorizations.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.authorizations = authorizations
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Authorizations',
|
|
||||||
'authorizations': [] if self.authorizations is None else [None if x is None else x.to_dict() for x in self.authorizations]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xde\xabP\x12',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.authorizations)),b''.join(bytes(x) for x in self.authorizations),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_authorizations = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_authorizations.append(_x)
|
|
||||||
|
|
||||||
return Authorizations(authorizations=_authorizations)
|
|
||||||
|
|
||||||
|
|
||||||
class NoPassword(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x96dabc18
|
|
||||||
SUBCLASS_OF_ID = 0x53a211a3
|
|
||||||
|
|
||||||
def __init__(self, new_salt, email_unconfirmed_pattern):
|
|
||||||
"""
|
|
||||||
:param bytes new_salt:
|
|
||||||
:param str email_unconfirmed_pattern:
|
|
||||||
|
|
||||||
Constructor for account.Password: Instance of either NoPassword, Password.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.new_salt = new_salt
|
|
||||||
self.email_unconfirmed_pattern = email_unconfirmed_pattern
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'NoPassword',
|
|
||||||
'new_salt': self.new_salt,
|
|
||||||
'email_unconfirmed_pattern': self.email_unconfirmed_pattern
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x18\xbc\xda\x96',
|
|
||||||
TLObject.serialize_bytes(self.new_salt),
|
|
||||||
TLObject.serialize_bytes(self.email_unconfirmed_pattern),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_new_salt = reader.tgread_bytes()
|
|
||||||
_email_unconfirmed_pattern = reader.tgread_string()
|
|
||||||
return NoPassword(new_salt=_new_salt, email_unconfirmed_pattern=_email_unconfirmed_pattern)
|
|
||||||
|
|
||||||
|
|
||||||
class Password(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x7c18141c
|
|
||||||
SUBCLASS_OF_ID = 0x53a211a3
|
|
||||||
|
|
||||||
def __init__(self, current_salt, new_salt, hint, has_recovery, email_unconfirmed_pattern):
|
|
||||||
"""
|
|
||||||
:param bytes current_salt:
|
|
||||||
:param bytes new_salt:
|
|
||||||
:param str hint:
|
|
||||||
:param Bool has_recovery:
|
|
||||||
:param str email_unconfirmed_pattern:
|
|
||||||
|
|
||||||
Constructor for account.Password: Instance of either NoPassword, Password.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.current_salt = current_salt
|
|
||||||
self.new_salt = new_salt
|
|
||||||
self.hint = hint
|
|
||||||
self.has_recovery = has_recovery
|
|
||||||
self.email_unconfirmed_pattern = email_unconfirmed_pattern
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Password',
|
|
||||||
'current_salt': self.current_salt,
|
|
||||||
'new_salt': self.new_salt,
|
|
||||||
'hint': self.hint,
|
|
||||||
'has_recovery': self.has_recovery,
|
|
||||||
'email_unconfirmed_pattern': self.email_unconfirmed_pattern
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x1c\x14\x18|',
|
|
||||||
TLObject.serialize_bytes(self.current_salt),
|
|
||||||
TLObject.serialize_bytes(self.new_salt),
|
|
||||||
TLObject.serialize_bytes(self.hint),
|
|
||||||
b'\xb5ur\x99' if self.has_recovery else b'7\x97y\xbc',
|
|
||||||
TLObject.serialize_bytes(self.email_unconfirmed_pattern),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_current_salt = reader.tgread_bytes()
|
|
||||||
_new_salt = reader.tgread_bytes()
|
|
||||||
_hint = reader.tgread_string()
|
|
||||||
_has_recovery = reader.tgread_bool()
|
|
||||||
_email_unconfirmed_pattern = reader.tgread_string()
|
|
||||||
return Password(current_salt=_current_salt, new_salt=_new_salt, hint=_hint, has_recovery=_has_recovery, email_unconfirmed_pattern=_email_unconfirmed_pattern)
|
|
||||||
|
|
||||||
|
|
||||||
class PasswordInputSettings(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x86916deb
|
|
||||||
SUBCLASS_OF_ID = 0xc426ca6
|
|
||||||
|
|
||||||
def __init__(self, new_salt=None, new_password_hash=None, hint=None, email=None):
|
|
||||||
"""
|
|
||||||
:param bytes | None new_salt:
|
|
||||||
:param bytes | None new_password_hash:
|
|
||||||
:param str | None hint:
|
|
||||||
:param str | None email:
|
|
||||||
|
|
||||||
Constructor for account.PasswordInputSettings: Instance of PasswordInputSettings.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.new_salt = new_salt
|
|
||||||
self.new_password_hash = new_password_hash
|
|
||||||
self.hint = hint
|
|
||||||
self.email = email
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PasswordInputSettings',
|
|
||||||
'new_salt': self.new_salt,
|
|
||||||
'new_password_hash': self.new_password_hash,
|
|
||||||
'hint': self.hint,
|
|
||||||
'email': self.email
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
assert ((self.new_salt or self.new_salt is not None) and (self.new_password_hash or self.new_password_hash is not None) and (self.hint or self.hint is not None)) or ((self.new_salt is None or self.new_salt is False) and (self.new_password_hash is None or self.new_password_hash is False) and (self.hint is None or self.hint is False)), 'new_salt, new_password_hash, hint parameters must all be False-y (like None) or all me True-y'
|
|
||||||
return b''.join((
|
|
||||||
b'\xebm\x91\x86',
|
|
||||||
struct.pack('<I', (0 if self.new_salt is None or self.new_salt is False else 1) | (0 if self.new_password_hash is None or self.new_password_hash is False else 1) | (0 if self.hint is None or self.hint is False else 1) | (0 if self.email is None or self.email is False else 2)),
|
|
||||||
b'' if self.new_salt is None or self.new_salt is False else (TLObject.serialize_bytes(self.new_salt)),
|
|
||||||
b'' if self.new_password_hash is None or self.new_password_hash is False else (TLObject.serialize_bytes(self.new_password_hash)),
|
|
||||||
b'' if self.hint is None or self.hint is False else (TLObject.serialize_bytes(self.hint)),
|
|
||||||
b'' if self.email is None or self.email is False else (TLObject.serialize_bytes(self.email)),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
if flags & 1:
|
|
||||||
_new_salt = reader.tgread_bytes()
|
|
||||||
else:
|
|
||||||
_new_salt = None
|
|
||||||
if flags & 1:
|
|
||||||
_new_password_hash = reader.tgread_bytes()
|
|
||||||
else:
|
|
||||||
_new_password_hash = None
|
|
||||||
if flags & 1:
|
|
||||||
_hint = reader.tgread_string()
|
|
||||||
else:
|
|
||||||
_hint = None
|
|
||||||
if flags & 2:
|
|
||||||
_email = reader.tgread_string()
|
|
||||||
else:
|
|
||||||
_email = None
|
|
||||||
return PasswordInputSettings(new_salt=_new_salt, new_password_hash=_new_password_hash, hint=_hint, email=_email)
|
|
||||||
|
|
||||||
|
|
||||||
class PasswordSettings(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xb7b72ab3
|
|
||||||
SUBCLASS_OF_ID = 0xd23fb078
|
|
||||||
|
|
||||||
def __init__(self, email):
|
|
||||||
"""
|
|
||||||
:param str email:
|
|
||||||
|
|
||||||
Constructor for account.PasswordSettings: Instance of PasswordSettings.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.email = email
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PasswordSettings',
|
|
||||||
'email': self.email
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xb3*\xb7\xb7',
|
|
||||||
TLObject.serialize_bytes(self.email),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_email = reader.tgread_string()
|
|
||||||
return PasswordSettings(email=_email)
|
|
||||||
|
|
||||||
|
|
||||||
class PrivacyRules(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x554abb6f
|
|
||||||
SUBCLASS_OF_ID = 0xb55aba82
|
|
||||||
|
|
||||||
def __init__(self, rules, users):
|
|
||||||
"""
|
|
||||||
:param list[PrivacyRule] rules:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for account.PrivacyRules: Instance of PrivacyRules.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.rules = rules
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PrivacyRules',
|
|
||||||
'rules': [] if self.rules is None else [None if x is None else x.to_dict() for x in self.rules],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'o\xbbJU',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.rules)),b''.join(bytes(x) for x in self.rules),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_rules = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_rules.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return PrivacyRules(rules=_rules, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class TmpPassword(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xdb64fd34
|
|
||||||
SUBCLASS_OF_ID = 0xb064992d
|
|
||||||
|
|
||||||
def __init__(self, tmp_password, valid_until):
|
|
||||||
"""
|
|
||||||
:param bytes tmp_password:
|
|
||||||
:param int valid_until:
|
|
||||||
|
|
||||||
Constructor for account.TmpPassword: Instance of TmpPassword.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.tmp_password = tmp_password
|
|
||||||
self.valid_until = valid_until
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'TmpPassword',
|
|
||||||
'tmp_password': self.tmp_password,
|
|
||||||
'valid_until': self.valid_until
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'4\xfdd\xdb',
|
|
||||||
TLObject.serialize_bytes(self.tmp_password),
|
|
||||||
struct.pack('<i', self.valid_until),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_tmp_password = reader.tgread_bytes()
|
|
||||||
_valid_until = reader.read_int()
|
|
||||||
return TmpPassword(tmp_password=_tmp_password, valid_until=_valid_until)
|
|
|
@ -1,402 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class Authorization(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xcd050916
|
|
||||||
SUBCLASS_OF_ID = 0xb9e04e39
|
|
||||||
|
|
||||||
def __init__(self, user, tmp_sessions=None):
|
|
||||||
"""
|
|
||||||
:param int | None tmp_sessions:
|
|
||||||
:param User user:
|
|
||||||
|
|
||||||
Constructor for auth.Authorization: Instance of Authorization.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.tmp_sessions = tmp_sessions
|
|
||||||
self.user = user
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Authorization',
|
|
||||||
'tmp_sessions': self.tmp_sessions,
|
|
||||||
'user': None if self.user is None else self.user.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x16\t\x05\xcd',
|
|
||||||
struct.pack('<I', (0 if self.tmp_sessions is None or self.tmp_sessions is False else 1)),
|
|
||||||
b'' if self.tmp_sessions is None or self.tmp_sessions is False else (struct.pack('<i', self.tmp_sessions)),
|
|
||||||
bytes(self.user),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
if flags & 1:
|
|
||||||
_tmp_sessions = reader.read_int()
|
|
||||||
else:
|
|
||||||
_tmp_sessions = None
|
|
||||||
_user = reader.tgread_object()
|
|
||||||
return Authorization(user=_user, tmp_sessions=_tmp_sessions)
|
|
||||||
|
|
||||||
|
|
||||||
class CheckedPhone(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x811ea28e
|
|
||||||
SUBCLASS_OF_ID = 0x99a3d765
|
|
||||||
|
|
||||||
def __init__(self, phone_registered):
|
|
||||||
"""
|
|
||||||
:param Bool phone_registered:
|
|
||||||
|
|
||||||
Constructor for auth.CheckedPhone: Instance of CheckedPhone.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.phone_registered = phone_registered
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'CheckedPhone',
|
|
||||||
'phone_registered': self.phone_registered
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x8e\xa2\x1e\x81',
|
|
||||||
b'\xb5ur\x99' if self.phone_registered else b'7\x97y\xbc',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_phone_registered = reader.tgread_bool()
|
|
||||||
return CheckedPhone(phone_registered=_phone_registered)
|
|
||||||
|
|
||||||
|
|
||||||
class CodeTypeCall(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x741cd3e3
|
|
||||||
SUBCLASS_OF_ID = 0xb3f3e401
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'CodeTypeCall'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xe3\xd3\x1ct',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return CodeTypeCall()
|
|
||||||
|
|
||||||
|
|
||||||
class CodeTypeFlashCall(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x226ccefb
|
|
||||||
SUBCLASS_OF_ID = 0xb3f3e401
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'CodeTypeFlashCall'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xfb\xcel"',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return CodeTypeFlashCall()
|
|
||||||
|
|
||||||
|
|
||||||
class CodeTypeSms(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x72a3158c
|
|
||||||
SUBCLASS_OF_ID = 0xb3f3e401
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'CodeTypeSms'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x8c\x15\xa3r',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return CodeTypeSms()
|
|
||||||
|
|
||||||
|
|
||||||
class ExportedAuthorization(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xdf969c2d
|
|
||||||
SUBCLASS_OF_ID = 0x5fd1ec51
|
|
||||||
|
|
||||||
def __init__(self, id, bytes):
|
|
||||||
"""
|
|
||||||
:param int id:
|
|
||||||
:param bytes bytes:
|
|
||||||
|
|
||||||
Constructor for auth.ExportedAuthorization: Instance of ExportedAuthorization.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
self.bytes = bytes
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ExportedAuthorization',
|
|
||||||
'id': self.id,
|
|
||||||
'bytes': self.bytes
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'-\x9c\x96\xdf',
|
|
||||||
struct.pack('<i', self.id),
|
|
||||||
TLObject.serialize_bytes(self.bytes),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_id = reader.read_int()
|
|
||||||
_bytes = reader.tgread_bytes()
|
|
||||||
return ExportedAuthorization(id=_id, bytes=_bytes)
|
|
||||||
|
|
||||||
|
|
||||||
class PasswordRecovery(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x137948a5
|
|
||||||
SUBCLASS_OF_ID = 0xfa72d43a
|
|
||||||
|
|
||||||
def __init__(self, email_pattern):
|
|
||||||
"""
|
|
||||||
:param str email_pattern:
|
|
||||||
|
|
||||||
Constructor for auth.PasswordRecovery: Instance of PasswordRecovery.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.email_pattern = email_pattern
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PasswordRecovery',
|
|
||||||
'email_pattern': self.email_pattern
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa5Hy\x13',
|
|
||||||
TLObject.serialize_bytes(self.email_pattern),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_email_pattern = reader.tgread_string()
|
|
||||||
return PasswordRecovery(email_pattern=_email_pattern)
|
|
||||||
|
|
||||||
|
|
||||||
class SentCode(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x5e002502
|
|
||||||
SUBCLASS_OF_ID = 0x6ce87081
|
|
||||||
|
|
||||||
def __init__(self, type, phone_code_hash, phone_registered=None, next_type=None, timeout=None):
|
|
||||||
"""
|
|
||||||
:param bool | None phone_registered:
|
|
||||||
:param auth.SentCodeType type:
|
|
||||||
:param str phone_code_hash:
|
|
||||||
:param auth.CodeType | None next_type:
|
|
||||||
:param int | None timeout:
|
|
||||||
|
|
||||||
Constructor for auth.SentCode: Instance of SentCode.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.phone_registered = phone_registered
|
|
||||||
self.type = type
|
|
||||||
self.phone_code_hash = phone_code_hash
|
|
||||||
self.next_type = next_type
|
|
||||||
self.timeout = timeout
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SentCode',
|
|
||||||
'phone_registered': self.phone_registered,
|
|
||||||
'type': None if self.type is None else self.type.to_dict(),
|
|
||||||
'phone_code_hash': self.phone_code_hash,
|
|
||||||
'next_type': None if self.next_type is None else self.next_type.to_dict(),
|
|
||||||
'timeout': self.timeout
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x02%\x00^',
|
|
||||||
struct.pack('<I', (0 if self.phone_registered is None or self.phone_registered is False else 1) | (0 if self.next_type is None or self.next_type is False else 2) | (0 if self.timeout is None or self.timeout is False else 4)),
|
|
||||||
bytes(self.type),
|
|
||||||
TLObject.serialize_bytes(self.phone_code_hash),
|
|
||||||
b'' if self.next_type is None or self.next_type is False else (bytes(self.next_type)),
|
|
||||||
b'' if self.timeout is None or self.timeout is False else (struct.pack('<i', self.timeout)),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_phone_registered = bool(flags & 1)
|
|
||||||
_type = reader.tgread_object()
|
|
||||||
_phone_code_hash = reader.tgread_string()
|
|
||||||
if flags & 2:
|
|
||||||
_next_type = reader.tgread_object()
|
|
||||||
else:
|
|
||||||
_next_type = None
|
|
||||||
if flags & 4:
|
|
||||||
_timeout = reader.read_int()
|
|
||||||
else:
|
|
||||||
_timeout = None
|
|
||||||
return SentCode(type=_type, phone_code_hash=_phone_code_hash, phone_registered=_phone_registered, next_type=_next_type, timeout=_timeout)
|
|
||||||
|
|
||||||
|
|
||||||
class SentCodeTypeApp(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x3dbb5986
|
|
||||||
SUBCLASS_OF_ID = 0xff5b158e
|
|
||||||
|
|
||||||
def __init__(self, length):
|
|
||||||
"""
|
|
||||||
:param int length:
|
|
||||||
|
|
||||||
Constructor for auth.SentCodeType: Instance of either SentCodeTypeApp, SentCodeTypeSms, SentCodeTypeCall, SentCodeTypeFlashCall.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.length = length
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SentCodeTypeApp',
|
|
||||||
'length': self.length
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x86Y\xbb=',
|
|
||||||
struct.pack('<i', self.length),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_length = reader.read_int()
|
|
||||||
return SentCodeTypeApp(length=_length)
|
|
||||||
|
|
||||||
|
|
||||||
class SentCodeTypeCall(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x5353e5a7
|
|
||||||
SUBCLASS_OF_ID = 0xff5b158e
|
|
||||||
|
|
||||||
def __init__(self, length):
|
|
||||||
"""
|
|
||||||
:param int length:
|
|
||||||
|
|
||||||
Constructor for auth.SentCodeType: Instance of either SentCodeTypeApp, SentCodeTypeSms, SentCodeTypeCall, SentCodeTypeFlashCall.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.length = length
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SentCodeTypeCall',
|
|
||||||
'length': self.length
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa7\xe5SS',
|
|
||||||
struct.pack('<i', self.length),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_length = reader.read_int()
|
|
||||||
return SentCodeTypeCall(length=_length)
|
|
||||||
|
|
||||||
|
|
||||||
class SentCodeTypeFlashCall(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xab03c6d9
|
|
||||||
SUBCLASS_OF_ID = 0xff5b158e
|
|
||||||
|
|
||||||
def __init__(self, pattern):
|
|
||||||
"""
|
|
||||||
:param str pattern:
|
|
||||||
|
|
||||||
Constructor for auth.SentCodeType: Instance of either SentCodeTypeApp, SentCodeTypeSms, SentCodeTypeCall, SentCodeTypeFlashCall.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.pattern = pattern
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SentCodeTypeFlashCall',
|
|
||||||
'pattern': self.pattern
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xd9\xc6\x03\xab',
|
|
||||||
TLObject.serialize_bytes(self.pattern),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_pattern = reader.tgread_string()
|
|
||||||
return SentCodeTypeFlashCall(pattern=_pattern)
|
|
||||||
|
|
||||||
|
|
||||||
class SentCodeTypeSms(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xc000bba2
|
|
||||||
SUBCLASS_OF_ID = 0xff5b158e
|
|
||||||
|
|
||||||
def __init__(self, length):
|
|
||||||
"""
|
|
||||||
:param int length:
|
|
||||||
|
|
||||||
Constructor for auth.SentCodeType: Instance of either SentCodeTypeApp, SentCodeTypeSms, SentCodeTypeCall, SentCodeTypeFlashCall.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.length = length
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SentCodeTypeSms',
|
|
||||||
'length': self.length
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa2\xbb\x00\xc0',
|
|
||||||
struct.pack('<i', self.length),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_length = reader.read_int()
|
|
||||||
return SentCodeTypeSms(length=_length)
|
|
|
@ -1,177 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class AdminLogResults(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xed8af74d
|
|
||||||
SUBCLASS_OF_ID = 0x51f076bc
|
|
||||||
|
|
||||||
def __init__(self, events, chats, users):
|
|
||||||
"""
|
|
||||||
:param list[ChannelAdminLogEvent] events:
|
|
||||||
:param list[Chat] chats:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for channels.AdminLogResults: Instance of AdminLogResults.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.events = events
|
|
||||||
self.chats = chats
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'AdminLogResults',
|
|
||||||
'events': [] if self.events is None else [None if x is None else x.to_dict() for x in self.events],
|
|
||||||
'chats': [] if self.chats is None else [None if x is None else x.to_dict() for x in self.chats],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'M\xf7\x8a\xed',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.events)),b''.join(bytes(x) for x in self.events),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.chats)),b''.join(bytes(x) for x in self.chats),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_events = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_events.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_chats = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_chats.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return AdminLogResults(events=_events, chats=_chats, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class ChannelParticipant(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xd0d9b163
|
|
||||||
SUBCLASS_OF_ID = 0x6658151a
|
|
||||||
|
|
||||||
def __init__(self, participant, users):
|
|
||||||
"""
|
|
||||||
:param ChannelParticipant participant:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for channels.ChannelParticipant: Instance of ChannelParticipant.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.participant = participant
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ChannelParticipant',
|
|
||||||
'participant': None if self.participant is None else self.participant.to_dict(),
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'c\xb1\xd9\xd0',
|
|
||||||
bytes(self.participant),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_participant = reader.tgread_object()
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return ChannelParticipant(participant=_participant, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class ChannelParticipants(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf56ee2a8
|
|
||||||
SUBCLASS_OF_ID = 0xe60a6e64
|
|
||||||
|
|
||||||
def __init__(self, count, participants, users):
|
|
||||||
"""
|
|
||||||
:param int count:
|
|
||||||
:param list[ChannelParticipant] participants:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for channels.ChannelParticipants: Instance of either ChannelParticipants, ChannelParticipantsNotModified.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.count = count
|
|
||||||
self.participants = participants
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ChannelParticipants',
|
|
||||||
'count': self.count,
|
|
||||||
'participants': [] if self.participants is None else [None if x is None else x.to_dict() for x in self.participants],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa8\xe2n\xf5',
|
|
||||||
struct.pack('<i', self.count),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.participants)),b''.join(bytes(x) for x in self.participants),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_count = reader.read_int()
|
|
||||||
reader.read_int()
|
|
||||||
_participants = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_participants.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return ChannelParticipants(count=_count, participants=_participants, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class ChannelParticipantsNotModified(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf0173fe9
|
|
||||||
SUBCLASS_OF_ID = 0xe60a6e64
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ChannelParticipantsNotModified'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xe9?\x17\xf0',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return ChannelParticipantsNotModified()
|
|
|
@ -1,484 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class Blocked(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x1c138d15
|
|
||||||
SUBCLASS_OF_ID = 0xffba4f4f
|
|
||||||
|
|
||||||
def __init__(self, blocked, users):
|
|
||||||
"""
|
|
||||||
:param list[ContactBlocked] blocked:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for contacts.Blocked: Instance of either Blocked, BlockedSlice.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.blocked = blocked
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Blocked',
|
|
||||||
'blocked': [] if self.blocked is None else [None if x is None else x.to_dict() for x in self.blocked],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x15\x8d\x13\x1c',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.blocked)),b''.join(bytes(x) for x in self.blocked),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_blocked = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_blocked.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return Blocked(blocked=_blocked, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class BlockedSlice(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x900802a1
|
|
||||||
SUBCLASS_OF_ID = 0xffba4f4f
|
|
||||||
|
|
||||||
def __init__(self, count, blocked, users):
|
|
||||||
"""
|
|
||||||
:param int count:
|
|
||||||
:param list[ContactBlocked] blocked:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for contacts.Blocked: Instance of either Blocked, BlockedSlice.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.count = count
|
|
||||||
self.blocked = blocked
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'BlockedSlice',
|
|
||||||
'count': self.count,
|
|
||||||
'blocked': [] if self.blocked is None else [None if x is None else x.to_dict() for x in self.blocked],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa1\x02\x08\x90',
|
|
||||||
struct.pack('<i', self.count),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.blocked)),b''.join(bytes(x) for x in self.blocked),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_count = reader.read_int()
|
|
||||||
reader.read_int()
|
|
||||||
_blocked = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_blocked.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return BlockedSlice(count=_count, blocked=_blocked, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class Contacts(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xeae87e42
|
|
||||||
SUBCLASS_OF_ID = 0x38be25f6
|
|
||||||
|
|
||||||
def __init__(self, contacts, saved_count, users):
|
|
||||||
"""
|
|
||||||
:param list[Contact] contacts:
|
|
||||||
:param int saved_count:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for contacts.Contacts: Instance of either ContactsNotModified, Contacts.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.contacts = contacts
|
|
||||||
self.saved_count = saved_count
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Contacts',
|
|
||||||
'contacts': [] if self.contacts is None else [None if x is None else x.to_dict() for x in self.contacts],
|
|
||||||
'saved_count': self.saved_count,
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'B~\xe8\xea',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.contacts)),b''.join(bytes(x) for x in self.contacts),
|
|
||||||
struct.pack('<i', self.saved_count),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_contacts = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_contacts.append(_x)
|
|
||||||
|
|
||||||
_saved_count = reader.read_int()
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return Contacts(contacts=_contacts, saved_count=_saved_count, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class ContactsNotModified(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xb74ba9d2
|
|
||||||
SUBCLASS_OF_ID = 0x38be25f6
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ContactsNotModified'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xd2\xa9K\xb7',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return ContactsNotModified()
|
|
||||||
|
|
||||||
|
|
||||||
class Found(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xb3134d9d
|
|
||||||
SUBCLASS_OF_ID = 0x4386a2e3
|
|
||||||
|
|
||||||
def __init__(self, my_results, results, chats, users):
|
|
||||||
"""
|
|
||||||
:param list[Peer] my_results:
|
|
||||||
:param list[Peer] results:
|
|
||||||
:param list[Chat] chats:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for contacts.Found: Instance of Found.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.my_results = my_results
|
|
||||||
self.results = results
|
|
||||||
self.chats = chats
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Found',
|
|
||||||
'my_results': [] if self.my_results is None else [None if x is None else x.to_dict() for x in self.my_results],
|
|
||||||
'results': [] if self.results is None else [None if x is None else x.to_dict() for x in self.results],
|
|
||||||
'chats': [] if self.chats is None else [None if x is None else x.to_dict() for x in self.chats],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x9dM\x13\xb3',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.my_results)),b''.join(bytes(x) for x in self.my_results),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.results)),b''.join(bytes(x) for x in self.results),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.chats)),b''.join(bytes(x) for x in self.chats),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_my_results = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_my_results.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_results = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_results.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_chats = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_chats.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return Found(my_results=_my_results, results=_results, chats=_chats, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class ImportedContacts(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x77d01c3b
|
|
||||||
SUBCLASS_OF_ID = 0x8172ad93
|
|
||||||
|
|
||||||
def __init__(self, imported, popular_invites, retry_contacts, users):
|
|
||||||
"""
|
|
||||||
:param list[ImportedContact] imported:
|
|
||||||
:param list[PopularContact] popular_invites:
|
|
||||||
:param list[int] retry_contacts:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for contacts.ImportedContacts: Instance of ImportedContacts.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.imported = imported
|
|
||||||
self.popular_invites = popular_invites
|
|
||||||
self.retry_contacts = retry_contacts
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ImportedContacts',
|
|
||||||
'imported': [] if self.imported is None else [None if x is None else x.to_dict() for x in self.imported],
|
|
||||||
'popular_invites': [] if self.popular_invites is None else [None if x is None else x.to_dict() for x in self.popular_invites],
|
|
||||||
'retry_contacts': [] if self.retry_contacts is None else self.retry_contacts[:],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b';\x1c\xd0w',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.imported)),b''.join(bytes(x) for x in self.imported),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.popular_invites)),b''.join(bytes(x) for x in self.popular_invites),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.retry_contacts)),b''.join(struct.pack('<q', x) for x in self.retry_contacts),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_imported = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_imported.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_popular_invites = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_popular_invites.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_retry_contacts = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.read_long()
|
|
||||||
_retry_contacts.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return ImportedContacts(imported=_imported, popular_invites=_popular_invites, retry_contacts=_retry_contacts, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class Link(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x3ace484c
|
|
||||||
SUBCLASS_OF_ID = 0x524d5ae9
|
|
||||||
|
|
||||||
def __init__(self, my_link, foreign_link, user):
|
|
||||||
"""
|
|
||||||
:param ContactLink my_link:
|
|
||||||
:param ContactLink foreign_link:
|
|
||||||
:param User user:
|
|
||||||
|
|
||||||
Constructor for contacts.Link: Instance of Link.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.my_link = my_link
|
|
||||||
self.foreign_link = foreign_link
|
|
||||||
self.user = user
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Link',
|
|
||||||
'my_link': None if self.my_link is None else self.my_link.to_dict(),
|
|
||||||
'foreign_link': None if self.foreign_link is None else self.foreign_link.to_dict(),
|
|
||||||
'user': None if self.user is None else self.user.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'LH\xce:',
|
|
||||||
bytes(self.my_link),
|
|
||||||
bytes(self.foreign_link),
|
|
||||||
bytes(self.user),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_my_link = reader.tgread_object()
|
|
||||||
_foreign_link = reader.tgread_object()
|
|
||||||
_user = reader.tgread_object()
|
|
||||||
return Link(my_link=_my_link, foreign_link=_foreign_link, user=_user)
|
|
||||||
|
|
||||||
|
|
||||||
class ResolvedPeer(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x7f077ad9
|
|
||||||
SUBCLASS_OF_ID = 0xf065b3a8
|
|
||||||
|
|
||||||
def __init__(self, peer, chats, users):
|
|
||||||
"""
|
|
||||||
:param Peer peer:
|
|
||||||
:param list[Chat] chats:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for contacts.ResolvedPeer: Instance of ResolvedPeer.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.peer = peer
|
|
||||||
self.chats = chats
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ResolvedPeer',
|
|
||||||
'peer': None if self.peer is None else self.peer.to_dict(),
|
|
||||||
'chats': [] if self.chats is None else [None if x is None else x.to_dict() for x in self.chats],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xd9z\x07\x7f',
|
|
||||||
bytes(self.peer),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.chats)),b''.join(bytes(x) for x in self.chats),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_peer = reader.tgread_object()
|
|
||||||
reader.read_int()
|
|
||||||
_chats = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_chats.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return ResolvedPeer(peer=_peer, chats=_chats, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class TopPeers(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x70b772a8
|
|
||||||
SUBCLASS_OF_ID = 0x9ee8bb88
|
|
||||||
|
|
||||||
def __init__(self, categories, chats, users):
|
|
||||||
"""
|
|
||||||
:param list[TopPeerCategoryPeers] categories:
|
|
||||||
:param list[Chat] chats:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for contacts.TopPeers: Instance of either TopPeersNotModified, TopPeers.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.categories = categories
|
|
||||||
self.chats = chats
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'TopPeers',
|
|
||||||
'categories': [] if self.categories is None else [None if x is None else x.to_dict() for x in self.categories],
|
|
||||||
'chats': [] if self.chats is None else [None if x is None else x.to_dict() for x in self.chats],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa8r\xb7p',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.categories)),b''.join(bytes(x) for x in self.categories),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.chats)),b''.join(bytes(x) for x in self.chats),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_categories = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_categories.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_chats = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_chats.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return TopPeers(categories=_categories, chats=_chats, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class TopPeersNotModified(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xde266ef5
|
|
||||||
SUBCLASS_OF_ID = 0x9ee8bb88
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'TopPeersNotModified'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xf5n&\xde',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return TopPeersNotModified()
|
|
|
@ -1,284 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class AppUpdate(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x8987f311
|
|
||||||
SUBCLASS_OF_ID = 0x5897069e
|
|
||||||
|
|
||||||
def __init__(self, id, critical, url, text):
|
|
||||||
"""
|
|
||||||
:param int id:
|
|
||||||
:param Bool critical:
|
|
||||||
:param str url:
|
|
||||||
:param str text:
|
|
||||||
|
|
||||||
Constructor for help.AppUpdate: Instance of either AppUpdate, NoAppUpdate.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
self.critical = critical
|
|
||||||
self.url = url
|
|
||||||
self.text = text
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'AppUpdate',
|
|
||||||
'id': self.id,
|
|
||||||
'critical': self.critical,
|
|
||||||
'url': self.url,
|
|
||||||
'text': self.text
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x11\xf3\x87\x89',
|
|
||||||
struct.pack('<i', self.id),
|
|
||||||
b'\xb5ur\x99' if self.critical else b'7\x97y\xbc',
|
|
||||||
TLObject.serialize_bytes(self.url),
|
|
||||||
TLObject.serialize_bytes(self.text),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_id = reader.read_int()
|
|
||||||
_critical = reader.tgread_bool()
|
|
||||||
_url = reader.tgread_string()
|
|
||||||
_text = reader.tgread_string()
|
|
||||||
return AppUpdate(id=_id, critical=_critical, url=_url, text=_text)
|
|
||||||
|
|
||||||
|
|
||||||
class ConfigSimple(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xd997c3c5
|
|
||||||
SUBCLASS_OF_ID = 0x29183ac4
|
|
||||||
|
|
||||||
def __init__(self, date, expires, dc_id, ip_port_list):
|
|
||||||
"""
|
|
||||||
:param datetime.datetime | None date:
|
|
||||||
:param datetime.datetime | None expires:
|
|
||||||
:param int dc_id:
|
|
||||||
:param list[ipPort] ip_port_list:
|
|
||||||
|
|
||||||
Constructor for help.ConfigSimple: Instance of ConfigSimple.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.date = date
|
|
||||||
self.expires = expires
|
|
||||||
self.dc_id = dc_id
|
|
||||||
self.ip_port_list = ip_port_list
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ConfigSimple',
|
|
||||||
'date': self.date,
|
|
||||||
'expires': self.expires,
|
|
||||||
'dc_id': self.dc_id,
|
|
||||||
'ip_port_list': [] if self.ip_port_list is None else [None if x is None else x.to_dict() for x in self.ip_port_list]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xc5\xc3\x97\xd9',
|
|
||||||
TLObject.serialize_datetime(self.date),
|
|
||||||
TLObject.serialize_datetime(self.expires),
|
|
||||||
struct.pack('<i', self.dc_id),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.ip_port_list)),b''.join(bytes(x) for x in self.ip_port_list),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_date = reader.tgread_date()
|
|
||||||
_expires = reader.tgread_date()
|
|
||||||
_dc_id = reader.read_int()
|
|
||||||
reader.read_int()
|
|
||||||
_ip_port_list = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
from . import IpPort
|
|
||||||
_x = IpPort.from_reader(reader)
|
|
||||||
_ip_port_list.append(_x)
|
|
||||||
|
|
||||||
return ConfigSimple(date=_date, expires=_expires, dc_id=_dc_id, ip_port_list=_ip_port_list)
|
|
||||||
|
|
||||||
|
|
||||||
class InviteText(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x18cb9f78
|
|
||||||
SUBCLASS_OF_ID = 0xcf70aa35
|
|
||||||
|
|
||||||
def __init__(self, message):
|
|
||||||
"""
|
|
||||||
:param str message:
|
|
||||||
|
|
||||||
Constructor for help.InviteText: Instance of InviteText.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.message = message
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'InviteText',
|
|
||||||
'message': self.message
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'x\x9f\xcb\x18',
|
|
||||||
TLObject.serialize_bytes(self.message),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_message = reader.tgread_string()
|
|
||||||
return InviteText(message=_message)
|
|
||||||
|
|
||||||
|
|
||||||
class NoAppUpdate(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xc45a6536
|
|
||||||
SUBCLASS_OF_ID = 0x5897069e
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'NoAppUpdate'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'6eZ\xc4',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return NoAppUpdate()
|
|
||||||
|
|
||||||
|
|
||||||
class RecentMeUrls(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xe0310d7
|
|
||||||
SUBCLASS_OF_ID = 0xf269c477
|
|
||||||
|
|
||||||
def __init__(self, urls, chats, users):
|
|
||||||
"""
|
|
||||||
:param list[RecentMeUrl] urls:
|
|
||||||
:param list[Chat] chats:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for help.RecentMeUrls: Instance of RecentMeUrls.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.urls = urls
|
|
||||||
self.chats = chats
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'RecentMeUrls',
|
|
||||||
'urls': [] if self.urls is None else [None if x is None else x.to_dict() for x in self.urls],
|
|
||||||
'chats': [] if self.chats is None else [None if x is None else x.to_dict() for x in self.chats],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xd7\x10\x03\x0e',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.urls)),b''.join(bytes(x) for x in self.urls),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.chats)),b''.join(bytes(x) for x in self.chats),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_urls = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_urls.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_chats = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_chats.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return RecentMeUrls(urls=_urls, chats=_chats, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class Support(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x17c6b5f6
|
|
||||||
SUBCLASS_OF_ID = 0x7159bceb
|
|
||||||
|
|
||||||
def __init__(self, phone_number, user):
|
|
||||||
"""
|
|
||||||
:param str phone_number:
|
|
||||||
:param User user:
|
|
||||||
|
|
||||||
Constructor for help.Support: Instance of Support.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.phone_number = phone_number
|
|
||||||
self.user = user
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Support',
|
|
||||||
'phone_number': self.phone_number,
|
|
||||||
'user': None if self.user is None else self.user.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xf6\xb5\xc6\x17',
|
|
||||||
TLObject.serialize_bytes(self.phone_number),
|
|
||||||
bytes(self.user),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_phone_number = reader.tgread_string()
|
|
||||||
_user = reader.tgread_object()
|
|
||||||
return Support(phone_number=_phone_number, user=_user)
|
|
||||||
|
|
||||||
|
|
||||||
class TermsOfService(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf1ee3e90
|
|
||||||
SUBCLASS_OF_ID = 0x20ee8312
|
|
||||||
|
|
||||||
def __init__(self, text):
|
|
||||||
"""
|
|
||||||
:param str text:
|
|
||||||
|
|
||||||
Constructor for help.TermsOfService: Instance of TermsOfService.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.text = text
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'TermsOfService',
|
|
||||||
'text': self.text
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x90>\xee\xf1',
|
|
||||||
TLObject.serialize_bytes(self.text),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_text = reader.tgread_string()
|
|
||||||
return TermsOfService(text=_text)
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,353 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class PaymentForm(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x3f56aea3
|
|
||||||
SUBCLASS_OF_ID = 0xa0483f19
|
|
||||||
|
|
||||||
def __init__(self, bot_id, invoice, provider_id, url, users, can_save_credentials=None, password_missing=None, native_provider=None, native_params=None, saved_info=None, saved_credentials=None):
|
|
||||||
"""
|
|
||||||
:param bool | None can_save_credentials:
|
|
||||||
:param bool | None password_missing:
|
|
||||||
:param int bot_id:
|
|
||||||
:param Invoice invoice:
|
|
||||||
:param int provider_id:
|
|
||||||
:param str url:
|
|
||||||
:param str | None native_provider:
|
|
||||||
:param DataJSON | None native_params:
|
|
||||||
:param PaymentRequestedInfo | None saved_info:
|
|
||||||
:param PaymentSavedCredentials | None saved_credentials:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for payments.PaymentForm: Instance of PaymentForm.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.can_save_credentials = can_save_credentials
|
|
||||||
self.password_missing = password_missing
|
|
||||||
self.bot_id = bot_id
|
|
||||||
self.invoice = invoice
|
|
||||||
self.provider_id = provider_id
|
|
||||||
self.url = url
|
|
||||||
self.native_provider = native_provider
|
|
||||||
self.native_params = native_params
|
|
||||||
self.saved_info = saved_info
|
|
||||||
self.saved_credentials = saved_credentials
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PaymentForm',
|
|
||||||
'can_save_credentials': self.can_save_credentials,
|
|
||||||
'password_missing': self.password_missing,
|
|
||||||
'bot_id': self.bot_id,
|
|
||||||
'invoice': None if self.invoice is None else self.invoice.to_dict(),
|
|
||||||
'provider_id': self.provider_id,
|
|
||||||
'url': self.url,
|
|
||||||
'native_provider': self.native_provider,
|
|
||||||
'native_params': None if self.native_params is None else self.native_params.to_dict(),
|
|
||||||
'saved_info': None if self.saved_info is None else self.saved_info.to_dict(),
|
|
||||||
'saved_credentials': None if self.saved_credentials is None else self.saved_credentials.to_dict(),
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
assert ((self.native_provider or self.native_provider is not None) and (self.native_params or self.native_params is not None)) or ((self.native_provider is None or self.native_provider is False) and (self.native_params is None or self.native_params is False)), 'native_provider, native_params parameters must all be False-y (like None) or all me True-y'
|
|
||||||
return b''.join((
|
|
||||||
b'\xa3\xaeV?',
|
|
||||||
struct.pack('<I', (0 if self.can_save_credentials is None or self.can_save_credentials is False else 4) | (0 if self.password_missing is None or self.password_missing is False else 8) | (0 if self.native_provider is None or self.native_provider is False else 16) | (0 if self.native_params is None or self.native_params is False else 16) | (0 if self.saved_info is None or self.saved_info is False else 1) | (0 if self.saved_credentials is None or self.saved_credentials is False else 2)),
|
|
||||||
struct.pack('<i', self.bot_id),
|
|
||||||
bytes(self.invoice),
|
|
||||||
struct.pack('<i', self.provider_id),
|
|
||||||
TLObject.serialize_bytes(self.url),
|
|
||||||
b'' if self.native_provider is None or self.native_provider is False else (TLObject.serialize_bytes(self.native_provider)),
|
|
||||||
b'' if self.native_params is None or self.native_params is False else (bytes(self.native_params)),
|
|
||||||
b'' if self.saved_info is None or self.saved_info is False else (bytes(self.saved_info)),
|
|
||||||
b'' if self.saved_credentials is None or self.saved_credentials is False else (bytes(self.saved_credentials)),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_can_save_credentials = bool(flags & 4)
|
|
||||||
_password_missing = bool(flags & 8)
|
|
||||||
_bot_id = reader.read_int()
|
|
||||||
_invoice = reader.tgread_object()
|
|
||||||
_provider_id = reader.read_int()
|
|
||||||
_url = reader.tgread_string()
|
|
||||||
if flags & 16:
|
|
||||||
_native_provider = reader.tgread_string()
|
|
||||||
else:
|
|
||||||
_native_provider = None
|
|
||||||
if flags & 16:
|
|
||||||
_native_params = reader.tgread_object()
|
|
||||||
else:
|
|
||||||
_native_params = None
|
|
||||||
if flags & 1:
|
|
||||||
_saved_info = reader.tgread_object()
|
|
||||||
else:
|
|
||||||
_saved_info = None
|
|
||||||
if flags & 2:
|
|
||||||
_saved_credentials = reader.tgread_object()
|
|
||||||
else:
|
|
||||||
_saved_credentials = None
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return PaymentForm(bot_id=_bot_id, invoice=_invoice, provider_id=_provider_id, url=_url, users=_users, can_save_credentials=_can_save_credentials, password_missing=_password_missing, native_provider=_native_provider, native_params=_native_params, saved_info=_saved_info, saved_credentials=_saved_credentials)
|
|
||||||
|
|
||||||
|
|
||||||
class PaymentReceipt(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x500911e1
|
|
||||||
SUBCLASS_OF_ID = 0x590093c9
|
|
||||||
|
|
||||||
def __init__(self, date, bot_id, invoice, provider_id, currency, total_amount, credentials_title, users, info=None, shipping=None):
|
|
||||||
"""
|
|
||||||
:param datetime.datetime | None date:
|
|
||||||
:param int bot_id:
|
|
||||||
:param Invoice invoice:
|
|
||||||
:param int provider_id:
|
|
||||||
:param PaymentRequestedInfo | None info:
|
|
||||||
:param ShippingOption | None shipping:
|
|
||||||
:param str currency:
|
|
||||||
:param int total_amount:
|
|
||||||
:param str credentials_title:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for payments.PaymentReceipt: Instance of PaymentReceipt.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.date = date
|
|
||||||
self.bot_id = bot_id
|
|
||||||
self.invoice = invoice
|
|
||||||
self.provider_id = provider_id
|
|
||||||
self.info = info
|
|
||||||
self.shipping = shipping
|
|
||||||
self.currency = currency
|
|
||||||
self.total_amount = total_amount
|
|
||||||
self.credentials_title = credentials_title
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PaymentReceipt',
|
|
||||||
'date': self.date,
|
|
||||||
'bot_id': self.bot_id,
|
|
||||||
'invoice': None if self.invoice is None else self.invoice.to_dict(),
|
|
||||||
'provider_id': self.provider_id,
|
|
||||||
'info': None if self.info is None else self.info.to_dict(),
|
|
||||||
'shipping': None if self.shipping is None else self.shipping.to_dict(),
|
|
||||||
'currency': self.currency,
|
|
||||||
'total_amount': self.total_amount,
|
|
||||||
'credentials_title': self.credentials_title,
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xe1\x11\tP',
|
|
||||||
struct.pack('<I', (0 if self.info is None or self.info is False else 1) | (0 if self.shipping is None or self.shipping is False else 2)),
|
|
||||||
TLObject.serialize_datetime(self.date),
|
|
||||||
struct.pack('<i', self.bot_id),
|
|
||||||
bytes(self.invoice),
|
|
||||||
struct.pack('<i', self.provider_id),
|
|
||||||
b'' if self.info is None or self.info is False else (bytes(self.info)),
|
|
||||||
b'' if self.shipping is None or self.shipping is False else (bytes(self.shipping)),
|
|
||||||
TLObject.serialize_bytes(self.currency),
|
|
||||||
struct.pack('<q', self.total_amount),
|
|
||||||
TLObject.serialize_bytes(self.credentials_title),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_date = reader.tgread_date()
|
|
||||||
_bot_id = reader.read_int()
|
|
||||||
_invoice = reader.tgread_object()
|
|
||||||
_provider_id = reader.read_int()
|
|
||||||
if flags & 1:
|
|
||||||
_info = reader.tgread_object()
|
|
||||||
else:
|
|
||||||
_info = None
|
|
||||||
if flags & 2:
|
|
||||||
_shipping = reader.tgread_object()
|
|
||||||
else:
|
|
||||||
_shipping = None
|
|
||||||
_currency = reader.tgread_string()
|
|
||||||
_total_amount = reader.read_long()
|
|
||||||
_credentials_title = reader.tgread_string()
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return PaymentReceipt(date=_date, bot_id=_bot_id, invoice=_invoice, provider_id=_provider_id, currency=_currency, total_amount=_total_amount, credentials_title=_credentials_title, users=_users, info=_info, shipping=_shipping)
|
|
||||||
|
|
||||||
|
|
||||||
class PaymentResult(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x4e5f810d
|
|
||||||
SUBCLASS_OF_ID = 0x8ae16a9d
|
|
||||||
|
|
||||||
def __init__(self, updates):
|
|
||||||
"""
|
|
||||||
:param Updates updates:
|
|
||||||
|
|
||||||
Constructor for payments.PaymentResult: Instance of either PaymentResult, PaymentVerficationNeeded.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.updates = updates
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PaymentResult',
|
|
||||||
'updates': None if self.updates is None else self.updates.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\r\x81_N',
|
|
||||||
bytes(self.updates),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_updates = reader.tgread_object()
|
|
||||||
return PaymentResult(updates=_updates)
|
|
||||||
|
|
||||||
|
|
||||||
class PaymentVerficationNeeded(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x6b56b921
|
|
||||||
SUBCLASS_OF_ID = 0x8ae16a9d
|
|
||||||
|
|
||||||
def __init__(self, url):
|
|
||||||
"""
|
|
||||||
:param str url:
|
|
||||||
|
|
||||||
Constructor for payments.PaymentResult: Instance of either PaymentResult, PaymentVerficationNeeded.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.url = url
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PaymentVerficationNeeded',
|
|
||||||
'url': self.url
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'!\xb9Vk',
|
|
||||||
TLObject.serialize_bytes(self.url),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_url = reader.tgread_string()
|
|
||||||
return PaymentVerficationNeeded(url=_url)
|
|
||||||
|
|
||||||
|
|
||||||
class SavedInfo(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xfb8fe43c
|
|
||||||
SUBCLASS_OF_ID = 0xad3cf146
|
|
||||||
|
|
||||||
def __init__(self, has_saved_credentials=None, saved_info=None):
|
|
||||||
"""
|
|
||||||
:param bool | None has_saved_credentials:
|
|
||||||
:param PaymentRequestedInfo | None saved_info:
|
|
||||||
|
|
||||||
Constructor for payments.SavedInfo: Instance of SavedInfo.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.has_saved_credentials = has_saved_credentials
|
|
||||||
self.saved_info = saved_info
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'SavedInfo',
|
|
||||||
'has_saved_credentials': self.has_saved_credentials,
|
|
||||||
'saved_info': None if self.saved_info is None else self.saved_info.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'<\xe4\x8f\xfb',
|
|
||||||
struct.pack('<I', (0 if self.has_saved_credentials is None or self.has_saved_credentials is False else 2) | (0 if self.saved_info is None or self.saved_info is False else 1)),
|
|
||||||
b'' if self.saved_info is None or self.saved_info is False else (bytes(self.saved_info)),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_has_saved_credentials = bool(flags & 2)
|
|
||||||
if flags & 1:
|
|
||||||
_saved_info = reader.tgread_object()
|
|
||||||
else:
|
|
||||||
_saved_info = None
|
|
||||||
return SavedInfo(has_saved_credentials=_has_saved_credentials, saved_info=_saved_info)
|
|
||||||
|
|
||||||
|
|
||||||
class ValidatedRequestedInfo(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xd1451883
|
|
||||||
SUBCLASS_OF_ID = 0x8f8044b7
|
|
||||||
|
|
||||||
def __init__(self, id=None, shipping_options=None):
|
|
||||||
"""
|
|
||||||
:param str | None id:
|
|
||||||
:param list[ShippingOption] | None shipping_options:
|
|
||||||
|
|
||||||
Constructor for payments.ValidatedRequestedInfo: Instance of ValidatedRequestedInfo.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.id = id
|
|
||||||
self.shipping_options = shipping_options
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ValidatedRequestedInfo',
|
|
||||||
'id': self.id,
|
|
||||||
'shipping_options': [] if self.shipping_options is None else [None if x is None else x.to_dict() for x in self.shipping_options]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x83\x18E\xd1',
|
|
||||||
struct.pack('<I', (0 if self.id is None or self.id is False else 1) | (0 if self.shipping_options is None or self.shipping_options is False else 2)),
|
|
||||||
b'' if self.id is None or self.id is False else (TLObject.serialize_bytes(self.id)),
|
|
||||||
b'' if self.shipping_options is None or self.shipping_options is False else b''.join((b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.shipping_options)),b''.join(bytes(x) for x in self.shipping_options))),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
if flags & 1:
|
|
||||||
_id = reader.tgread_string()
|
|
||||||
else:
|
|
||||||
_id = None
|
|
||||||
if flags & 2:
|
|
||||||
reader.read_int()
|
|
||||||
_shipping_options = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_shipping_options.append(_x)
|
|
||||||
|
|
||||||
else:
|
|
||||||
_shipping_options = None
|
|
||||||
return ValidatedRequestedInfo(id=_id, shipping_options=_shipping_options)
|
|
|
@ -1,46 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class PhoneCall(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xec82e140
|
|
||||||
SUBCLASS_OF_ID = 0xd48afe4f
|
|
||||||
|
|
||||||
def __init__(self, phone_call, users):
|
|
||||||
"""
|
|
||||||
:param PhoneCall phone_call:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for phone.PhoneCall: Instance of PhoneCall.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.phone_call = phone_call
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PhoneCall',
|
|
||||||
'phone_call': None if self.phone_call is None else self.phone_call.to_dict(),
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'@\xe1\x82\xec',
|
|
||||||
bytes(self.phone_call),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_phone_call = reader.tgread_object()
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return PhoneCall(phone_call=_phone_call, users=_users)
|
|
|
@ -1,145 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class Photo(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x20212ca8
|
|
||||||
SUBCLASS_OF_ID = 0xc292bd24
|
|
||||||
|
|
||||||
def __init__(self, photo, users):
|
|
||||||
"""
|
|
||||||
:param Photo photo:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for photos.Photo: Instance of Photo.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.photo = photo
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Photo',
|
|
||||||
'photo': None if self.photo is None else self.photo.to_dict(),
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa8,! ',
|
|
||||||
bytes(self.photo),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_photo = reader.tgread_object()
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return Photo(photo=_photo, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class Photos(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x8dca6aa5
|
|
||||||
SUBCLASS_OF_ID = 0x27cfb967
|
|
||||||
|
|
||||||
def __init__(self, photos, users):
|
|
||||||
"""
|
|
||||||
:param list[Photo] photos:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for photos.Photos: Instance of either Photos, PhotosSlice.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.photos = photos
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Photos',
|
|
||||||
'photos': [] if self.photos is None else [None if x is None else x.to_dict() for x in self.photos],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa5j\xca\x8d',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.photos)),b''.join(bytes(x) for x in self.photos),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_photos = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_photos.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return Photos(photos=_photos, users=_users)
|
|
||||||
|
|
||||||
|
|
||||||
class PhotosSlice(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x15051f54
|
|
||||||
SUBCLASS_OF_ID = 0x27cfb967
|
|
||||||
|
|
||||||
def __init__(self, count, photos, users):
|
|
||||||
"""
|
|
||||||
:param int count:
|
|
||||||
:param list[Photo] photos:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for photos.Photos: Instance of either Photos, PhotosSlice.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.count = count
|
|
||||||
self.photos = photos
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'PhotosSlice',
|
|
||||||
'count': self.count,
|
|
||||||
'photos': [] if self.photos is None else [None if x is None else x.to_dict() for x in self.photos],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'T\x1f\x05\x15',
|
|
||||||
struct.pack('<i', self.count),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.photos)),b''.join(bytes(x) for x in self.photos),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_count = reader.read_int()
|
|
||||||
reader.read_int()
|
|
||||||
_photos = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_photos.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return PhotosSlice(count=_count, photos=_photos, users=_users)
|
|
|
@ -1,224 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class FileGif(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xcae1aadf
|
|
||||||
SUBCLASS_OF_ID = 0xf3a1e6f3
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FileGif'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xdf\xaa\xe1\xca',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return FileGif()
|
|
||||||
|
|
||||||
|
|
||||||
class FileJpeg(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x7efe0e
|
|
||||||
SUBCLASS_OF_ID = 0xf3a1e6f3
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FileJpeg'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x0e\xfe~\x00',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return FileJpeg()
|
|
||||||
|
|
||||||
|
|
||||||
class FileMov(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x4b09ebbc
|
|
||||||
SUBCLASS_OF_ID = 0xf3a1e6f3
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FileMov'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xbc\xeb\tK',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return FileMov()
|
|
||||||
|
|
||||||
|
|
||||||
class FileMp3(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x528a0677
|
|
||||||
SUBCLASS_OF_ID = 0xf3a1e6f3
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FileMp3'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'w\x06\x8aR',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return FileMp3()
|
|
||||||
|
|
||||||
|
|
||||||
class FileMp4(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xb3cea0e4
|
|
||||||
SUBCLASS_OF_ID = 0xf3a1e6f3
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FileMp4'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xe4\xa0\xce\xb3',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return FileMp4()
|
|
||||||
|
|
||||||
|
|
||||||
class FilePartial(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x40bc6f52
|
|
||||||
SUBCLASS_OF_ID = 0xf3a1e6f3
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FilePartial'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'Ro\xbc@',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return FilePartial()
|
|
||||||
|
|
||||||
|
|
||||||
class FilePdf(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xae1e508d
|
|
||||||
SUBCLASS_OF_ID = 0xf3a1e6f3
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FilePdf'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x8dP\x1e\xae',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return FilePdf()
|
|
||||||
|
|
||||||
|
|
||||||
class FilePng(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xa4f63c0
|
|
||||||
SUBCLASS_OF_ID = 0xf3a1e6f3
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FilePng'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xc0cO\n',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return FilePng()
|
|
||||||
|
|
||||||
|
|
||||||
class FileUnknown(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xaa963b05
|
|
||||||
SUBCLASS_OF_ID = 0xf3a1e6f3
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FileUnknown'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x05;\x96\xaa',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return FileUnknown()
|
|
||||||
|
|
||||||
|
|
||||||
class FileWebp(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x1081464c
|
|
||||||
SUBCLASS_OF_ID = 0xf3a1e6f3
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FileWebp'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'LF\x81\x10',
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
return FileWebp()
|
|
|
@ -1,525 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class ChannelDifference(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x2064674e
|
|
||||||
SUBCLASS_OF_ID = 0x29896f5d
|
|
||||||
|
|
||||||
def __init__(self, pts, new_messages, other_updates, chats, users, final=None, timeout=None):
|
|
||||||
"""
|
|
||||||
:param bool | None final:
|
|
||||||
:param int pts:
|
|
||||||
:param int | None timeout:
|
|
||||||
:param list[Message] new_messages:
|
|
||||||
:param list[Update] other_updates:
|
|
||||||
:param list[Chat] chats:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for updates.ChannelDifference: Instance of either ChannelDifferenceEmpty, ChannelDifferenceTooLong, ChannelDifference.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.final = final
|
|
||||||
self.pts = pts
|
|
||||||
self.timeout = timeout
|
|
||||||
self.new_messages = new_messages
|
|
||||||
self.other_updates = other_updates
|
|
||||||
self.chats = chats
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ChannelDifference',
|
|
||||||
'final': self.final,
|
|
||||||
'pts': self.pts,
|
|
||||||
'timeout': self.timeout,
|
|
||||||
'new_messages': [] if self.new_messages is None else [None if x is None else x.to_dict() for x in self.new_messages],
|
|
||||||
'other_updates': [] if self.other_updates is None else [None if x is None else x.to_dict() for x in self.other_updates],
|
|
||||||
'chats': [] if self.chats is None else [None if x is None else x.to_dict() for x in self.chats],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'Ngd ',
|
|
||||||
struct.pack('<I', (0 if self.final is None or self.final is False else 1) | (0 if self.timeout is None or self.timeout is False else 2)),
|
|
||||||
struct.pack('<i', self.pts),
|
|
||||||
b'' if self.timeout is None or self.timeout is False else (struct.pack('<i', self.timeout)),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.new_messages)),b''.join(bytes(x) for x in self.new_messages),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.other_updates)),b''.join(bytes(x) for x in self.other_updates),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.chats)),b''.join(bytes(x) for x in self.chats),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_final = bool(flags & 1)
|
|
||||||
_pts = reader.read_int()
|
|
||||||
if flags & 2:
|
|
||||||
_timeout = reader.read_int()
|
|
||||||
else:
|
|
||||||
_timeout = None
|
|
||||||
reader.read_int()
|
|
||||||
_new_messages = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_new_messages.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_other_updates = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_other_updates.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_chats = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_chats.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return ChannelDifference(pts=_pts, new_messages=_new_messages, other_updates=_other_updates, chats=_chats, users=_users, final=_final, timeout=_timeout)
|
|
||||||
|
|
||||||
|
|
||||||
class ChannelDifferenceEmpty(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x3e11affb
|
|
||||||
SUBCLASS_OF_ID = 0x29896f5d
|
|
||||||
|
|
||||||
def __init__(self, pts, final=None, timeout=None):
|
|
||||||
"""
|
|
||||||
:param bool | None final:
|
|
||||||
:param int pts:
|
|
||||||
:param int | None timeout:
|
|
||||||
|
|
||||||
Constructor for updates.ChannelDifference: Instance of either ChannelDifferenceEmpty, ChannelDifferenceTooLong, ChannelDifference.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.final = final
|
|
||||||
self.pts = pts
|
|
||||||
self.timeout = timeout
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ChannelDifferenceEmpty',
|
|
||||||
'final': self.final,
|
|
||||||
'pts': self.pts,
|
|
||||||
'timeout': self.timeout
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xfb\xaf\x11>',
|
|
||||||
struct.pack('<I', (0 if self.final is None or self.final is False else 1) | (0 if self.timeout is None or self.timeout is False else 2)),
|
|
||||||
struct.pack('<i', self.pts),
|
|
||||||
b'' if self.timeout is None or self.timeout is False else (struct.pack('<i', self.timeout)),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_final = bool(flags & 1)
|
|
||||||
_pts = reader.read_int()
|
|
||||||
if flags & 2:
|
|
||||||
_timeout = reader.read_int()
|
|
||||||
else:
|
|
||||||
_timeout = None
|
|
||||||
return ChannelDifferenceEmpty(pts=_pts, final=_final, timeout=_timeout)
|
|
||||||
|
|
||||||
|
|
||||||
class ChannelDifferenceTooLong(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x6a9d7b35
|
|
||||||
SUBCLASS_OF_ID = 0x29896f5d
|
|
||||||
|
|
||||||
def __init__(self, pts, top_message, read_inbox_max_id, read_outbox_max_id, unread_count, unread_mentions_count, messages, chats, users, final=None, timeout=None):
|
|
||||||
"""
|
|
||||||
:param bool | None final:
|
|
||||||
:param int pts:
|
|
||||||
:param int | None timeout:
|
|
||||||
:param int top_message:
|
|
||||||
:param int read_inbox_max_id:
|
|
||||||
:param int read_outbox_max_id:
|
|
||||||
:param int unread_count:
|
|
||||||
:param int unread_mentions_count:
|
|
||||||
:param list[Message] messages:
|
|
||||||
:param list[Chat] chats:
|
|
||||||
:param list[User] users:
|
|
||||||
|
|
||||||
Constructor for updates.ChannelDifference: Instance of either ChannelDifferenceEmpty, ChannelDifferenceTooLong, ChannelDifference.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.final = final
|
|
||||||
self.pts = pts
|
|
||||||
self.timeout = timeout
|
|
||||||
self.top_message = top_message
|
|
||||||
self.read_inbox_max_id = read_inbox_max_id
|
|
||||||
self.read_outbox_max_id = read_outbox_max_id
|
|
||||||
self.unread_count = unread_count
|
|
||||||
self.unread_mentions_count = unread_mentions_count
|
|
||||||
self.messages = messages
|
|
||||||
self.chats = chats
|
|
||||||
self.users = users
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'ChannelDifferenceTooLong',
|
|
||||||
'final': self.final,
|
|
||||||
'pts': self.pts,
|
|
||||||
'timeout': self.timeout,
|
|
||||||
'top_message': self.top_message,
|
|
||||||
'read_inbox_max_id': self.read_inbox_max_id,
|
|
||||||
'read_outbox_max_id': self.read_outbox_max_id,
|
|
||||||
'unread_count': self.unread_count,
|
|
||||||
'unread_mentions_count': self.unread_mentions_count,
|
|
||||||
'messages': [] if self.messages is None else [None if x is None else x.to_dict() for x in self.messages],
|
|
||||||
'chats': [] if self.chats is None else [None if x is None else x.to_dict() for x in self.chats],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'5{\x9dj',
|
|
||||||
struct.pack('<I', (0 if self.final is None or self.final is False else 1) | (0 if self.timeout is None or self.timeout is False else 2)),
|
|
||||||
struct.pack('<i', self.pts),
|
|
||||||
b'' if self.timeout is None or self.timeout is False else (struct.pack('<i', self.timeout)),
|
|
||||||
struct.pack('<i', self.top_message),
|
|
||||||
struct.pack('<i', self.read_inbox_max_id),
|
|
||||||
struct.pack('<i', self.read_outbox_max_id),
|
|
||||||
struct.pack('<i', self.unread_count),
|
|
||||||
struct.pack('<i', self.unread_mentions_count),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.messages)),b''.join(bytes(x) for x in self.messages),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.chats)),b''.join(bytes(x) for x in self.chats),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
flags = reader.read_int()
|
|
||||||
|
|
||||||
_final = bool(flags & 1)
|
|
||||||
_pts = reader.read_int()
|
|
||||||
if flags & 2:
|
|
||||||
_timeout = reader.read_int()
|
|
||||||
else:
|
|
||||||
_timeout = None
|
|
||||||
_top_message = reader.read_int()
|
|
||||||
_read_inbox_max_id = reader.read_int()
|
|
||||||
_read_outbox_max_id = reader.read_int()
|
|
||||||
_unread_count = reader.read_int()
|
|
||||||
_unread_mentions_count = reader.read_int()
|
|
||||||
reader.read_int()
|
|
||||||
_messages = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_messages.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_chats = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_chats.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
return ChannelDifferenceTooLong(pts=_pts, top_message=_top_message, read_inbox_max_id=_read_inbox_max_id, read_outbox_max_id=_read_outbox_max_id, unread_count=_unread_count, unread_mentions_count=_unread_mentions_count, messages=_messages, chats=_chats, users=_users, final=_final, timeout=_timeout)
|
|
||||||
|
|
||||||
|
|
||||||
class Difference(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xf49ca0
|
|
||||||
SUBCLASS_OF_ID = 0x20482874
|
|
||||||
|
|
||||||
def __init__(self, new_messages, new_encrypted_messages, other_updates, chats, users, state):
|
|
||||||
"""
|
|
||||||
:param list[Message] new_messages:
|
|
||||||
:param list[EncryptedMessage] new_encrypted_messages:
|
|
||||||
:param list[Update] other_updates:
|
|
||||||
:param list[Chat] chats:
|
|
||||||
:param list[User] users:
|
|
||||||
:param updates.State state:
|
|
||||||
|
|
||||||
Constructor for updates.Difference: Instance of either DifferenceEmpty, Difference, DifferenceSlice, DifferenceTooLong.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.new_messages = new_messages
|
|
||||||
self.new_encrypted_messages = new_encrypted_messages
|
|
||||||
self.other_updates = other_updates
|
|
||||||
self.chats = chats
|
|
||||||
self.users = users
|
|
||||||
self.state = state
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'Difference',
|
|
||||||
'new_messages': [] if self.new_messages is None else [None if x is None else x.to_dict() for x in self.new_messages],
|
|
||||||
'new_encrypted_messages': [] if self.new_encrypted_messages is None else [None if x is None else x.to_dict() for x in self.new_encrypted_messages],
|
|
||||||
'other_updates': [] if self.other_updates is None else [None if x is None else x.to_dict() for x in self.other_updates],
|
|
||||||
'chats': [] if self.chats is None else [None if x is None else x.to_dict() for x in self.chats],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users],
|
|
||||||
'state': None if self.state is None else self.state.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xa0\x9c\xf4\x00',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.new_messages)),b''.join(bytes(x) for x in self.new_messages),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.new_encrypted_messages)),b''.join(bytes(x) for x in self.new_encrypted_messages),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.other_updates)),b''.join(bytes(x) for x in self.other_updates),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.chats)),b''.join(bytes(x) for x in self.chats),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
bytes(self.state),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_new_messages = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_new_messages.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_new_encrypted_messages = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_new_encrypted_messages.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_other_updates = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_other_updates.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_chats = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_chats.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
_state = reader.tgread_object()
|
|
||||||
return Difference(new_messages=_new_messages, new_encrypted_messages=_new_encrypted_messages, other_updates=_other_updates, chats=_chats, users=_users, state=_state)
|
|
||||||
|
|
||||||
|
|
||||||
class DifferenceEmpty(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x5d75a138
|
|
||||||
SUBCLASS_OF_ID = 0x20482874
|
|
||||||
|
|
||||||
def __init__(self, date, seq):
|
|
||||||
"""
|
|
||||||
:param datetime.datetime | None date:
|
|
||||||
:param int seq:
|
|
||||||
|
|
||||||
Constructor for updates.Difference: Instance of either DifferenceEmpty, Difference, DifferenceSlice, DifferenceTooLong.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.date = date
|
|
||||||
self.seq = seq
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'DifferenceEmpty',
|
|
||||||
'date': self.date,
|
|
||||||
'seq': self.seq
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'8\xa1u]',
|
|
||||||
TLObject.serialize_datetime(self.date),
|
|
||||||
struct.pack('<i', self.seq),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_date = reader.tgread_date()
|
|
||||||
_seq = reader.read_int()
|
|
||||||
return DifferenceEmpty(date=_date, seq=_seq)
|
|
||||||
|
|
||||||
|
|
||||||
class DifferenceSlice(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xa8fb1981
|
|
||||||
SUBCLASS_OF_ID = 0x20482874
|
|
||||||
|
|
||||||
def __init__(self, new_messages, new_encrypted_messages, other_updates, chats, users, intermediate_state):
|
|
||||||
"""
|
|
||||||
:param list[Message] new_messages:
|
|
||||||
:param list[EncryptedMessage] new_encrypted_messages:
|
|
||||||
:param list[Update] other_updates:
|
|
||||||
:param list[Chat] chats:
|
|
||||||
:param list[User] users:
|
|
||||||
:param updates.State intermediate_state:
|
|
||||||
|
|
||||||
Constructor for updates.Difference: Instance of either DifferenceEmpty, Difference, DifferenceSlice, DifferenceTooLong.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.new_messages = new_messages
|
|
||||||
self.new_encrypted_messages = new_encrypted_messages
|
|
||||||
self.other_updates = other_updates
|
|
||||||
self.chats = chats
|
|
||||||
self.users = users
|
|
||||||
self.intermediate_state = intermediate_state
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'DifferenceSlice',
|
|
||||||
'new_messages': [] if self.new_messages is None else [None if x is None else x.to_dict() for x in self.new_messages],
|
|
||||||
'new_encrypted_messages': [] if self.new_encrypted_messages is None else [None if x is None else x.to_dict() for x in self.new_encrypted_messages],
|
|
||||||
'other_updates': [] if self.other_updates is None else [None if x is None else x.to_dict() for x in self.other_updates],
|
|
||||||
'chats': [] if self.chats is None else [None if x is None else x.to_dict() for x in self.chats],
|
|
||||||
'users': [] if self.users is None else [None if x is None else x.to_dict() for x in self.users],
|
|
||||||
'intermediate_state': None if self.intermediate_state is None else self.intermediate_state.to_dict()
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\x81\x19\xfb\xa8',
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.new_messages)),b''.join(bytes(x) for x in self.new_messages),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.new_encrypted_messages)),b''.join(bytes(x) for x in self.new_encrypted_messages),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.other_updates)),b''.join(bytes(x) for x in self.other_updates),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.chats)),b''.join(bytes(x) for x in self.chats),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.users)),b''.join(bytes(x) for x in self.users),
|
|
||||||
bytes(self.intermediate_state),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
reader.read_int()
|
|
||||||
_new_messages = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_new_messages.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_new_encrypted_messages = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_new_encrypted_messages.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_other_updates = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_other_updates.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_chats = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_chats.append(_x)
|
|
||||||
|
|
||||||
reader.read_int()
|
|
||||||
_users = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_users.append(_x)
|
|
||||||
|
|
||||||
_intermediate_state = reader.tgread_object()
|
|
||||||
return DifferenceSlice(new_messages=_new_messages, new_encrypted_messages=_new_encrypted_messages, other_updates=_other_updates, chats=_chats, users=_users, intermediate_state=_intermediate_state)
|
|
||||||
|
|
||||||
|
|
||||||
class DifferenceTooLong(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x4afe8f6d
|
|
||||||
SUBCLASS_OF_ID = 0x20482874
|
|
||||||
|
|
||||||
def __init__(self, pts):
|
|
||||||
"""
|
|
||||||
:param int pts:
|
|
||||||
|
|
||||||
Constructor for updates.Difference: Instance of either DifferenceEmpty, Difference, DifferenceSlice, DifferenceTooLong.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.pts = pts
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'DifferenceTooLong',
|
|
||||||
'pts': self.pts
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'm\x8f\xfeJ',
|
|
||||||
struct.pack('<i', self.pts),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_pts = reader.read_int()
|
|
||||||
return DifferenceTooLong(pts=_pts)
|
|
||||||
|
|
||||||
|
|
||||||
class State(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xa56c2a3e
|
|
||||||
SUBCLASS_OF_ID = 0x23df1a01
|
|
||||||
|
|
||||||
def __init__(self, pts, qts, date, seq, unread_count):
|
|
||||||
"""
|
|
||||||
:param int pts:
|
|
||||||
:param int qts:
|
|
||||||
:param datetime.datetime | None date:
|
|
||||||
:param int seq:
|
|
||||||
:param int unread_count:
|
|
||||||
|
|
||||||
Constructor for updates.State: Instance of State.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.pts = pts
|
|
||||||
self.qts = qts
|
|
||||||
self.date = date
|
|
||||||
self.seq = seq
|
|
||||||
self.unread_count = unread_count
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'State',
|
|
||||||
'pts': self.pts,
|
|
||||||
'qts': self.qts,
|
|
||||||
'date': self.date,
|
|
||||||
'seq': self.seq,
|
|
||||||
'unread_count': self.unread_count
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'>*l\xa5',
|
|
||||||
struct.pack('<i', self.pts),
|
|
||||||
struct.pack('<i', self.qts),
|
|
||||||
TLObject.serialize_datetime(self.date),
|
|
||||||
struct.pack('<i', self.seq),
|
|
||||||
struct.pack('<i', self.unread_count),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_pts = reader.read_int()
|
|
||||||
_qts = reader.read_int()
|
|
||||||
_date = reader.tgread_date()
|
|
||||||
_seq = reader.read_int()
|
|
||||||
_unread_count = reader.read_int()
|
|
||||||
return State(pts=_pts, qts=_qts, date=_date, seq=_seq, unread_count=_unread_count)
|
|
|
@ -1,219 +0,0 @@
|
||||||
"""File generated by TLObjects' generator. All changes will be ERASED"""
|
|
||||||
from ...tl.tlobject import TLObject
|
|
||||||
import os
|
|
||||||
import struct
|
|
||||||
|
|
||||||
|
|
||||||
class CdnFile(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xa99fca4f
|
|
||||||
SUBCLASS_OF_ID = 0xf5ccf928
|
|
||||||
|
|
||||||
def __init__(self, bytes):
|
|
||||||
"""
|
|
||||||
:param bytes bytes:
|
|
||||||
|
|
||||||
Constructor for upload.CdnFile: Instance of either CdnFileReuploadNeeded, CdnFile.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.bytes = bytes
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'CdnFile',
|
|
||||||
'bytes': self.bytes
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'O\xca\x9f\xa9',
|
|
||||||
TLObject.serialize_bytes(self.bytes),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_bytes = reader.tgread_bytes()
|
|
||||||
return CdnFile(bytes=_bytes)
|
|
||||||
|
|
||||||
|
|
||||||
class CdnFileReuploadNeeded(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xeea8e46e
|
|
||||||
SUBCLASS_OF_ID = 0xf5ccf928
|
|
||||||
|
|
||||||
def __init__(self, request_token):
|
|
||||||
"""
|
|
||||||
:param bytes request_token:
|
|
||||||
|
|
||||||
Constructor for upload.CdnFile: Instance of either CdnFileReuploadNeeded, CdnFile.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.request_token = request_token
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'CdnFileReuploadNeeded',
|
|
||||||
'request_token': self.request_token
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'n\xe4\xa8\xee',
|
|
||||||
TLObject.serialize_bytes(self.request_token),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_request_token = reader.tgread_bytes()
|
|
||||||
return CdnFileReuploadNeeded(request_token=_request_token)
|
|
||||||
|
|
||||||
|
|
||||||
class File(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x96a18d5
|
|
||||||
SUBCLASS_OF_ID = 0x6c9bd728
|
|
||||||
|
|
||||||
def __init__(self, type, mtime, bytes):
|
|
||||||
"""
|
|
||||||
:param storage.FileType type:
|
|
||||||
:param int mtime:
|
|
||||||
:param bytes bytes:
|
|
||||||
|
|
||||||
Constructor for upload.File: Instance of either File, FileCdnRedirect.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.type = type
|
|
||||||
self.mtime = mtime
|
|
||||||
self.bytes = bytes
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'File',
|
|
||||||
'type': None if self.type is None else self.type.to_dict(),
|
|
||||||
'mtime': self.mtime,
|
|
||||||
'bytes': self.bytes
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xd5\x18j\t',
|
|
||||||
bytes(self.type),
|
|
||||||
struct.pack('<i', self.mtime),
|
|
||||||
TLObject.serialize_bytes(self.bytes),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_type = reader.tgread_object()
|
|
||||||
_mtime = reader.read_int()
|
|
||||||
_bytes = reader.tgread_bytes()
|
|
||||||
return File(type=_type, mtime=_mtime, bytes=_bytes)
|
|
||||||
|
|
||||||
|
|
||||||
class FileCdnRedirect(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0xea52fe5a
|
|
||||||
SUBCLASS_OF_ID = 0x6c9bd728
|
|
||||||
|
|
||||||
def __init__(self, dc_id, file_token, encryption_key, encryption_iv, cdn_file_hashes):
|
|
||||||
"""
|
|
||||||
:param int dc_id:
|
|
||||||
:param bytes file_token:
|
|
||||||
:param bytes encryption_key:
|
|
||||||
:param bytes encryption_iv:
|
|
||||||
:param list[CdnFileHash] cdn_file_hashes:
|
|
||||||
|
|
||||||
Constructor for upload.File: Instance of either File, FileCdnRedirect.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.dc_id = dc_id
|
|
||||||
self.file_token = file_token
|
|
||||||
self.encryption_key = encryption_key
|
|
||||||
self.encryption_iv = encryption_iv
|
|
||||||
self.cdn_file_hashes = cdn_file_hashes
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'FileCdnRedirect',
|
|
||||||
'dc_id': self.dc_id,
|
|
||||||
'file_token': self.file_token,
|
|
||||||
'encryption_key': self.encryption_key,
|
|
||||||
'encryption_iv': self.encryption_iv,
|
|
||||||
'cdn_file_hashes': [] if self.cdn_file_hashes is None else [None if x is None else x.to_dict() for x in self.cdn_file_hashes]
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'Z\xfeR\xea',
|
|
||||||
struct.pack('<i', self.dc_id),
|
|
||||||
TLObject.serialize_bytes(self.file_token),
|
|
||||||
TLObject.serialize_bytes(self.encryption_key),
|
|
||||||
TLObject.serialize_bytes(self.encryption_iv),
|
|
||||||
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.cdn_file_hashes)),b''.join(bytes(x) for x in self.cdn_file_hashes),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_dc_id = reader.read_int()
|
|
||||||
_file_token = reader.tgread_bytes()
|
|
||||||
_encryption_key = reader.tgread_bytes()
|
|
||||||
_encryption_iv = reader.tgread_bytes()
|
|
||||||
reader.read_int()
|
|
||||||
_cdn_file_hashes = []
|
|
||||||
for _ in range(reader.read_int()):
|
|
||||||
_x = reader.tgread_object()
|
|
||||||
_cdn_file_hashes.append(_x)
|
|
||||||
|
|
||||||
return FileCdnRedirect(dc_id=_dc_id, file_token=_file_token, encryption_key=_encryption_key, encryption_iv=_encryption_iv, cdn_file_hashes=_cdn_file_hashes)
|
|
||||||
|
|
||||||
|
|
||||||
class WebFile(TLObject):
|
|
||||||
CONSTRUCTOR_ID = 0x21e753bc
|
|
||||||
SUBCLASS_OF_ID = 0x68f17f51
|
|
||||||
|
|
||||||
def __init__(self, size, mime_type, file_type, mtime, bytes):
|
|
||||||
"""
|
|
||||||
:param int size:
|
|
||||||
:param str mime_type:
|
|
||||||
:param storage.FileType file_type:
|
|
||||||
:param int mtime:
|
|
||||||
:param bytes bytes:
|
|
||||||
|
|
||||||
Constructor for upload.WebFile: Instance of WebFile.
|
|
||||||
"""
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
self.size = size
|
|
||||||
self.mime_type = mime_type
|
|
||||||
self.file_type = file_type
|
|
||||||
self.mtime = mtime
|
|
||||||
self.bytes = bytes
|
|
||||||
|
|
||||||
def to_dict(self):
|
|
||||||
return {
|
|
||||||
'_': 'WebFile',
|
|
||||||
'size': self.size,
|
|
||||||
'mime_type': self.mime_type,
|
|
||||||
'file_type': None if self.file_type is None else self.file_type.to_dict(),
|
|
||||||
'mtime': self.mtime,
|
|
||||||
'bytes': self.bytes
|
|
||||||
}
|
|
||||||
|
|
||||||
def __bytes__(self):
|
|
||||||
return b''.join((
|
|
||||||
b'\xbcS\xe7!',
|
|
||||||
struct.pack('<i', self.size),
|
|
||||||
TLObject.serialize_bytes(self.mime_type),
|
|
||||||
bytes(self.file_type),
|
|
||||||
struct.pack('<i', self.mtime),
|
|
||||||
TLObject.serialize_bytes(self.bytes),
|
|
||||||
))
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def from_reader(reader):
|
|
||||||
_size = reader.read_int()
|
|
||||||
_mime_type = reader.tgread_string()
|
|
||||||
_file_type = reader.tgread_object()
|
|
||||||
_mtime = reader.read_int()
|
|
||||||
_bytes = reader.tgread_bytes()
|
|
||||||
return WebFile(size=_size, mime_type=_mime_type, file_type=_file_type, mtime=_mtime, bytes=_bytes)
|
|
|
@ -1,10 +1,9 @@
|
||||||
import itertools
|
|
||||||
import logging
|
import logging
|
||||||
|
import pickle
|
||||||
|
import asyncio
|
||||||
|
from collections import deque
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from queue import Queue, Empty
|
|
||||||
from threading import RLock, Thread
|
|
||||||
|
|
||||||
from . import utils
|
|
||||||
from .tl import types as tl
|
from .tl import types as tl
|
||||||
|
|
||||||
__log__ = logging.getLogger(__name__)
|
__log__ = logging.getLogger(__name__)
|
||||||
|
@ -16,107 +15,21 @@ class UpdateState:
|
||||||
"""
|
"""
|
||||||
WORKER_POLL_TIMEOUT = 5.0 # Avoid waiting forever on the workers
|
WORKER_POLL_TIMEOUT = 5.0 # Avoid waiting forever on the workers
|
||||||
|
|
||||||
def __init__(self, workers=None):
|
def __init__(self, loop=None):
|
||||||
"""
|
|
||||||
:param workers: This integer parameter has three possible cases:
|
|
||||||
workers is None: Updates will *not* be stored on self.
|
|
||||||
workers = 0: Another thread is responsible for calling self.poll()
|
|
||||||
workers > 0: 'workers' background threads will be spawned, any
|
|
||||||
any of them will invoke the self.handler.
|
|
||||||
"""
|
|
||||||
self._workers = workers
|
|
||||||
self._worker_threads = []
|
|
||||||
|
|
||||||
self.handler = None
|
self.handler = None
|
||||||
self._updates_lock = RLock()
|
self._loop = loop if loop else asyncio.get_event_loop()
|
||||||
self._updates = Queue()
|
|
||||||
|
|
||||||
# https://core.telegram.org/api/updates
|
# https://core.telegram.org/api/updates
|
||||||
self._state = tl.updates.State(0, 0, datetime.now(), 0, 0)
|
self._state = tl.updates.State(0, 0, datetime.now(), 0, 0)
|
||||||
|
|
||||||
def can_poll(self):
|
def handle_update(self, update):
|
||||||
"""Returns True if a call to .poll() won't lock"""
|
if self.handler:
|
||||||
return not self._updates.empty()
|
asyncio.ensure_future(self.handler(update), loop=self._loop)
|
||||||
|
|
||||||
def poll(self, timeout=None):
|
|
||||||
"""
|
|
||||||
Polls an update or blocks until an update object is available.
|
|
||||||
If 'timeout is not None', it should be a floating point value,
|
|
||||||
and the method will 'return None' if waiting times out.
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
return self._updates.get(timeout=timeout)
|
|
||||||
except Empty:
|
|
||||||
return None
|
|
||||||
|
|
||||||
def get_workers(self):
|
|
||||||
return self._workers
|
|
||||||
|
|
||||||
def set_workers(self, n):
|
|
||||||
"""Changes the number of workers running.
|
|
||||||
If 'n is None', clears all pending updates from memory.
|
|
||||||
"""
|
|
||||||
if n is None:
|
|
||||||
self.stop_workers()
|
|
||||||
else:
|
|
||||||
self._workers = n
|
|
||||||
self.setup_workers()
|
|
||||||
|
|
||||||
workers = property(fget=get_workers, fset=set_workers)
|
|
||||||
|
|
||||||
def stop_workers(self):
|
|
||||||
"""
|
|
||||||
Waits for all the worker threads to stop.
|
|
||||||
"""
|
|
||||||
# Put dummy ``None`` objects so that they don't need to timeout.
|
|
||||||
n = self._workers
|
|
||||||
self._workers = None
|
|
||||||
if n:
|
|
||||||
with self._updates_lock:
|
|
||||||
for _ in range(n):
|
|
||||||
self._updates.put(None)
|
|
||||||
|
|
||||||
for t in self._worker_threads:
|
|
||||||
t.join()
|
|
||||||
|
|
||||||
self._worker_threads.clear()
|
|
||||||
self._workers = n
|
|
||||||
|
|
||||||
def setup_workers(self):
|
|
||||||
if self._worker_threads or not self._workers:
|
|
||||||
# There already are workers, or workers is None or 0. Do nothing.
|
|
||||||
return
|
|
||||||
|
|
||||||
for i in range(self._workers):
|
|
||||||
thread = Thread(
|
|
||||||
target=UpdateState._worker_loop,
|
|
||||||
name='UpdateWorker{}'.format(i),
|
|
||||||
daemon=True,
|
|
||||||
args=(self, i)
|
|
||||||
)
|
|
||||||
self._worker_threads.append(thread)
|
|
||||||
thread.start()
|
|
||||||
|
|
||||||
def _worker_loop(self, wid):
|
|
||||||
while self._workers is not None:
|
|
||||||
try:
|
|
||||||
update = self.poll(timeout=UpdateState.WORKER_POLL_TIMEOUT)
|
|
||||||
if update and self.handler:
|
|
||||||
self.handler(update)
|
|
||||||
except StopIteration:
|
|
||||||
break
|
|
||||||
except:
|
|
||||||
# We don't want to crash a worker thread due to any reason
|
|
||||||
__log__.exception('Unhandled exception on worker %d', wid)
|
|
||||||
|
|
||||||
def process(self, update):
|
def process(self, update):
|
||||||
"""Processes an update object. This method is normally called by
|
"""Processes an update object. This method is normally called by
|
||||||
the library itself.
|
the library itself.
|
||||||
"""
|
"""
|
||||||
if self._workers is None:
|
|
||||||
return # No processing needs to be done if nobody's working
|
|
||||||
|
|
||||||
with self._updates_lock:
|
|
||||||
if isinstance(update, tl.updates.State):
|
if isinstance(update, tl.updates.State):
|
||||||
__log__.debug('Saved new updates state')
|
__log__.debug('Saved new updates state')
|
||||||
self._state = update
|
self._state = update
|
||||||
|
@ -128,23 +41,14 @@ class UpdateState:
|
||||||
# After running the script for over an hour and receiving over
|
# After running the script for over an hour and receiving over
|
||||||
# 1000 updates, the only duplicates received were users going
|
# 1000 updates, the only duplicates received were users going
|
||||||
# online or offline. We can trust the server until new reports.
|
# online or offline. We can trust the server until new reports.
|
||||||
#
|
|
||||||
# TODO Note somewhere that all updates are modified to include
|
|
||||||
# .entities, which is a dictionary you can access but may be empty.
|
|
||||||
# This should only be used as read-only.
|
|
||||||
if isinstance(update, tl.UpdateShort):
|
if isinstance(update, tl.UpdateShort):
|
||||||
update.update.entities = {}
|
self.handle_update(update.update)
|
||||||
self._updates.put(update.update)
|
|
||||||
# Expand "Updates" into "Update", and pass these to callbacks.
|
# Expand "Updates" into "Update", and pass these to callbacks.
|
||||||
# Since .users and .chats have already been processed, we
|
# Since .users and .chats have already been processed, we
|
||||||
# don't need to care about those either.
|
# don't need to care about those either.
|
||||||
elif isinstance(update, (tl.Updates, tl.UpdatesCombined)):
|
elif isinstance(update, (tl.Updates, tl.UpdatesCombined)):
|
||||||
entities = {utils.get_peer_id(x): x for x in
|
|
||||||
itertools.chain(update.users, update.chats)}
|
|
||||||
for u in update.updates:
|
for u in update.updates:
|
||||||
u.entities = entities
|
self.handle_update(u)
|
||||||
self._updates.put(u)
|
|
||||||
# TODO Handle "tl.UpdatesTooLong"
|
# TODO Handle "tl.UpdatesTooLong"
|
||||||
else:
|
else:
|
||||||
update.entities = {}
|
self.handle_update(update)
|
||||||
self._updates.put(update)
|
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
import logging
|
|
||||||
import pickle
|
|
||||||
import asyncio
|
|
||||||
from collections import deque
|
|
||||||
from datetime import datetime
|
|
||||||
|
|
||||||
from .tl import types as tl
|
|
||||||
|
|
||||||
__log__ = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
|
|
||||||
class UpdateState:
|
|
||||||
"""Used to hold the current state of processed updates.
|
|
||||||
To retrieve an update, .poll() should be called.
|
|
||||||
"""
|
|
||||||
WORKER_POLL_TIMEOUT = 5.0 # Avoid waiting forever on the workers
|
|
||||||
|
|
||||||
def __init__(self, loop=None):
|
|
||||||
self.handler = None
|
|
||||||
self._loop = loop if loop else asyncio.get_event_loop()
|
|
||||||
|
|
||||||
# https://core.telegram.org/api/updates
|
|
||||||
self._state = tl.updates.State(0, 0, datetime.now(), 0, 0)
|
|
||||||
|
|
||||||
def handle_update(self, update):
|
|
||||||
if self.handler:
|
|
||||||
asyncio.ensure_future(self.handler(update), loop=self._loop)
|
|
||||||
|
|
||||||
def process(self, update):
|
|
||||||
"""Processes an update object. This method is normally called by
|
|
||||||
the library itself.
|
|
||||||
"""
|
|
||||||
if isinstance(update, tl.updates.State):
|
|
||||||
__log__.debug('Saved new updates state')
|
|
||||||
self._state = update
|
|
||||||
return # Nothing else to be done
|
|
||||||
|
|
||||||
if hasattr(update, 'pts'):
|
|
||||||
self._state.pts = update.pts
|
|
||||||
|
|
||||||
# After running the script for over an hour and receiving over
|
|
||||||
# 1000 updates, the only duplicates received were users going
|
|
||||||
# online or offline. We can trust the server until new reports.
|
|
||||||
if isinstance(update, tl.UpdateShort):
|
|
||||||
self.handle_update(update.update)
|
|
||||||
# Expand "Updates" into "Update", and pass these to callbacks.
|
|
||||||
# Since .users and .chats have already been processed, we
|
|
||||||
# don't need to care about those either.
|
|
||||||
elif isinstance(update, (tl.Updates, tl.UpdatesCombined)):
|
|
||||||
for u in update.updates:
|
|
||||||
self.handle_update(u)
|
|
||||||
# TODO Handle "tl.UpdatesTooLong"
|
|
||||||
else:
|
|
||||||
self.handle_update(update)
|
|
|
@ -170,7 +170,7 @@ def generate_code(output, json_file, errors_desc):
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
if input('generate (y/n)?: ').lower() == 'y':
|
if input('generate (y/n)?: ').lower() == 'y':
|
||||||
generate_code('../telethon_aio/errors/rpc_error_list.py',
|
generate_code('../telethon/errors/rpc_error_list.py',
|
||||||
'errors.json', 'error_descriptions')
|
'errors.json', 'error_descriptions')
|
||||||
elif input('fetch (y/n)?: ').lower() == 'y':
|
elif input('fetch (y/n)?: ').lower() == 'y':
|
||||||
fetch_errors('errors.json')
|
fetch_errors('errors.json')
|
||||||
|
|
Loading…
Reference in New Issue
Block a user