def read(data: BytesIO, *args: Any) -> "DeleteFolder":
        # No flags

        folder_id = Int.read(data)

        return DeleteFolder(folder_id=folder_id)
示例#2
0
    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)
示例#5
0
    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()
示例#7
0
 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)
示例#10
0
    def read(data: BytesIO, *args: Any) -> "GetWallPapers":
        # No flags

        hash = Int.read(data)

        return GetWallPapers(hash=hash)
示例#11
0
 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)
示例#14
0
    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)
示例#18
0
    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)
示例#20
0
    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)
示例#27
0
    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)
示例#30
0
    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()