コード例 #1
0
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        flags = 0
        flags |= (1 << 7) if self.can_set_username else 0
        flags |= (1 << 8) if self.has_scheduled else 0
        flags |= (1 << 2) if self.chat_photo is not None else 0
        flags |= (1 << 3) if self.bot_info is not None else 0
        flags |= (1 << 6) if self.pinned_msg_id is not None else 0
        flags |= (1 << 11) if self.folder_id is not None else 0
        flags |= (1 << 12) if self.call is not None else 0
        data.write(Int(flags))

        data.write(Int(self.id))

        data.write(String(self.about))

        data.write(self.participants.write())

        if self.chat_photo is not None:
            data.write(self.chat_photo.write())

        data.write(self.notify_settings.write())

        data.write(self.exported_invite.write())

        if self.bot_info is not None:
            data.write(Vector(self.bot_info))

        if self.pinned_msg_id is not None:
            data.write(Int(self.pinned_msg_id))

        if self.folder_id is not None:
            data.write(Int(self.folder_id))

        if self.call is not None:
            data.write(self.call.write())

        return data.getvalue()
コード例 #2
0
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        flags = 0
        flags |= (1 << 0) if self.masks else 0
        flags |= (1 << 1) if self.animated else 0
        flags |= (1 << 2) if self.thumb is not None else 0
        data.write(Int(flags))

        data.write(self.user_id.write())

        data.write(String(self.title))

        data.write(String(self.short_name))

        if self.thumb is not None:
            data.write(self.thumb.write())

        data.write(Vector(self.stickers))

        return data.getvalue()
コード例 #3
0
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        flags = 0
        flags |= (1 << 0) if self.channel is not None else 0
        flags |= (1 << 1) if self.broadcast is not None else 0
        flags |= (1 << 2) if self.public is not None else 0
        flags |= (1 << 3) if self.megagroup is not None else 0
        flags |= (1 << 4) if self.participants is not None else 0
        data.write(Int(flags))
        
        data.write(String(self.title))
        
        data.write(self.photo.write())
        
        data.write(Int(self.participants_count))
        
        if self.participants is not None:
            data.write(Vector(self.participants))
        
        return data.getvalue()
コード例 #4
0
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        flags = 0
        flags |= (1 << 5) if self.silent else 0
        flags |= (1 << 6) if self.background else 0
        flags |= (1 << 7) if self.clear_draft else 0
        flags |= (1 << 0) if self.reply_to_msg_id is not None else 0
        flags |= (1 << 10) if self.schedule_date is not None else 0
        data.write(Int(flags))
        
        data.write(self.peer.write())
        
        if self.reply_to_msg_id is not None:
            data.write(Int(self.reply_to_msg_id))
        
        data.write(Vector(self.multi_media))
        
        if self.schedule_date is not None:
            data.write(Int(self.schedule_date))
        
        return data.getvalue()
コード例 #5
0
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        # No flags

        data.write(self.period.write())

        data.write(self.followers.write())

        data.write(self.views_per_post.write())

        data.write(self.shares_per_post.write())

        data.write(self.enabled_notifications.write())

        data.write(self.growth_graph.write())

        data.write(self.followers_graph.write())

        data.write(self.mute_graph.write())

        data.write(self.top_hours_graph.write())

        data.write(self.interactions_graph.write())

        data.write(self.iv_interactions_graph.write())

        data.write(self.views_by_source_graph.write())

        data.write(self.new_followers_by_source_graph.write())

        data.write(self.languages_graph.write())

        data.write(Vector(self.recent_message_interactions))

        return data.getvalue()
コード例 #6
0
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        flags = 0
        flags |= (1 << 2) if self.can_save_credentials is not None else 0
        flags |= (1 << 3) if self.password_missing is not None else 0
        flags |= (1 << 4) if self.native_provider is not None else 0
        flags |= (1 << 4) if self.native_params is not None else 0
        flags |= (1 << 0) if self.saved_info is not None else 0
        flags |= (1 << 1) if self.saved_credentials is not None else 0
        data.write(Int(flags))

        data.write(Int(self.bot_id))

        data.write(self.invoice.write())

        data.write(Int(self.provider_id))

        data.write(String(self.url))

        if self.native_provider is not None:
            data.write(String(self.native_provider))

        if self.native_params is not None:
            data.write(self.native_params.write())

        if self.saved_info is not None:
            data.write(self.saved_info.write())

        if self.saved_credentials is not None:
            data.write(self.saved_credentials.write())

        data.write(Vector(self.users))

        return data.getvalue()
コード例 #7
0
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        flags = 0
        flags |= (1 << 0) if self.gallery is not None else 0
        flags |= (1 << 1) if self.private is not None else 0
        flags |= (1 << 2) if self.next_offset is not None else 0
        flags |= (1 << 3) if self.switch_pm is not None else 0
        data.write(Int(flags))

        data.write(Long(self.query_id))

        data.write(Vector(self.results))

        data.write(Int(self.cache_time))

        if self.next_offset is not None:
            data.write(String(self.next_offset))

        if self.switch_pm is not None:
            data.write(self.switch_pm.write())

        return data.getvalue()
コード例 #8
0
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        flags = 0
        flags |= (1 << 1) if self.archived else 0
        flags |= (1 << 2) if self.official else 0
        flags |= (1 << 3) if self.masks else 0
        flags |= (1 << 5) if self.animated else 0
        flags |= (1 << 0) if self.installed_date is not None else 0
        flags |= (1 << 4) if self.thumbs is not None else 0
        flags |= (1 << 4) if self.thumb_dc_id is not None else 0
        data.write(Int(flags))

        if self.installed_date is not None:
            data.write(Int(self.installed_date))

        data.write(Long(self.id))

        data.write(Long(self.access_hash))

        data.write(String(self.title))

        data.write(String(self.short_name))

        if self.thumbs is not None:
            data.write(Vector(self.thumbs))

        if self.thumb_dc_id is not None:
            data.write(Int(self.thumb_dc_id))

        data.write(Int(self.count))

        data.write(Int(self.hash))

        return data.getvalue()
コード例 #9
0
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        flags = 0
        flags |= (1 << 0) if self.creator else 0
        flags |= (1 << 2) if self.left else 0
        flags |= (1 << 5) if self.broadcast else 0
        flags |= (1 << 7) if self.verified else 0
        flags |= (1 << 8) if self.megagroup else 0
        flags |= (1 << 9) if self.restricted else 0
        flags |= (1 << 11) if self.signatures else 0
        flags |= (1 << 12) if self.min else 0
        flags |= (1 << 19) if self.scam else 0
        flags |= (1 << 20) if self.has_link else 0
        flags |= (1 << 21) if self.has_geo else 0
        flags |= (1 << 22) if self.slowmode_enabled else 0
        flags |= (1 << 23) if self.call_active else 0
        flags |= (1 << 24) if self.call_not_empty else 0
        flags |= (1 << 25) if self.fake else 0
        flags |= (1 << 13) if self.access_hash is not None else 0
        flags |= (1 << 6) if self.username is not None else 0
        flags |= (1 << 9) if self.restriction_reason is not None else 0
        flags |= (1 << 14) if self.admin_rights is not None else 0
        flags |= (1 << 15) if self.banned_rights is not None else 0
        flags |= (1 << 18) if self.default_banned_rights is not None else 0
        flags |= (1 << 17) if self.participants_count is not None else 0
        data.write(Int(flags))

        data.write(Int(self.id))

        if self.access_hash is not None:
            data.write(Long(self.access_hash))

        data.write(String(self.title))

        if self.username is not None:
            data.write(String(self.username))

        data.write(self.photo.write())

        data.write(Int(self.date))

        data.write(Int(self.version))

        if self.restriction_reason is not None:
            data.write(Vector(self.restriction_reason))

        if self.admin_rights is not None:
            data.write(self.admin_rights.write())

        if self.banned_rights is not None:
            data.write(self.banned_rights.write())

        if self.default_banned_rights is not None:
            data.write(self.default_banned_rights.write())

        if self.participants_count is not None:
            data.write(Int(self.participants_count))

        return data.getvalue()
コード例 #10
0
ファイル: web_page.py プロジェクト: immmdreza/LearningProject
    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()
コード例 #11
0
ファイル: message.py プロジェクト: nclsbayona/Pyrogram-Trial
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        flags = 0
        flags |= (1 << 1) if self.out else 0
        flags |= (1 << 4) if self.mentioned else 0
        flags |= (1 << 5) if self.media_unread else 0
        flags |= (1 << 13) if self.silent else 0
        flags |= (1 << 14) if self.post else 0
        flags |= (1 << 18) if self.from_scheduled else 0
        flags |= (1 << 19) if self.legacy else 0
        flags |= (1 << 21) if self.edit_hide else 0
        flags |= (1 << 24) if self.pinned else 0
        flags |= (1 << 8) if self.from_id is not None else 0
        flags |= (1 << 2) if self.fwd_from is not None else 0
        flags |= (1 << 11) if self.via_bot_id is not None else 0
        flags |= (1 << 3) if self.reply_to is not None else 0
        flags |= (1 << 9) if self.media is not None else 0
        flags |= (1 << 6) if self.reply_markup is not None else 0
        flags |= (1 << 7) if self.entities is not None else 0
        flags |= (1 << 10) if self.views is not None else 0
        flags |= (1 << 10) if self.forwards is not None else 0
        flags |= (1 << 23) if self.replies is not None else 0
        flags |= (1 << 15) if self.edit_date is not None else 0
        flags |= (1 << 16) if self.post_author is not None else 0
        flags |= (1 << 17) if self.grouped_id is not None else 0
        flags |= (1 << 22) if self.restriction_reason is not None else 0
        flags |= (1 << 25) if self.ttl_period is not None else 0
        data.write(Int(flags))

        data.write(Int(self.id))

        if self.from_id is not None:
            data.write(self.from_id.write())

        data.write(self.peer_id.write())

        if self.fwd_from is not None:
            data.write(self.fwd_from.write())

        if self.via_bot_id is not None:
            data.write(Int(self.via_bot_id))

        if self.reply_to is not None:
            data.write(self.reply_to.write())

        data.write(Int(self.date))

        data.write(String(self.message))

        if self.media is not None:
            data.write(self.media.write())

        if self.reply_markup is not None:
            data.write(self.reply_markup.write())

        if self.entities is not None:
            data.write(Vector(self.entities))

        if self.views is not None:
            data.write(Int(self.views))

        if self.forwards is not None:
            data.write(Int(self.forwards))

        if self.replies is not None:
            data.write(self.replies.write())

        if self.edit_date is not None:
            data.write(Int(self.edit_date))

        if self.post_author is not None:
            data.write(String(self.post_author))

        if self.grouped_id is not None:
            data.write(Long(self.grouped_id))

        if self.restriction_reason is not None:
            data.write(Vector(self.restriction_reason))

        if self.ttl_period is not None:
            data.write(Int(self.ttl_period))

        return data.getvalue()
コード例 #12
0
ファイル: user.py プロジェクト: immmdreza/LearningProject
    def write(self) -> bytes:
        data = BytesIO()
        data.write(Int(self.ID, False))

        flags = 0
        flags |= (1 << 10) if self.is_self is not None else 0
        flags |= (1 << 11) if self.contact is not None else 0
        flags |= (1 << 12) if self.mutual_contact is not None else 0
        flags |= (1 << 13) if self.deleted is not None else 0
        flags |= (1 << 14) if self.bot is not None else 0
        flags |= (1 << 15) if self.bot_chat_history is not None else 0
        flags |= (1 << 16) if self.bot_nochats is not None else 0
        flags |= (1 << 17) if self.verified is not None else 0
        flags |= (1 << 18) if self.restricted is not None else 0
        flags |= (1 << 20) if self.min is not None else 0
        flags |= (1 << 21) if self.bot_inline_geo is not None else 0
        flags |= (1 << 23) if self.support is not None else 0
        flags |= (1 << 24) if self.scam is not None else 0
        flags |= (1 << 25) if self.apply_min_photo is not None else 0
        flags |= (1 << 0) if self.access_hash is not None else 0
        flags |= (1 << 1) if self.first_name is not None else 0
        flags |= (1 << 2) if self.last_name is not None else 0
        flags |= (1 << 3) if self.username is not None else 0
        flags |= (1 << 4) if self.phone is not None else 0
        flags |= (1 << 5) if self.photo is not None else 0
        flags |= (1 << 6) if self.status is not None else 0
        flags |= (1 << 14) if self.bot_info_version is not None else 0
        flags |= (1 << 18) if self.restriction_reason is not None else 0
        flags |= (1 << 19) if self.bot_inline_placeholder is not None else 0
        flags |= (1 << 22) if self.lang_code is not None else 0
        data.write(Int(flags))

        data.write(Int(self.id))

        if self.access_hash is not None:
            data.write(Long(self.access_hash))

        if self.first_name is not None:
            data.write(String(self.first_name))

        if self.last_name is not None:
            data.write(String(self.last_name))

        if self.username is not None:
            data.write(String(self.username))

        if self.phone is not None:
            data.write(String(self.phone))

        if self.photo is not None:
            data.write(self.photo.write())

        if self.status is not None:
            data.write(self.status.write())

        if self.bot_info_version is not None:
            data.write(Int(self.bot_info_version))

        if self.restriction_reason is not None:
            data.write(Vector(self.restriction_reason))

        if self.bot_inline_placeholder is not None:
            data.write(String(self.bot_inline_placeholder))

        if self.lang_code is not None:
            data.write(String(self.lang_code))

        return data.getvalue()
コード例 #13
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()
コード例 #14
0
    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()