def read(data: BytesIO, *args: Any) -> "DeleteFolder": # No flags folder_id = Int.read(data) return DeleteFolder(folder_id=folder_id)
def read(data: BytesIO, *args: Any) -> "ChannelFull": flags = Int.read(data) can_view_participants = True if flags & (1 << 3) else False can_set_username = True if flags & (1 << 6) else False can_set_stickers = True if flags & (1 << 7) else False hidden_prehistory = True if flags & (1 << 10) else False can_set_location = True if flags & (1 << 16) else False has_scheduled = True if flags & (1 << 19) else False can_view_stats = True if flags & (1 << 20) else False id = Int.read(data) about = String.read(data) participants_count = Int.read(data) if flags & (1 << 0) else None admins_count = Int.read(data) if flags & (1 << 1) else None kicked_count = Int.read(data) if flags & (1 << 2) else None banned_count = Int.read(data) if flags & (1 << 2) else None online_count = Int.read(data) if flags & (1 << 13) else None read_inbox_max_id = Int.read(data) read_outbox_max_id = Int.read(data) unread_count = Int.read(data) chat_photo = TLObject.read(data) notify_settings = TLObject.read(data) exported_invite = TLObject.read(data) bot_info = TLObject.read(data) migrated_from_chat_id = Int.read(data) if flags & (1 << 4) else None migrated_from_max_id = Int.read(data) if flags & (1 << 4) else None pinned_msg_id = Int.read(data) if flags & (1 << 5) else None stickerset = TLObject.read(data) if flags & (1 << 8) else None available_min_id = Int.read(data) if flags & (1 << 9) else None folder_id = Int.read(data) if flags & (1 << 11) else None linked_chat_id = Int.read(data) if flags & (1 << 14) else None location = TLObject.read(data) if flags & (1 << 15) else None slowmode_seconds = Int.read(data) if flags & (1 << 17) else None slowmode_next_send_date = Int.read(data) if flags & (1 << 18) else None stats_dc = Int.read(data) if flags & (1 << 12) else None pts = Int.read(data) return ChannelFull(id=id, about=about, read_inbox_max_id=read_inbox_max_id, read_outbox_max_id=read_outbox_max_id, unread_count=unread_count, chat_photo=chat_photo, notify_settings=notify_settings, exported_invite=exported_invite, bot_info=bot_info, pts=pts, can_view_participants=can_view_participants, can_set_username=can_set_username, can_set_stickers=can_set_stickers, hidden_prehistory=hidden_prehistory, can_set_location=can_set_location, has_scheduled=has_scheduled, can_view_stats=can_view_stats, participants_count=participants_count, admins_count=admins_count, kicked_count=kicked_count, banned_count=banned_count, online_count=online_count, migrated_from_chat_id=migrated_from_chat_id, migrated_from_max_id=migrated_from_max_id, pinned_msg_id=pinned_msg_id, stickerset=stickerset, available_min_id=available_min_id, folder_id=folder_id, linked_chat_id=linked_chat_id, location=location, slowmode_seconds=slowmode_seconds, slowmode_next_send_date=slowmode_next_send_date, stats_dc=stats_dc)
def read(data: BytesIO, *args: Any) -> "MessageActionChatDeleteUser": # No flags user_id = Int.read(data) return MessageActionChatDeleteUser(user_id=user_id)
def read(data: BytesIO, *args: Any) -> "DraftMessageEmpty": flags = Int.read(data) date = Int.read(data) if flags & (1 << 0) else None return DraftMessageEmpty(date=date)
def read(data: BytesIO, *args: Any) -> "SentCodeTypeApp": # No flags length = Int.read(data) return SentCodeTypeApp(length=length)
def write(self) -> bytes: data = BytesIO() data.write(Int(self.ID, False)) flags = 0 flags |= (1 << 1) if self.phonecalls_enabled else 0 flags |= (1 << 3) if self.default_p2p_contacts else 0 flags |= (1 << 4) if self.preload_featured_stickers else 0 flags |= (1 << 5) if self.ignore_phone_entities else 0 flags |= (1 << 6) if self.revoke_pm_inbox else 0 flags |= (1 << 8) if self.blocked_mode else 0 flags |= (1 << 13) if self.pfs_enabled else 0 flags |= (1 << 0) if self.tmp_sessions is not None else 0 flags |= (1 << 7) if self.autoupdate_url_prefix is not None else 0 flags |= (1 << 9) if self.gif_search_username is not None else 0 flags |= (1 << 10) if self.venue_search_username is not None else 0 flags |= (1 << 11) if self.img_search_username is not None else 0 flags |= (1 << 12) if self.static_maps_provider is not None else 0 flags |= (1 << 2) if self.suggested_lang_code is not None else 0 flags |= (1 << 2) if self.lang_pack_version is not None else 0 flags |= (1 << 2) if self.base_lang_pack_version is not None else 0 data.write(Int(flags)) data.write(Int(self.date)) data.write(Int(self.expires)) data.write(Bool(self.test_mode)) data.write(Int(self.this_dc)) data.write(Vector(self.dc_options)) data.write(String(self.dc_txt_domain_name)) data.write(Int(self.chat_size_max)) data.write(Int(self.megagroup_size_max)) data.write(Int(self.forwarded_count_max)) data.write(Int(self.online_update_period_ms)) data.write(Int(self.offline_blur_timeout_ms)) data.write(Int(self.offline_idle_timeout_ms)) data.write(Int(self.online_cloud_timeout_ms)) data.write(Int(self.notify_cloud_delay_ms)) data.write(Int(self.notify_default_delay_ms)) data.write(Int(self.push_chat_period_ms)) data.write(Int(self.push_chat_limit)) data.write(Int(self.saved_gifs_limit)) data.write(Int(self.edit_time_limit)) data.write(Int(self.revoke_time_limit)) data.write(Int(self.revoke_pm_time_limit)) data.write(Int(self.rating_e_decay)) data.write(Int(self.stickers_recent_limit)) data.write(Int(self.stickers_faved_limit)) data.write(Int(self.channels_read_media_period)) if self.tmp_sessions is not None: data.write(Int(self.tmp_sessions)) data.write(Int(self.pinned_dialogs_count_max)) data.write(Int(self.pinned_infolder_count_max)) data.write(Int(self.call_receive_timeout_ms)) data.write(Int(self.call_ring_timeout_ms)) data.write(Int(self.call_connect_timeout_ms)) data.write(Int(self.call_packet_timeout_ms)) data.write(String(self.me_url_prefix)) if self.autoupdate_url_prefix is not None: data.write(String(self.autoupdate_url_prefix)) if self.gif_search_username is not None: data.write(String(self.gif_search_username)) if self.venue_search_username is not None: data.write(String(self.venue_search_username)) if self.img_search_username is not None: data.write(String(self.img_search_username)) if self.static_maps_provider is not None: data.write(String(self.static_maps_provider)) data.write(Int(self.caption_length_max)) data.write(Int(self.message_length_max)) data.write(Int(self.webfile_dc_id)) if self.suggested_lang_code is not None: data.write(String(self.suggested_lang_code)) if self.lang_pack_version is not None: data.write(Int(self.lang_pack_version)) if self.base_lang_pack_version is not None: data.write(Int(self.base_lang_pack_version)) return data.getvalue()
def read(data: BytesIO, *args: Any) -> "ChatEmpty": # No flags id = Int.read(data) return ChatEmpty(id=id)
def read(data: BytesIO, *args: Any) -> "PeerSelfLocated": # No flags expires = Int.read(data) return PeerSelfLocated(expires=expires)
def read(data: BytesIO, *args: Any) -> "GetFutureSalts": # No flags num = Int.read(data) return GetFutureSalts(num=num)
def read(data: BytesIO, *args: Any) -> "GetWallPapers": # No flags hash = Int.read(data) return GetWallPapers(hash=hash)
def read(data: BytesIO, *args: Any) -> "SendMessageHistoryImportAction": # No flags progress = Int.read(data) return SendMessageHistoryImportAction(progress=progress)
def read(data: BytesIO, *args: Any) -> "FeaturedStickersNotModified": # No flags count = Int.read(data) return FeaturedStickersNotModified(count=count)
def read(data: BytesIO, *args: Any) -> "PeerUser": # No flags user_id = Int.read(data) return PeerUser(user_id=user_id)
def read(data: BytesIO, *args: Any) -> "GetContacts": # No flags hash = Int.read(data) return GetContacts(hash=hash)
def read(data: BytesIO, *args: Any) -> "InputMessagesFilterPhoneCalls": flags = Int.read(data) missed = True if flags & (1 << 0) else False return InputMessagesFilterPhoneCalls(missed=missed)
def read(data: BytesIO, *args: Any) -> "PromoDataEmpty": # No flags expires = Int.read(data) return PromoDataEmpty(expires=expires)
def read(data: BytesIO, *args: Any) -> "Config": flags = Int.read(data) phonecalls_enabled = True if flags & (1 << 1) else False default_p2p_contacts = True if flags & (1 << 3) else False preload_featured_stickers = True if flags & (1 << 4) else False ignore_phone_entities = True if flags & (1 << 5) else False revoke_pm_inbox = True if flags & (1 << 6) else False blocked_mode = True if flags & (1 << 8) else False pfs_enabled = True if flags & (1 << 13) else False date = Int.read(data) expires = Int.read(data) test_mode = Bool.read(data) this_dc = Int.read(data) dc_options = TLObject.read(data) dc_txt_domain_name = String.read(data) chat_size_max = Int.read(data) megagroup_size_max = Int.read(data) forwarded_count_max = Int.read(data) online_update_period_ms = Int.read(data) offline_blur_timeout_ms = Int.read(data) offline_idle_timeout_ms = Int.read(data) online_cloud_timeout_ms = Int.read(data) notify_cloud_delay_ms = Int.read(data) notify_default_delay_ms = Int.read(data) push_chat_period_ms = Int.read(data) push_chat_limit = Int.read(data) saved_gifs_limit = Int.read(data) edit_time_limit = Int.read(data) revoke_time_limit = Int.read(data) revoke_pm_time_limit = Int.read(data) rating_e_decay = Int.read(data) stickers_recent_limit = Int.read(data) stickers_faved_limit = Int.read(data) channels_read_media_period = Int.read(data) tmp_sessions = Int.read(data) if flags & (1 << 0) else None pinned_dialogs_count_max = Int.read(data) pinned_infolder_count_max = Int.read(data) call_receive_timeout_ms = Int.read(data) call_ring_timeout_ms = Int.read(data) call_connect_timeout_ms = Int.read(data) call_packet_timeout_ms = Int.read(data) me_url_prefix = String.read(data) autoupdate_url_prefix = String.read(data) if flags & (1 << 7) else None gif_search_username = String.read(data) if flags & (1 << 9) else None venue_search_username = String.read( data) if flags & (1 << 10) else None img_search_username = String.read(data) if flags & (1 << 11) else None static_maps_provider = String.read(data) if flags & (1 << 12) else None caption_length_max = Int.read(data) message_length_max = Int.read(data) webfile_dc_id = Int.read(data) suggested_lang_code = String.read(data) if flags & (1 << 2) else None lang_pack_version = Int.read(data) if flags & (1 << 2) else None base_lang_pack_version = Int.read(data) if flags & (1 << 2) else None return Config(date=date, expires=expires, test_mode=test_mode, this_dc=this_dc, dc_options=dc_options, dc_txt_domain_name=dc_txt_domain_name, chat_size_max=chat_size_max, megagroup_size_max=megagroup_size_max, forwarded_count_max=forwarded_count_max, online_update_period_ms=online_update_period_ms, offline_blur_timeout_ms=offline_blur_timeout_ms, offline_idle_timeout_ms=offline_idle_timeout_ms, online_cloud_timeout_ms=online_cloud_timeout_ms, notify_cloud_delay_ms=notify_cloud_delay_ms, notify_default_delay_ms=notify_default_delay_ms, push_chat_period_ms=push_chat_period_ms, push_chat_limit=push_chat_limit, saved_gifs_limit=saved_gifs_limit, edit_time_limit=edit_time_limit, revoke_time_limit=revoke_time_limit, revoke_pm_time_limit=revoke_pm_time_limit, rating_e_decay=rating_e_decay, stickers_recent_limit=stickers_recent_limit, stickers_faved_limit=stickers_faved_limit, channels_read_media_period=channels_read_media_period, pinned_dialogs_count_max=pinned_dialogs_count_max, pinned_infolder_count_max=pinned_infolder_count_max, call_receive_timeout_ms=call_receive_timeout_ms, call_ring_timeout_ms=call_ring_timeout_ms, call_connect_timeout_ms=call_connect_timeout_ms, call_packet_timeout_ms=call_packet_timeout_ms, me_url_prefix=me_url_prefix, caption_length_max=caption_length_max, message_length_max=message_length_max, webfile_dc_id=webfile_dc_id, phonecalls_enabled=phonecalls_enabled, default_p2p_contacts=default_p2p_contacts, preload_featured_stickers=preload_featured_stickers, ignore_phone_entities=ignore_phone_entities, revoke_pm_inbox=revoke_pm_inbox, blocked_mode=blocked_mode, pfs_enabled=pfs_enabled, tmp_sessions=tmp_sessions, autoupdate_url_prefix=autoupdate_url_prefix, gif_search_username=gif_search_username, venue_search_username=venue_search_username, img_search_username=img_search_username, static_maps_provider=static_maps_provider, suggested_lang_code=suggested_lang_code, lang_pack_version=lang_pack_version, base_lang_pack_version=base_lang_pack_version)
def read(data: BytesIO, *args: Any) -> "DialogPeerFolder": # No flags folder_id = Int.read(data) return DialogPeerFolder(folder_id=folder_id)
def read(data: BytesIO, *args: Any) -> "AccountDaysTTL": # No flags days = Int.read(data) return AccountDaysTTL(days=days)
def read(data: BytesIO, *args: Any) -> "PeerChat": # No flags chat_id = Int.read(data) return PeerChat(chat_id=chat_id)
def read(data: BytesIO, *args: Any) -> "GetPinnedDialogs": # No flags folder_id = Int.read(data) return GetPinnedDialogs(folder_id=folder_id)
def write(self) -> bytes: data = BytesIO() data.write(Int(self.ID, False)) flags = 0 flags |= (1 << 0) if self.from_id is not None else 0 flags |= (1 << 1) if self.top_msg_id is not None else 0 data.write(Int(flags)) data.write(self.peer.write()) data.write(String(self.q)) if self.from_id is not None: data.write(self.from_id.write()) if self.top_msg_id is not None: data.write(Int(self.top_msg_id)) data.write(self.filter.write()) data.write(Int(self.min_date)) data.write(Int(self.max_date)) data.write(Int(self.offset_id)) data.write(Int(self.add_offset)) data.write(Int(self.limit)) data.write(Int(self.max_id)) data.write(Int(self.min_id)) data.write(Int(self.hash)) return data.getvalue()
def read(data: BytesIO, *args: Any) -> "GetPassportConfig": # No flags hash = Int.read(data) return GetPassportConfig(hash=hash)
def read(data: BytesIO, *args: Any) -> "MessageActionChatMigrateTo": # No flags channel_id = Int.read(data) return MessageActionChatMigrateTo(channel_id=channel_id)
def read(data: BytesIO, *args: Any) -> "SendMessageUploadVideoAction": # No flags progress = Int.read(data) return SendMessageUploadVideoAction(progress=progress)
def read(data: BytesIO, *args: Any) -> "WebPageNotModified": flags = Int.read(data) cached_page_views = Int.read(data) if flags & (1 << 0) else None return WebPageNotModified(cached_page_views=cached_page_views)
def write(self) -> bytes: data = BytesIO() data.write(Int(self.ID, False)) flags = 0 flags |= (1 << 3) if self.can_view_participants is not None else 0 flags |= (1 << 6) if self.can_set_username is not None else 0 flags |= (1 << 7) if self.can_set_stickers is not None else 0 flags |= (1 << 10) if self.hidden_prehistory is not None else 0 flags |= (1 << 16) if self.can_set_location is not None else 0 flags |= (1 << 19) if self.has_scheduled is not None else 0 flags |= (1 << 20) if self.can_view_stats is not None else 0 flags |= (1 << 0) if self.participants_count is not None else 0 flags |= (1 << 1) if self.admins_count is not None else 0 flags |= (1 << 2) if self.kicked_count is not None else 0 flags |= (1 << 2) if self.banned_count is not None else 0 flags |= (1 << 13) if self.online_count is not None else 0 flags |= (1 << 4) if self.migrated_from_chat_id is not None else 0 flags |= (1 << 4) if self.migrated_from_max_id is not None else 0 flags |= (1 << 5) if self.pinned_msg_id is not None else 0 flags |= (1 << 8) if self.stickerset is not None else 0 flags |= (1 << 9) if self.available_min_id is not None else 0 flags |= (1 << 11) if self.folder_id is not None else 0 flags |= (1 << 14) if self.linked_chat_id is not None else 0 flags |= (1 << 15) if self.location is not None else 0 flags |= (1 << 17) if self.slowmode_seconds is not None else 0 flags |= (1 << 18) if self.slowmode_next_send_date is not None else 0 flags |= (1 << 12) if self.stats_dc is not None else 0 data.write(Int(flags)) data.write(Int(self.id)) data.write(String(self.about)) if self.participants_count is not None: data.write(Int(self.participants_count)) if self.admins_count is not None: data.write(Int(self.admins_count)) if self.kicked_count is not None: data.write(Int(self.kicked_count)) if self.banned_count is not None: data.write(Int(self.banned_count)) if self.online_count is not None: data.write(Int(self.online_count)) data.write(Int(self.read_inbox_max_id)) data.write(Int(self.read_outbox_max_id)) data.write(Int(self.unread_count)) data.write(self.chat_photo.write()) data.write(self.notify_settings.write()) data.write(self.exported_invite.write()) data.write(Vector(self.bot_info)) if self.migrated_from_chat_id is not None: data.write(Int(self.migrated_from_chat_id)) if self.migrated_from_max_id is not None: data.write(Int(self.migrated_from_max_id)) if self.pinned_msg_id is not None: data.write(Int(self.pinned_msg_id)) if self.stickerset is not None: data.write(self.stickerset.write()) if self.available_min_id is not None: data.write(Int(self.available_min_id)) if self.folder_id is not None: data.write(Int(self.folder_id)) if self.linked_chat_id is not None: data.write(Int(self.linked_chat_id)) if self.location is not None: data.write(self.location.write()) if self.slowmode_seconds is not None: data.write(Int(self.slowmode_seconds)) if self.slowmode_next_send_date is not None: data.write(Int(self.slowmode_next_send_date)) if self.stats_dc is not None: data.write(Int(self.stats_dc)) data.write(Int(self.pts)) return data.getvalue()
def read(data: BytesIO, *args: Any) -> "ClearRecentStickers": flags = Int.read(data) attached = True if flags & (1 << 0) else False return ClearRecentStickers(attached=attached)
def read(data: BytesIO, *args: Any) -> "InputMessageReplyTo": # No flags id = Int.read(data) return InputMessageReplyTo(id=id)
def write(self) -> bytes: data = BytesIO() data.write(Int(self.ID, False)) flags = 0 flags |= (1 << 0) if self.type is not None else 0 flags |= (1 << 1) if self.site_name is not None else 0 flags |= (1 << 2) if self.title is not None else 0 flags |= (1 << 3) if self.description is not None else 0 flags |= (1 << 4) if self.photo is not None else 0 flags |= (1 << 5) if self.embed_url is not None else 0 flags |= (1 << 5) if self.embed_type is not None else 0 flags |= (1 << 6) if self.embed_width is not None else 0 flags |= (1 << 6) if self.embed_height is not None else 0 flags |= (1 << 7) if self.duration is not None else 0 flags |= (1 << 8) if self.author is not None else 0 flags |= (1 << 9) if self.document is not None else 0 flags |= (1 << 10) if self.cached_page is not None else 0 flags |= (1 << 12) if self.attributes is not None else 0 data.write(Int(flags)) data.write(Long(self.id)) data.write(String(self.url)) data.write(String(self.display_url)) data.write(Int(self.hash)) if self.type is not None: data.write(String(self.type)) if self.site_name is not None: data.write(String(self.site_name)) if self.title is not None: data.write(String(self.title)) if self.description is not None: data.write(String(self.description)) if self.photo is not None: data.write(self.photo.write()) if self.embed_url is not None: data.write(String(self.embed_url)) if self.embed_type is not None: data.write(String(self.embed_type)) if self.embed_width is not None: data.write(Int(self.embed_width)) if self.embed_height is not None: data.write(Int(self.embed_height)) if self.duration is not None: data.write(Int(self.duration)) if self.author is not None: data.write(String(self.author)) if self.document is not None: data.write(self.document.write()) if self.cached_page is not None: data.write(self.cached_page.write()) if self.attributes is not None: data.write(Vector(self.attributes)) return data.getvalue()