Update layer to 160.
This commit is contained in:
parent
76e2ff1140
commit
030e440757
@ -63,6 +63,7 @@ inputMediaInvoice#8eb5a6d5 flags:# title:string description:string photo:flags.0
|
|||||||
inputMediaGeoLive#971fa843 flags:# stopped:flags.0?true geo_point:InputGeoPoint heading:flags.2?int period:flags.1?int proximity_notification_radius:flags.3?int = InputMedia;
|
inputMediaGeoLive#971fa843 flags:# stopped:flags.0?true geo_point:InputGeoPoint heading:flags.2?int period:flags.1?int proximity_notification_radius:flags.3?int = InputMedia;
|
||||||
inputMediaPoll#f94e5f1 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> solution:flags.1?string solution_entities:flags.1?Vector<MessageEntity> = InputMedia;
|
inputMediaPoll#f94e5f1 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> solution:flags.1?string solution_entities:flags.1?Vector<MessageEntity> = InputMedia;
|
||||||
inputMediaDice#e66fbf7b emoticon:string = InputMedia;
|
inputMediaDice#e66fbf7b emoticon:string = InputMedia;
|
||||||
|
inputMediaStory#9a86b58f user_id:InputUser id:int = InputMedia;
|
||||||
|
|
||||||
inputChatPhotoEmpty#1ca48f57 = InputChatPhoto;
|
inputChatPhotoEmpty#1ca48f57 = InputChatPhoto;
|
||||||
inputChatUploadedPhoto#bdcdaec0 flags:# file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double video_emoji_markup:flags.3?VideoSize = InputChatPhoto;
|
inputChatUploadedPhoto#bdcdaec0 flags:# file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double video_emoji_markup:flags.3?VideoSize = InputChatPhoto;
|
||||||
@ -101,7 +102,7 @@ storage.fileMp4#b3cea0e4 = storage.FileType;
|
|||||||
storage.fileWebp#1081464c = storage.FileType;
|
storage.fileWebp#1081464c = storage.FileType;
|
||||||
|
|
||||||
userEmpty#d3bc4b7a id:long = User;
|
userEmpty#d3bc4b7a id:long = User;
|
||||||
user#8f97c628 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> = User;
|
user#abb5f120 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?int = User;
|
||||||
|
|
||||||
userProfilePhotoEmpty#4f11bae1 = UserProfilePhoto;
|
userProfilePhotoEmpty#4f11bae1 = UserProfilePhoto;
|
||||||
userProfilePhoto#82d1f706 flags:# has_video:flags.0?true personal:flags.2?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = UserProfilePhoto;
|
userProfilePhoto#82d1f706 flags:# has_video:flags.0?true personal:flags.2?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = UserProfilePhoto;
|
||||||
@ -141,7 +142,7 @@ messageMediaPhoto#695150d7 flags:# spoiler:flags.3?true photo:flags.0?Photo ttl_
|
|||||||
messageMediaGeo#56e0d474 geo:GeoPoint = MessageMedia;
|
messageMediaGeo#56e0d474 geo:GeoPoint = MessageMedia;
|
||||||
messageMediaContact#70322949 phone_number:string first_name:string last_name:string vcard:string user_id:long = MessageMedia;
|
messageMediaContact#70322949 phone_number:string first_name:string last_name:string vcard:string user_id:long = MessageMedia;
|
||||||
messageMediaUnsupported#9f84f49e = MessageMedia;
|
messageMediaUnsupported#9f84f49e = MessageMedia;
|
||||||
messageMediaDocument#9cb070d7 flags:# nopremium:flags.3?true spoiler:flags.4?true document:flags.0?Document ttl_seconds:flags.2?int = MessageMedia;
|
messageMediaDocument#4cf4d72d flags:# nopremium:flags.3?true spoiler:flags.4?true document:flags.0?Document alt_document:flags.5?Document ttl_seconds:flags.2?int = MessageMedia;
|
||||||
messageMediaWebPage#a32dd600 webpage:WebPage = MessageMedia;
|
messageMediaWebPage#a32dd600 webpage:WebPage = MessageMedia;
|
||||||
messageMediaVenue#2ec0533f geo:GeoPoint title:string address:string provider:string venue_id:string venue_type:string = MessageMedia;
|
messageMediaVenue#2ec0533f geo:GeoPoint title:string address:string provider:string venue_id:string venue_type:string = MessageMedia;
|
||||||
messageMediaGame#fdb19008 game:Game = MessageMedia;
|
messageMediaGame#fdb19008 game:Game = MessageMedia;
|
||||||
@ -149,6 +150,7 @@ messageMediaInvoice#f6a548d3 flags:# shipping_address_requested:flags.1?true tes
|
|||||||
messageMediaGeoLive#b940c666 flags:# geo:GeoPoint heading:flags.0?int period:int proximity_notification_radius:flags.1?int = MessageMedia;
|
messageMediaGeoLive#b940c666 flags:# geo:GeoPoint heading:flags.0?int period:int proximity_notification_radius:flags.1?int = MessageMedia;
|
||||||
messageMediaPoll#4bd6e798 poll:Poll results:PollResults = MessageMedia;
|
messageMediaPoll#4bd6e798 poll:Poll results:PollResults = MessageMedia;
|
||||||
messageMediaDice#3f7ee58b value:int emoticon:string = MessageMedia;
|
messageMediaDice#3f7ee58b value:int emoticon:string = MessageMedia;
|
||||||
|
messageMediaStory#cbb20d88 flags:# via_mention:flags.1?true user_id:long id:int story:flags.0?StoryItem = MessageMedia;
|
||||||
|
|
||||||
messageActionEmpty#b6aef7b0 = MessageAction;
|
messageActionEmpty#b6aef7b0 = MessageAction;
|
||||||
messageActionChatCreate#bd47cbad title:string users:Vector<long> = MessageAction;
|
messageActionChatCreate#bd47cbad title:string users:Vector<long> = MessageAction;
|
||||||
@ -220,9 +222,9 @@ inputNotifyChats#4a95e84e = InputNotifyPeer;
|
|||||||
inputNotifyBroadcasts#b1db7c7e = InputNotifyPeer;
|
inputNotifyBroadcasts#b1db7c7e = InputNotifyPeer;
|
||||||
inputNotifyForumTopic#5c467992 peer:InputPeer top_msg_id:int = InputNotifyPeer;
|
inputNotifyForumTopic#5c467992 peer:InputPeer top_msg_id:int = InputNotifyPeer;
|
||||||
|
|
||||||
inputPeerNotifySettings#df1f002b flags:# show_previews:flags.0?Bool silent:flags.1?Bool mute_until:flags.2?int sound:flags.3?NotificationSound = InputPeerNotifySettings;
|
inputPeerNotifySettings#cacb6ae2 flags:# show_previews:flags.0?Bool silent:flags.1?Bool mute_until:flags.2?int sound:flags.3?NotificationSound stories_muted:flags.6?Bool stories_hide_sender:flags.7?Bool stories_sound:flags.8?NotificationSound = InputPeerNotifySettings;
|
||||||
|
|
||||||
peerNotifySettings#a83b0426 flags:# show_previews:flags.0?Bool silent:flags.1?Bool mute_until:flags.2?int ios_sound:flags.3?NotificationSound android_sound:flags.4?NotificationSound other_sound:flags.5?NotificationSound = PeerNotifySettings;
|
peerNotifySettings#99622c0c flags:# show_previews:flags.0?Bool silent:flags.1?Bool mute_until:flags.2?int ios_sound:flags.3?NotificationSound android_sound:flags.4?NotificationSound other_sound:flags.5?NotificationSound stories_muted:flags.6?Bool stories_hide_sender:flags.7?Bool stories_ios_sound:flags.8?NotificationSound stories_android_sound:flags.9?NotificationSound stories_other_sound:flags.10?NotificationSound = PeerNotifySettings;
|
||||||
|
|
||||||
peerSettings#a518110d flags:# report_spam:flags.0?true add_contact:flags.1?true block_contact:flags.2?true share_contact:flags.3?true need_contacts_exception:flags.4?true report_geo:flags.5?true autoarchived:flags.7?true invite_members:flags.8?true request_chat_broadcast:flags.10?true geo_distance:flags.6?int request_chat_title:flags.9?string request_chat_date:flags.9?int = PeerSettings;
|
peerSettings#a518110d flags:# report_spam:flags.0?true add_contact:flags.1?true block_contact:flags.2?true share_contact:flags.3?true need_contacts_exception:flags.4?true report_geo:flags.5?true autoarchived:flags.7?true invite_members:flags.8?true request_chat_broadcast:flags.10?true geo_distance:flags.6?int request_chat_title:flags.9?string request_chat_date:flags.9?int = PeerSettings;
|
||||||
|
|
||||||
@ -240,7 +242,7 @@ inputReportReasonFake#f5ddd6e7 = ReportReason;
|
|||||||
inputReportReasonIllegalDrugs#a8eb2be = ReportReason;
|
inputReportReasonIllegalDrugs#a8eb2be = ReportReason;
|
||||||
inputReportReasonPersonalDetails#9ec7863d = ReportReason;
|
inputReportReasonPersonalDetails#9ec7863d = ReportReason;
|
||||||
|
|
||||||
userFull#93eadb53 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true translations_disabled:flags.23?true id:long about:flags.1?string settings:PeerSettings personal_photo:flags.21?Photo profile_photo:flags.2?Photo fallback_photo:flags.22?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme_emoticon:flags.15?string private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights premium_gifts:flags.19?Vector<PremiumGiftOption> wallpaper:flags.24?WallPaper = UserFull;
|
userFull#4fe1cc86 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true translations_disabled:flags.23?true stories_pinned_available:flags.26?true id:long about:flags.1?string settings:PeerSettings personal_photo:flags.21?Photo profile_photo:flags.2?Photo fallback_photo:flags.22?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme_emoticon:flags.15?string private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights premium_gifts:flags.19?Vector<PremiumGiftOption> wallpaper:flags.24?WallPaper stories:flags.25?UserStories = UserFull;
|
||||||
|
|
||||||
contact#145ade0b user_id:long mutual:Bool = Contact;
|
contact#145ade0b user_id:long mutual:Bool = Contact;
|
||||||
|
|
||||||
@ -401,6 +403,9 @@ updateChannelPinnedTopics#fe198602 flags:# channel_id:long order:flags.0?Vector<
|
|||||||
updateUser#20529438 user_id:long = Update;
|
updateUser#20529438 user_id:long = Update;
|
||||||
updateAutoSaveSettings#ec05b097 = Update;
|
updateAutoSaveSettings#ec05b097 = Update;
|
||||||
updateGroupInvitePrivacyForbidden#ccf08ad6 user_id:long = Update;
|
updateGroupInvitePrivacyForbidden#ccf08ad6 user_id:long = Update;
|
||||||
|
updateStory#205a4133 user_id:long story:StoryItem = Update;
|
||||||
|
updateReadStories#feb5345a user_id:long max_id:int = Update;
|
||||||
|
updateStoryID#1bf335b9 id:int random_id:long = Update;
|
||||||
|
|
||||||
updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
|
updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
|
||||||
|
|
||||||
@ -526,6 +531,7 @@ inputPrivacyValueDisallowAll#d66b66c9 = InputPrivacyRule;
|
|||||||
inputPrivacyValueDisallowUsers#90110467 users:Vector<InputUser> = InputPrivacyRule;
|
inputPrivacyValueDisallowUsers#90110467 users:Vector<InputUser> = InputPrivacyRule;
|
||||||
inputPrivacyValueAllowChatParticipants#840649cf chats:Vector<long> = InputPrivacyRule;
|
inputPrivacyValueAllowChatParticipants#840649cf chats:Vector<long> = InputPrivacyRule;
|
||||||
inputPrivacyValueDisallowChatParticipants#e94f0f86 chats:Vector<long> = InputPrivacyRule;
|
inputPrivacyValueDisallowChatParticipants#e94f0f86 chats:Vector<long> = InputPrivacyRule;
|
||||||
|
inputPrivacyValueAllowCloseFriends#2f453e49 = InputPrivacyRule;
|
||||||
|
|
||||||
privacyValueAllowContacts#fffe1bac = PrivacyRule;
|
privacyValueAllowContacts#fffe1bac = PrivacyRule;
|
||||||
privacyValueAllowAll#65427b82 = PrivacyRule;
|
privacyValueAllowAll#65427b82 = PrivacyRule;
|
||||||
@ -535,6 +541,7 @@ privacyValueDisallowAll#8b73e763 = PrivacyRule;
|
|||||||
privacyValueDisallowUsers#e4621141 users:Vector<long> = PrivacyRule;
|
privacyValueDisallowUsers#e4621141 users:Vector<long> = PrivacyRule;
|
||||||
privacyValueAllowChatParticipants#6b134e8e chats:Vector<long> = PrivacyRule;
|
privacyValueAllowChatParticipants#6b134e8e chats:Vector<long> = PrivacyRule;
|
||||||
privacyValueDisallowChatParticipants#41c87565 chats:Vector<long> = PrivacyRule;
|
privacyValueDisallowChatParticipants#41c87565 chats:Vector<long> = PrivacyRule;
|
||||||
|
privacyValueAllowCloseFriends#f7e8d89b = PrivacyRule;
|
||||||
|
|
||||||
account.privacyRules#50a04e45 rules:Vector<PrivacyRule> chats:Vector<Chat> users:Vector<User> = account.PrivacyRules;
|
account.privacyRules#50a04e45 rules:Vector<PrivacyRule> chats:Vector<Chat> users:Vector<User> = account.PrivacyRules;
|
||||||
|
|
||||||
@ -543,7 +550,7 @@ accountDaysTTL#b8d0afdf days:int = AccountDaysTTL;
|
|||||||
documentAttributeImageSize#6c37c15c w:int h:int = DocumentAttribute;
|
documentAttributeImageSize#6c37c15c w:int h:int = DocumentAttribute;
|
||||||
documentAttributeAnimated#11b58939 = DocumentAttribute;
|
documentAttributeAnimated#11b58939 = DocumentAttribute;
|
||||||
documentAttributeSticker#6319d612 flags:# mask:flags.1?true alt:string stickerset:InputStickerSet mask_coords:flags.0?MaskCoords = DocumentAttribute;
|
documentAttributeSticker#6319d612 flags:# mask:flags.1?true alt:string stickerset:InputStickerSet mask_coords:flags.0?MaskCoords = DocumentAttribute;
|
||||||
documentAttributeVideo#ef02ce6 flags:# round_message:flags.0?true supports_streaming:flags.1?true duration:int w:int h:int = DocumentAttribute;
|
documentAttributeVideo#d38ff1c2 flags:# round_message:flags.0?true supports_streaming:flags.1?true nosound:flags.3?true duration:double w:int h:int preload_prefix_size:flags.2?int = DocumentAttribute;
|
||||||
documentAttributeAudio#9852f9c6 flags:# voice:flags.10?true duration:int title:flags.0?string performer:flags.1?string waveform:flags.2?bytes = DocumentAttribute;
|
documentAttributeAudio#9852f9c6 flags:# voice:flags.10?true duration:int title:flags.0?string performer:flags.1?string waveform:flags.2?bytes = DocumentAttribute;
|
||||||
documentAttributeFilename#15590068 file_name:string = DocumentAttribute;
|
documentAttributeFilename#15590068 file_name:string = DocumentAttribute;
|
||||||
documentAttributeHasStickers#9801d2f7 = DocumentAttribute;
|
documentAttributeHasStickers#9801d2f7 = DocumentAttribute;
|
||||||
@ -1149,7 +1156,7 @@ codeSettings#ad253d78 flags:# allow_flashcall:flags.0?true current_number:flags.
|
|||||||
|
|
||||||
wallPaperSettings#1dc1bca4 flags:# blur:flags.1?true motion:flags.2?true background_color:flags.0?int second_background_color:flags.4?int third_background_color:flags.5?int fourth_background_color:flags.6?int intensity:flags.3?int rotation:flags.4?int = WallPaperSettings;
|
wallPaperSettings#1dc1bca4 flags:# blur:flags.1?true motion:flags.2?true background_color:flags.0?int second_background_color:flags.4?int third_background_color:flags.5?int fourth_background_color:flags.6?int intensity:flags.3?int rotation:flags.4?int = WallPaperSettings;
|
||||||
|
|
||||||
autoDownloadSettings#baa57628 flags:# disabled:flags.0?true video_preload_large:flags.1?true audio_preload_next:flags.2?true phonecalls_less_data:flags.3?true photo_size_max:int video_size_max:long file_size_max:long video_upload_maxbitrate:int small_queue_active_operations_max:int large_queue_active_operations_max:int = AutoDownloadSettings;
|
autoDownloadSettings#baa57628 flags:# disabled:flags.0?true video_preload_large:flags.1?true audio_preload_next:flags.2?true phonecalls_less_data:flags.3?true stories_preload:flags.4?true photo_size_max:int video_size_max:long file_size_max:long video_upload_maxbitrate:int small_queue_active_operations_max:int large_queue_active_operations_max:int = AutoDownloadSettings;
|
||||||
|
|
||||||
account.autoDownloadSettings#63cacf26 low:AutoDownloadSettings medium:AutoDownloadSettings high:AutoDownloadSettings = account.AutoDownloadSettings;
|
account.autoDownloadSettings#63cacf26 low:AutoDownloadSettings medium:AutoDownloadSettings high:AutoDownloadSettings = account.AutoDownloadSettings;
|
||||||
|
|
||||||
@ -1209,6 +1216,7 @@ inputThemeSettings#8fde504f flags:# message_colors_animated:flags.2?true base_th
|
|||||||
themeSettings#fa58b6d4 flags:# message_colors_animated:flags.2?true base_theme:BaseTheme accent_color:int outbox_accent_color:flags.3?int message_colors:flags.0?Vector<int> wallpaper:flags.1?WallPaper = ThemeSettings;
|
themeSettings#fa58b6d4 flags:# message_colors_animated:flags.2?true base_theme:BaseTheme accent_color:int outbox_accent_color:flags.3?int message_colors:flags.0?Vector<int> wallpaper:flags.1?WallPaper = ThemeSettings;
|
||||||
|
|
||||||
webPageAttributeTheme#54b56617 flags:# documents:flags.0?Vector<Document> settings:flags.1?ThemeSettings = WebPageAttribute;
|
webPageAttributeTheme#54b56617 flags:# documents:flags.0?Vector<Document> settings:flags.1?ThemeSettings = WebPageAttribute;
|
||||||
|
webPageAttributeStory#939a4671 flags:# user_id:long id:int story:flags.0?StoryItem = WebPageAttribute;
|
||||||
|
|
||||||
messages.votesList#4899484e flags:# count:int votes:Vector<MessagePeerVote> chats:Vector<Chat> users:Vector<User> next_offset:flags.0?string = messages.VotesList;
|
messages.votesList#4899484e flags:# count:int votes:Vector<MessagePeerVote> chats:Vector<Chat> users:Vector<User> next_offset:flags.0?string = messages.VotesList;
|
||||||
|
|
||||||
@ -1251,7 +1259,7 @@ statsGroupTopInviter#535f779d user_id:long invitations:int = StatsGroupTopInvite
|
|||||||
|
|
||||||
stats.megagroupStats#ef7ff916 period:StatsDateRangeDays members:StatsAbsValueAndPrev messages:StatsAbsValueAndPrev viewers:StatsAbsValueAndPrev posters:StatsAbsValueAndPrev growth_graph:StatsGraph members_graph:StatsGraph new_members_by_source_graph:StatsGraph languages_graph:StatsGraph messages_graph:StatsGraph actions_graph:StatsGraph top_hours_graph:StatsGraph weekdays_graph:StatsGraph top_posters:Vector<StatsGroupTopPoster> top_admins:Vector<StatsGroupTopAdmin> top_inviters:Vector<StatsGroupTopInviter> users:Vector<User> = stats.MegagroupStats;
|
stats.megagroupStats#ef7ff916 period:StatsDateRangeDays members:StatsAbsValueAndPrev messages:StatsAbsValueAndPrev viewers:StatsAbsValueAndPrev posters:StatsAbsValueAndPrev growth_graph:StatsGraph members_graph:StatsGraph new_members_by_source_graph:StatsGraph languages_graph:StatsGraph messages_graph:StatsGraph actions_graph:StatsGraph top_hours_graph:StatsGraph weekdays_graph:StatsGraph top_posters:Vector<StatsGroupTopPoster> top_admins:Vector<StatsGroupTopAdmin> top_inviters:Vector<StatsGroupTopInviter> users:Vector<User> = stats.MegagroupStats;
|
||||||
|
|
||||||
globalPrivacySettings#bea2f424 flags:# archive_and_mute_new_noncontact_peers:flags.0?Bool = GlobalPrivacySettings;
|
globalPrivacySettings#734c4ccb flags:# archive_and_mute_new_noncontact_peers:flags.0?true keep_archived_unmuted:flags.1?true keep_archived_folders:flags.2?true = GlobalPrivacySettings;
|
||||||
|
|
||||||
help.countryCode#4203c5ef flags:# country_code:string prefixes:flags.0?Vector<string> patterns:flags.1?Vector<string> = help.CountryCode;
|
help.countryCode#4203c5ef flags:# country_code:string prefixes:flags.0?Vector<string> patterns:flags.1?Vector<string> = help.CountryCode;
|
||||||
|
|
||||||
@ -1267,6 +1275,7 @@ messages.messageViews#b6c4f543 views:Vector<MessageViews> chats:Vector<Chat> use
|
|||||||
messages.discussionMessage#a6341782 flags:# messages:Vector<Message> max_id:flags.0?int read_inbox_max_id:flags.1?int read_outbox_max_id:flags.2?int unread_count:int chats:Vector<Chat> users:Vector<User> = messages.DiscussionMessage;
|
messages.discussionMessage#a6341782 flags:# messages:Vector<Message> max_id:flags.0?int read_inbox_max_id:flags.1?int read_outbox_max_id:flags.2?int unread_count:int chats:Vector<Chat> users:Vector<User> = messages.DiscussionMessage;
|
||||||
|
|
||||||
messageReplyHeader#a6d57763 flags:# reply_to_scheduled:flags.2?true forum_topic:flags.3?true reply_to_msg_id:int reply_to_peer_id:flags.0?Peer reply_to_top_id:flags.1?int = MessageReplyHeader;
|
messageReplyHeader#a6d57763 flags:# reply_to_scheduled:flags.2?true forum_topic:flags.3?true reply_to_msg_id:int reply_to_peer_id:flags.0?Peer reply_to_top_id:flags.1?int = MessageReplyHeader;
|
||||||
|
messageReplyStoryHeader#9c98bfc1 user_id:long story_id:int = MessageReplyHeader;
|
||||||
|
|
||||||
messageReplies#83d60fc2 flags:# comments:flags.0?true replies:int replies_pts:int recent_repliers:flags.1?Vector<Peer> channel_id:flags.0?long max_id:flags.2?int read_max_id:flags.3?int = MessageReplies;
|
messageReplies#83d60fc2 flags:# comments:flags.0?true replies:int replies_pts:int recent_repliers:flags.1?Vector<Peer> channel_id:flags.0?long max_id:flags.2?int read_max_id:flags.3?int = MessageReplies;
|
||||||
|
|
||||||
@ -1538,6 +1547,32 @@ messagePeerVoteMultiple#4628f6e6 peer:Peer options:Vector<bytes> date:int = Mess
|
|||||||
|
|
||||||
sponsoredWebPage#3db8ec63 flags:# url:string site_name:string photo:flags.0?Photo = SponsoredWebPage;
|
sponsoredWebPage#3db8ec63 flags:# url:string site_name:string photo:flags.0?Photo = SponsoredWebPage;
|
||||||
|
|
||||||
|
storyViews#d36760cf flags:# views_count:int recent_viewers:flags.0?Vector<long> = StoryViews;
|
||||||
|
|
||||||
|
storyItemDeleted#51e6ee4f id:int = StoryItem;
|
||||||
|
storyItemSkipped#ffadc913 flags:# close_friends:flags.8?true id:int date:int expire_date:int = StoryItem;
|
||||||
|
storyItem#562aa637 flags:# pinned:flags.5?true public:flags.7?true close_friends:flags.8?true min:flags.9?true noforwards:flags.10?true edited:flags.11?true contacts:flags.12?true selected_contacts:flags.13?true id:int date:int expire_date:int caption:flags.0?string entities:flags.1?Vector<MessageEntity> media:MessageMedia privacy:flags.2?Vector<PrivacyRule> views:flags.3?StoryViews = StoryItem;
|
||||||
|
|
||||||
|
userStories#8611a200 flags:# user_id:long max_read_id:flags.0?int stories:Vector<StoryItem> = UserStories;
|
||||||
|
|
||||||
|
stories.allStoriesNotModified#47e0a07e state:string = stories.AllStories;
|
||||||
|
stories.allStories#839e0428 flags:# has_more:flags.0?true count:int state:string user_stories:Vector<UserStories> users:Vector<User> = stories.AllStories;
|
||||||
|
|
||||||
|
stories.stories#4fe57df1 count:int stories:Vector<StoryItem> users:Vector<User> = stories.Stories;
|
||||||
|
|
||||||
|
stories.userStories#37a6ff5f stories:UserStories users:Vector<User> = stories.UserStories;
|
||||||
|
|
||||||
|
storyView#a71aacc2 user_id:long date:int = StoryView;
|
||||||
|
|
||||||
|
stories.storyViewsList#fb3f77ac count:int views:Vector<StoryView> users:Vector<User> = stories.StoryViewsList;
|
||||||
|
|
||||||
|
stories.storyViews#de9eed1d views:Vector<StoryViews> users:Vector<User> = stories.StoryViews;
|
||||||
|
|
||||||
|
inputReplyToMessage#9c5386e4 flags:# reply_to_msg_id:int top_msg_id:flags.0?int = InputReplyTo;
|
||||||
|
inputReplyToStory#15b0f283 user_id:InputUser story_id:int = InputReplyTo;
|
||||||
|
|
||||||
|
exportedStoryLink#3fc9053b link:string = ExportedStoryLink;
|
||||||
|
|
||||||
---functions---
|
---functions---
|
||||||
|
|
||||||
invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
|
invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
|
||||||
@ -1618,7 +1653,7 @@ account.resendPasswordEmail#7a7f2a15 = Bool;
|
|||||||
account.cancelPasswordEmail#c1cbd5b6 = Bool;
|
account.cancelPasswordEmail#c1cbd5b6 = Bool;
|
||||||
account.getContactSignUpNotification#9f07c728 = Bool;
|
account.getContactSignUpNotification#9f07c728 = Bool;
|
||||||
account.setContactSignUpNotification#cff43f61 silent:Bool = Bool;
|
account.setContactSignUpNotification#cff43f61 silent:Bool = Bool;
|
||||||
account.getNotifyExceptions#53577479 flags:# compare_sound:flags.1?true peer:flags.0?InputNotifyPeer = Updates;
|
account.getNotifyExceptions#53577479 flags:# compare_sound:flags.1?true compare_stories:flags.2?true peer:flags.0?InputNotifyPeer = Updates;
|
||||||
account.getWallPaper#fc8ddbea wallpaper:InputWallPaper = WallPaper;
|
account.getWallPaper#fc8ddbea wallpaper:InputWallPaper = WallPaper;
|
||||||
account.uploadWallPaper#e39a8f03 flags:# for_chat:flags.0?true file:InputFile mime_type:string settings:WallPaperSettings = WallPaper;
|
account.uploadWallPaper#e39a8f03 flags:# for_chat:flags.0?true file:InputFile mime_type:string settings:WallPaperSettings = WallPaper;
|
||||||
account.saveWallPaper#6c5a5b37 wallpaper:InputWallPaper unsave:Bool settings:WallPaperSettings = Bool;
|
account.saveWallPaper#6c5a5b37 wallpaper:InputWallPaper unsave:Bool settings:WallPaperSettings = Bool;
|
||||||
@ -1663,6 +1698,7 @@ account.invalidateSignInCodes#ca8ae8ba codes:Vector<string> = Bool;
|
|||||||
users.getUsers#d91a548 id:Vector<InputUser> = Vector<User>;
|
users.getUsers#d91a548 id:Vector<InputUser> = Vector<User>;
|
||||||
users.getFullUser#b60f5918 id:InputUser = users.UserFull;
|
users.getFullUser#b60f5918 id:InputUser = users.UserFull;
|
||||||
users.setSecureValueErrors#90c894b5 id:InputUser errors:Vector<SecureValueError> = Bool;
|
users.setSecureValueErrors#90c894b5 id:InputUser errors:Vector<SecureValueError> = Bool;
|
||||||
|
users.getStoriesMaxIDs#ca1cb9ab id:Vector<InputUser> = Vector<int>;
|
||||||
|
|
||||||
contacts.getContactIDs#7adc669d hash:long = Vector<int>;
|
contacts.getContactIDs#7adc669d hash:long = Vector<int>;
|
||||||
contacts.getStatuses#c4a353ee = Vector<ContactStatus>;
|
contacts.getStatuses#c4a353ee = Vector<ContactStatus>;
|
||||||
@ -1687,6 +1723,8 @@ contacts.blockFromReplies#29a8962c flags:# delete_message:flags.0?true delete_hi
|
|||||||
contacts.resolvePhone#8af94344 phone:string = contacts.ResolvedPeer;
|
contacts.resolvePhone#8af94344 phone:string = contacts.ResolvedPeer;
|
||||||
contacts.exportContactToken#f8654027 = ExportedContactToken;
|
contacts.exportContactToken#f8654027 = ExportedContactToken;
|
||||||
contacts.importContactToken#13005788 token:string = User;
|
contacts.importContactToken#13005788 token:string = User;
|
||||||
|
contacts.editCloseFriends#ba6705f0 id:Vector<long> = Bool;
|
||||||
|
contacts.toggleStoriesHidden#753fb865 id:InputUser hidden:Bool = Bool;
|
||||||
|
|
||||||
messages.getMessages#63c66506 id:Vector<InputMessage> = messages.Messages;
|
messages.getMessages#63c66506 id:Vector<InputMessage> = messages.Messages;
|
||||||
messages.getDialogs#a0f4cb4f flags:# exclude_pinned:flags.0?true folder_id:flags.1?int offset_date:int offset_id:int offset_peer:InputPeer limit:int hash:long = messages.Dialogs;
|
messages.getDialogs#a0f4cb4f flags:# exclude_pinned:flags.0?true folder_id:flags.1?int offset_date:int offset_id:int offset_peer:InputPeer limit:int hash:long = messages.Dialogs;
|
||||||
@ -1697,8 +1735,8 @@ messages.deleteHistory#b08f922a flags:# just_clear:flags.0?true revoke:flags.1?t
|
|||||||
messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector<int> = messages.AffectedMessages;
|
messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector<int> = messages.AffectedMessages;
|
||||||
messages.receivedMessages#5a954c0 max_id:int = Vector<ReceivedNotifyMessage>;
|
messages.receivedMessages#5a954c0 max_id:int = Vector<ReceivedNotifyMessage>;
|
||||||
messages.setTyping#58943ee2 flags:# peer:InputPeer top_msg_id:flags.0?int action:SendMessageAction = Bool;
|
messages.setTyping#58943ee2 flags:# peer:InputPeer top_msg_id:flags.0?int action:SendMessageAction = Bool;
|
||||||
messages.sendMessage#1cc20387 flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to_msg_id:flags.0?int top_msg_id:flags.9?int message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
messages.sendMessage#280d096f flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to:flags.0?InputReplyTo message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
||||||
messages.sendMedia#7547c966 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to_msg_id:flags.0?int top_msg_id:flags.9?int media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
messages.sendMedia#72ccc23d flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to:flags.0?InputReplyTo media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
||||||
messages.forwardMessages#c661bbc4 flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true drop_author:flags.11?true drop_media_captions:flags.12?true noforwards:flags.14?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer top_msg_id:flags.9?int schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
messages.forwardMessages#c661bbc4 flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true drop_author:flags.11?true drop_media_captions:flags.12?true noforwards:flags.14?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer top_msg_id:flags.9?int schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
||||||
messages.reportSpam#cf1592db peer:InputPeer = Bool;
|
messages.reportSpam#cf1592db peer:InputPeer = Bool;
|
||||||
messages.getPeerSettings#efd9a6a2 peer:InputPeer = messages.PeerSettings;
|
messages.getPeerSettings#efd9a6a2 peer:InputPeer = messages.PeerSettings;
|
||||||
@ -1742,7 +1780,7 @@ messages.getSavedGifs#5cf09635 hash:long = messages.SavedGifs;
|
|||||||
messages.saveGif#327a30cb id:InputDocument unsave:Bool = Bool;
|
messages.saveGif#327a30cb id:InputDocument unsave:Bool = Bool;
|
||||||
messages.getInlineBotResults#514e999d flags:# bot:InputUser peer:InputPeer geo_point:flags.0?InputGeoPoint query:string offset:string = messages.BotResults;
|
messages.getInlineBotResults#514e999d flags:# bot:InputUser peer:InputPeer geo_point:flags.0?InputGeoPoint query:string offset:string = messages.BotResults;
|
||||||
messages.setInlineBotResults#bb12a419 flags:# gallery:flags.0?true private:flags.1?true query_id:long results:Vector<InputBotInlineResult> cache_time:int next_offset:flags.2?string switch_pm:flags.3?InlineBotSwitchPM switch_webview:flags.4?InlineBotWebView = Bool;
|
messages.setInlineBotResults#bb12a419 flags:# gallery:flags.0?true private:flags.1?true query_id:long results:Vector<InputBotInlineResult> cache_time:int next_offset:flags.2?string switch_pm:flags.3?InlineBotSwitchPM switch_webview:flags.4?InlineBotWebView = Bool;
|
||||||
messages.sendInlineBotResult#d3fbdccb flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true hide_via:flags.11?true peer:InputPeer reply_to_msg_id:flags.0?int top_msg_id:flags.9?int random_id:long query_id:long id:string schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
messages.sendInlineBotResult#f7bc68ba flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true hide_via:flags.11?true peer:InputPeer reply_to:flags.0?InputReplyTo random_id:long query_id:long id:string schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
||||||
messages.getMessageEditData#fda68d36 peer:InputPeer id:int = messages.MessageEditData;
|
messages.getMessageEditData#fda68d36 peer:InputPeer id:int = messages.MessageEditData;
|
||||||
messages.editMessage#48f71778 flags:# no_webpage:flags.1?true peer:InputPeer id:int message:flags.11?string media:flags.14?InputMedia reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.15?int = Updates;
|
messages.editMessage#48f71778 flags:# no_webpage:flags.1?true peer:InputPeer id:int message:flags.11?string media:flags.14?InputMedia reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.15?int = Updates;
|
||||||
messages.editInlineBotMessage#83557dba flags:# no_webpage:flags.1?true id:InputBotInlineMessageID message:flags.11?string media:flags.14?InputMedia reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> = Bool;
|
messages.editInlineBotMessage#83557dba flags:# no_webpage:flags.1?true id:InputBotInlineMessageID message:flags.11?string media:flags.14?InputMedia reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> = Bool;
|
||||||
@ -1771,13 +1809,13 @@ messages.getPinnedDialogs#d6b94df2 folder_id:int = messages.PeerDialogs;
|
|||||||
messages.setBotShippingResults#e5f672fa flags:# query_id:long error:flags.0?string shipping_options:flags.1?Vector<ShippingOption> = Bool;
|
messages.setBotShippingResults#e5f672fa flags:# query_id:long error:flags.0?string shipping_options:flags.1?Vector<ShippingOption> = Bool;
|
||||||
messages.setBotPrecheckoutResults#9c2dd95 flags:# success:flags.1?true query_id:long error:flags.0?string = Bool;
|
messages.setBotPrecheckoutResults#9c2dd95 flags:# success:flags.1?true query_id:long error:flags.0?string = Bool;
|
||||||
messages.uploadMedia#519bc2b1 peer:InputPeer media:InputMedia = MessageMedia;
|
messages.uploadMedia#519bc2b1 peer:InputPeer media:InputMedia = MessageMedia;
|
||||||
messages.sendScreenshotNotification#c97df020 peer:InputPeer reply_to_msg_id:int random_id:long = Updates;
|
messages.sendScreenshotNotification#a1405817 peer:InputPeer reply_to:InputReplyTo random_id:long = Updates;
|
||||||
messages.getFavedStickers#4f1aaa9 hash:long = messages.FavedStickers;
|
messages.getFavedStickers#4f1aaa9 hash:long = messages.FavedStickers;
|
||||||
messages.faveSticker#b9ffc55b id:InputDocument unfave:Bool = Bool;
|
messages.faveSticker#b9ffc55b id:InputDocument unfave:Bool = Bool;
|
||||||
messages.getUnreadMentions#f107e790 flags:# peer:InputPeer top_msg_id:flags.0?int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
|
messages.getUnreadMentions#f107e790 flags:# peer:InputPeer top_msg_id:flags.0?int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
|
||||||
messages.readMentions#36e5bf4d flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory;
|
messages.readMentions#36e5bf4d flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory;
|
||||||
messages.getRecentLocations#702a40e0 peer:InputPeer limit:int hash:long = messages.Messages;
|
messages.getRecentLocations#702a40e0 peer:InputPeer limit:int hash:long = messages.Messages;
|
||||||
messages.sendMultiMedia#b6f11a1c flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to_msg_id:flags.0?int top_msg_id:flags.9?int multi_media:Vector<InputSingleMedia> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
messages.sendMultiMedia#456e8987 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to:flags.0?InputReplyTo multi_media:Vector<InputSingleMedia> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
||||||
messages.uploadEncryptedFile#5057c497 peer:InputEncryptedChat file:InputEncryptedFile = EncryptedFile;
|
messages.uploadEncryptedFile#5057c497 peer:InputEncryptedChat file:InputEncryptedFile = EncryptedFile;
|
||||||
messages.searchStickerSets#35705b8a flags:# exclude_featured:flags.0?true q:string hash:long = messages.FoundStickerSets;
|
messages.searchStickerSets#35705b8a flags:# exclude_featured:flags.0?true q:string hash:long = messages.FoundStickerSets;
|
||||||
messages.getSplitRanges#1cff7e08 = Vector<MessageRange>;
|
messages.getSplitRanges#1cff7e08 = Vector<MessageRange>;
|
||||||
@ -1849,8 +1887,8 @@ messages.searchSentMedia#107e31a0 q:string filter:MessagesFilter limit:int = mes
|
|||||||
messages.getAttachMenuBots#16fcc2cb hash:long = AttachMenuBots;
|
messages.getAttachMenuBots#16fcc2cb hash:long = AttachMenuBots;
|
||||||
messages.getAttachMenuBot#77216192 bot:InputUser = AttachMenuBotsBot;
|
messages.getAttachMenuBot#77216192 bot:InputUser = AttachMenuBotsBot;
|
||||||
messages.toggleBotInAttachMenu#69f59d69 flags:# write_allowed:flags.0?true bot:InputUser enabled:Bool = Bool;
|
messages.toggleBotInAttachMenu#69f59d69 flags:# write_allowed:flags.0?true bot:InputUser enabled:Bool = Bool;
|
||||||
messages.requestWebView#178b480b flags:# from_bot_menu:flags.4?true silent:flags.5?true peer:InputPeer bot:InputUser url:flags.1?string start_param:flags.3?string theme_params:flags.2?DataJSON platform:string reply_to_msg_id:flags.0?int top_msg_id:flags.9?int send_as:flags.13?InputPeer = WebViewResult;
|
messages.requestWebView#269dc2c1 flags:# from_bot_menu:flags.4?true silent:flags.5?true peer:InputPeer bot:InputUser url:flags.1?string start_param:flags.3?string theme_params:flags.2?DataJSON platform:string reply_to:flags.0?InputReplyTo send_as:flags.13?InputPeer = WebViewResult;
|
||||||
messages.prolongWebView#7ff34309 flags:# silent:flags.5?true peer:InputPeer bot:InputUser query_id:long reply_to_msg_id:flags.0?int top_msg_id:flags.9?int send_as:flags.13?InputPeer = Bool;
|
messages.prolongWebView#b0d81a83 flags:# silent:flags.5?true peer:InputPeer bot:InputUser query_id:long reply_to:flags.0?InputReplyTo send_as:flags.13?InputPeer = Bool;
|
||||||
messages.requestSimpleWebView#299bec8e flags:# from_switch_webview:flags.1?true bot:InputUser url:string theme_params:flags.0?DataJSON platform:string = SimpleWebViewResult;
|
messages.requestSimpleWebView#299bec8e flags:# from_switch_webview:flags.1?true bot:InputUser url:string theme_params:flags.0?DataJSON platform:string = SimpleWebViewResult;
|
||||||
messages.sendWebViewResultMessage#a4314f5 bot_query_id:string result:InputBotInlineResult = WebViewMessageSent;
|
messages.sendWebViewResultMessage#a4314f5 bot_query_id:string result:InputBotInlineResult = WebViewMessageSent;
|
||||||
messages.sendWebViewData#dc0242c8 bot:InputUser random_id:long button_text:string data:string = Updates;
|
messages.sendWebViewData#dc0242c8 bot:InputUser random_id:long button_text:string data:string = Updates;
|
||||||
@ -2070,3 +2108,21 @@ chatlists.joinChatlistUpdates#e089f8f5 chatlist:InputChatlist peers:Vector<Input
|
|||||||
chatlists.hideChatlistUpdates#66e486fb chatlist:InputChatlist = Bool;
|
chatlists.hideChatlistUpdates#66e486fb chatlist:InputChatlist = Bool;
|
||||||
chatlists.getLeaveChatlistSuggestions#fdbcd714 chatlist:InputChatlist = Vector<Peer>;
|
chatlists.getLeaveChatlistSuggestions#fdbcd714 chatlist:InputChatlist = Vector<Peer>;
|
||||||
chatlists.leaveChatlist#74fae13a chatlist:InputChatlist peers:Vector<InputPeer> = Updates;
|
chatlists.leaveChatlist#74fae13a chatlist:InputChatlist peers:Vector<InputPeer> = Updates;
|
||||||
|
|
||||||
|
stories.sendStory#424cd47a flags:# pinned:flags.2?true noforwards:flags.4?true media:InputMedia caption:flags.0?string entities:flags.1?Vector<MessageEntity> privacy_rules:Vector<InputPrivacyRule> random_id:long period:flags.3?int = Updates;
|
||||||
|
stories.editStory#2aae7a41 flags:# id:int media:flags.0?InputMedia caption:flags.1?string entities:flags.1?Vector<MessageEntity> privacy_rules:flags.2?Vector<InputPrivacyRule> = Updates;
|
||||||
|
stories.deleteStories#b5d501d7 id:Vector<int> = Vector<int>;
|
||||||
|
stories.togglePinned#51602944 id:Vector<int> pinned:Bool = Vector<int>;
|
||||||
|
stories.getAllStories#eeb0d625 flags:# next:flags.1?true hidden:flags.2?true state:flags.0?string = stories.AllStories;
|
||||||
|
stories.getUserStories#96d528e0 user_id:InputUser = stories.UserStories;
|
||||||
|
stories.getPinnedStories#b471137 user_id:InputUser offset_id:int limit:int = stories.Stories;
|
||||||
|
stories.getStoriesArchive#1f5bc5d2 offset_id:int limit:int = stories.Stories;
|
||||||
|
stories.getStoriesByID#6a15cf46 user_id:InputUser id:Vector<int> = stories.Stories;
|
||||||
|
stories.toggleAllStoriesHidden#7c2557c4 hidden:Bool = Bool;
|
||||||
|
stories.getAllReadUserStories#729c562c = Updates;
|
||||||
|
stories.readStories#edc5105b user_id:InputUser max_id:int = Vector<int>;
|
||||||
|
stories.incrementStoryViews#22126127 user_id:InputUser id:Vector<int> = Bool;
|
||||||
|
stories.getStoryViewsList#4b3b5e97 id:int offset_date:int offset_id:long limit:int = stories.StoryViewsList;
|
||||||
|
stories.getStoriesViews#9a75d6a6 id:Vector<int> = stories.StoryViews;
|
||||||
|
stories.exportStoryLink#16e443ce user_id:InputUser id:int = ExportedStoryLink;
|
||||||
|
stories.report#c95be06a user_id:InputUser id:Vector<int> reason:ReportReason message:string = Bool;
|
||||||
|
@ -339,8 +339,8 @@ tl_object_ptr<telegram_api::InputMedia> AnimationsManager::get_input_media(
|
|||||||
string mime_type = animation->mime_type;
|
string mime_type = animation->mime_type;
|
||||||
if (mime_type == "video/mp4") {
|
if (mime_type == "video/mp4") {
|
||||||
attributes.push_back(make_tl_object<telegram_api::documentAttributeVideo>(
|
attributes.push_back(make_tl_object<telegram_api::documentAttributeVideo>(
|
||||||
0, false /*ignored*/, false /*ignored*/, animation->duration, animation->dimensions.width,
|
0, false /*ignored*/, false /*ignored*/, false /*ignored*/, animation->duration, animation->dimensions.width,
|
||||||
animation->dimensions.height));
|
animation->dimensions.height, 0));
|
||||||
} else if (animation->dimensions.width != 0 && animation->dimensions.height != 0) {
|
} else if (animation->dimensions.width != 0 && animation->dimensions.height != 0) {
|
||||||
if (!begins_with(mime_type, "image/")) {
|
if (!begins_with(mime_type, "image/")) {
|
||||||
mime_type = "image/gif";
|
mime_type = "image/gif";
|
||||||
|
@ -167,12 +167,9 @@ class RequestWebViewQuery final : public Td::ResultHandler {
|
|||||||
flags |= telegram_api::messages_requestWebView::THEME_PARAMS_MASK;
|
flags |= telegram_api::messages_requestWebView::THEME_PARAMS_MASK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (top_thread_message_id.is_valid()) {
|
auto reply_to = MessagesManager::get_input_reply_to(reply_to_message_id, top_thread_message_id);
|
||||||
flags |= telegram_api::messages_requestWebView::TOP_MSG_ID_MASK;
|
if (reply_to != nullptr) {
|
||||||
}
|
flags |= telegram_api::messages_requestWebView::REPLY_TO_MASK;
|
||||||
|
|
||||||
if (reply_to_message_id.is_valid()) {
|
|
||||||
flags |= telegram_api::messages_requestWebView::REPLY_TO_MSG_ID_MASK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (silent) {
|
if (silent) {
|
||||||
@ -189,8 +186,7 @@ class RequestWebViewQuery final : public Td::ResultHandler {
|
|||||||
|
|
||||||
send_query(G()->net_query_creator().create(telegram_api::messages_requestWebView(
|
send_query(G()->net_query_creator().create(telegram_api::messages_requestWebView(
|
||||||
flags, false /*ignored*/, false /*ignored*/, std::move(input_peer), std::move(input_user), url, start_parameter,
|
flags, false /*ignored*/, false /*ignored*/, std::move(input_peer), std::move(input_user), url, start_parameter,
|
||||||
std::move(theme_parameters), platform, reply_to_message_id.get_server_message_id().get(),
|
std::move(theme_parameters), platform, std::move(reply_to), std::move(as_input_peer))));
|
||||||
top_thread_message_id.get_server_message_id().get(), std::move(as_input_peer))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_result(BufferSlice packet) final {
|
void on_result(BufferSlice packet) final {
|
||||||
@ -230,14 +226,10 @@ class ProlongWebViewQuery final : public Td::ResultHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int32 flags = 0;
|
int32 flags = 0;
|
||||||
if (reply_to_message_id.is_valid()) {
|
auto reply_to = MessagesManager::get_input_reply_to(reply_to_message_id, top_thread_message_id);
|
||||||
flags |= telegram_api::messages_prolongWebView::REPLY_TO_MSG_ID_MASK;
|
if (reply_to != nullptr) {
|
||||||
|
flags |= telegram_api::messages_prolongWebView::REPLY_TO_MASK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (top_thread_message_id.is_valid()) {
|
|
||||||
flags |= telegram_api::messages_prolongWebView::TOP_MSG_ID_MASK;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (silent) {
|
if (silent) {
|
||||||
flags |= telegram_api::messages_prolongWebView::SILENT_MASK;
|
flags |= telegram_api::messages_prolongWebView::SILENT_MASK;
|
||||||
}
|
}
|
||||||
@ -251,8 +243,7 @@ class ProlongWebViewQuery final : public Td::ResultHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_query(G()->net_query_creator().create(telegram_api::messages_prolongWebView(
|
send_query(G()->net_query_creator().create(telegram_api::messages_prolongWebView(
|
||||||
flags, false /*ignored*/, std::move(input_peer), r_input_user.move_as_ok(), query_id,
|
flags, false /*ignored*/, std::move(input_peer), r_input_user.move_as_ok(), query_id, std::move(reply_to),
|
||||||
reply_to_message_id.get_server_message_id().get(), top_thread_message_id.get_server_message_id().get(),
|
|
||||||
std::move(as_input_peer))));
|
std::move(as_input_peer))));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,8 +80,9 @@ telegram_api::object_ptr<telegram_api::autoDownloadSettings> get_input_auto_down
|
|||||||
flags |= telegram_api::autoDownloadSettings::PHONECALLS_LESS_DATA_MASK;
|
flags |= telegram_api::autoDownloadSettings::PHONECALLS_LESS_DATA_MASK;
|
||||||
}
|
}
|
||||||
return telegram_api::make_object<telegram_api::autoDownloadSettings>(
|
return telegram_api::make_object<telegram_api::autoDownloadSettings>(
|
||||||
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, settings.max_photo_file_size,
|
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
settings.max_video_file_size, settings.max_other_file_size, settings.video_upload_bitrate, 0, 0);
|
settings.max_photo_file_size, settings.max_video_file_size, settings.max_other_file_size,
|
||||||
|
settings.video_upload_bitrate, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
class SaveAutoDownloadSettingsQuery final : public Td::ResultHandler {
|
class SaveAutoDownloadSettingsQuery final : public Td::ResultHandler {
|
||||||
|
@ -1108,8 +1108,12 @@ void ConfigManager::set_archive_and_mute(bool archive_and_mute, Promise<Unit> &&
|
|||||||
queries.push_back(std::move(promise));
|
queries.push_back(std::move(promise));
|
||||||
if (!is_set_archive_and_mute_request_sent_) {
|
if (!is_set_archive_and_mute_request_sent_) {
|
||||||
is_set_archive_and_mute_request_sent_ = true;
|
is_set_archive_and_mute_request_sent_ = true;
|
||||||
int32 flags = telegram_api::globalPrivacySettings::ARCHIVE_AND_MUTE_NEW_NONCONTACT_PEERS_MASK;
|
int32 flags = 0;
|
||||||
auto settings = make_tl_object<telegram_api::globalPrivacySettings>(flags, archive_and_mute);
|
if (archive_and_mute) {
|
||||||
|
flags |= telegram_api::globalPrivacySettings::ARCHIVE_AND_MUTE_NEW_NONCONTACT_PEERS_MASK;
|
||||||
|
}
|
||||||
|
auto settings = make_tl_object<telegram_api::globalPrivacySettings>(flags, false /*ignored*/, false /*ignored*/,
|
||||||
|
false /*ignored*/);
|
||||||
G()->net_query_dispatcher().dispatch_with_callback(
|
G()->net_query_dispatcher().dispatch_with_callback(
|
||||||
G()->net_query_creator().create(telegram_api::account_setGlobalPrivacySettings(std::move(settings))),
|
G()->net_query_creator().create(telegram_api::account_setGlobalPrivacySettings(std::move(settings))),
|
||||||
actor_shared(this, 6 + static_cast<uint64>(archive_and_mute)));
|
actor_shared(this, 6 + static_cast<uint64>(archive_and_mute)));
|
||||||
@ -1229,11 +1233,7 @@ void ConfigManager::on_result(NetQueryPtr res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto result = result_ptr.move_as_ok();
|
auto result = result_ptr.move_as_ok();
|
||||||
if ((result->flags_ & telegram_api::globalPrivacySettings::ARCHIVE_AND_MUTE_NEW_NONCONTACT_PEERS_MASK) != 0) {
|
do_set_archive_and_mute(result->archive_and_mute_new_noncontact_peers_);
|
||||||
do_set_archive_and_mute(result->archive_and_mute_new_noncontact_peers_);
|
|
||||||
} else {
|
|
||||||
LOG(ERROR) << "Receive wrong response: " << to_string(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
set_promises(get_global_privacy_settings_queries_);
|
set_promises(get_global_privacy_settings_queries_);
|
||||||
return;
|
return;
|
||||||
|
@ -10599,9 +10599,10 @@ ContactsManager::User *ContactsManager::get_user_force(UserId user_id) {
|
|||||||
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, false /*ignored*/, false /*ignored*/, 0, false /*ignored*/, user_id.get(), 1, first_name,
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, 0, false /*ignored*/, false /*ignored*/,
|
||||||
string(), username, phone_number, std::move(profile_photo), nullptr, bot_info_version, Auto(), string(),
|
false /*ignored*/, false /*ignored*/, user_id.get(), 1, first_name, string(), username, phone_number,
|
||||||
string(), nullptr, vector<telegram_api::object_ptr<telegram_api::username>>());
|
std::move(profile_photo), nullptr, bot_info_version, Auto(), string(), string(), nullptr,
|
||||||
|
vector<telegram_api::object_ptr<telegram_api::username>>(), 0);
|
||||||
on_get_user(std::move(user), "get_user_force");
|
on_get_user(std::move(user), "get_user_force");
|
||||||
u = get_user(user_id);
|
u = get_user(user_id);
|
||||||
CHECK(u != nullptr && u->is_received);
|
CHECK(u != nullptr && u->is_received);
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
#include "td/utils/StringBuilder.h"
|
#include "td/utils/StringBuilder.h"
|
||||||
#include "td/utils/utf8.h"
|
#include "td/utils/utf8.h"
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
namespace td {
|
namespace td {
|
||||||
@ -123,7 +124,7 @@ Document DocumentsManager::on_get_document(RemoteDocument remote_document, Dialo
|
|||||||
int32 video_duration = 0;
|
int32 video_duration = 0;
|
||||||
string video_waveform;
|
string video_waveform;
|
||||||
if (video != nullptr) {
|
if (video != nullptr) {
|
||||||
video_duration = video->duration_;
|
video_duration = static_cast<int32>(std::ceil(video->duration_));
|
||||||
auto video_dimensions = get_dimensions(video->w_, video->h_, "documentAttributeVideo");
|
auto video_dimensions = get_dimensions(video->w_, video->h_, "documentAttributeVideo");
|
||||||
if (dimensions.width == 0 || (video_dimensions.width != 0 && video_dimensions != dimensions)) {
|
if (dimensions.width == 0 || (video_dimensions.width != 0 && video_dimensions != dimensions)) {
|
||||||
if (dimensions.width != 0) {
|
if (dimensions.width != 0) {
|
||||||
|
@ -956,7 +956,7 @@ Result<tl_object_ptr<telegram_api::InputBotInlineResult>> InlineQueriesManager::
|
|||||||
if (width > 0 && height > 0) {
|
if (width > 0 && height > 0) {
|
||||||
if ((duration > 0 || type == "video" || content_type == "video/mp4") && !begins_with(content_type, "image/")) {
|
if ((duration > 0 || type == "video" || content_type == "video/mp4") && !begins_with(content_type, "image/")) {
|
||||||
attributes.push_back(make_tl_object<telegram_api::documentAttributeVideo>(
|
attributes.push_back(make_tl_object<telegram_api::documentAttributeVideo>(
|
||||||
0, false /*ignored*/, false /*ignored*/, duration, width, height));
|
0, false /*ignored*/, false /*ignored*/, false /*ignored*/, duration, width, height, 0));
|
||||||
} else {
|
} else {
|
||||||
attributes.push_back(make_tl_object<telegram_api::documentAttributeImageSize>(width, height));
|
attributes.push_back(make_tl_object<telegram_api::documentAttributeImageSize>(width, height));
|
||||||
}
|
}
|
||||||
|
@ -4280,8 +4280,8 @@ static auto secret_to_telegram(secret_api::documentAttributeSticker &sticker) {
|
|||||||
|
|
||||||
// documentAttributeVideo23 duration:int w:int h:int = DocumentAttribute;
|
// documentAttributeVideo23 duration:int w:int h:int = DocumentAttribute;
|
||||||
static auto secret_to_telegram(secret_api::documentAttributeVideo23 &video) {
|
static auto secret_to_telegram(secret_api::documentAttributeVideo23 &video) {
|
||||||
return make_tl_object<telegram_api::documentAttributeVideo>(0, false /*ignored*/, false /*ignored*/, video.duration_,
|
return make_tl_object<telegram_api::documentAttributeVideo>(
|
||||||
video.w_, video.h_);
|
0, false /*ignored*/, false /*ignored*/, false /*ignored*/, video.duration_, video.w_, video.h_, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// documentAttributeFilename file_name:string = DocumentAttribute;
|
// documentAttributeFilename file_name:string = DocumentAttribute;
|
||||||
@ -4296,7 +4296,7 @@ static auto secret_to_telegram(secret_api::documentAttributeFilename &filename)
|
|||||||
static auto secret_to_telegram(secret_api::documentAttributeVideo &video) {
|
static auto secret_to_telegram(secret_api::documentAttributeVideo &video) {
|
||||||
return make_tl_object<telegram_api::documentAttributeVideo>(
|
return make_tl_object<telegram_api::documentAttributeVideo>(
|
||||||
video.round_message_ ? telegram_api::documentAttributeVideo::ROUND_MESSAGE_MASK : 0, video.round_message_, false,
|
video.round_message_ ? telegram_api::documentAttributeVideo::ROUND_MESSAGE_MASK : 0, video.round_message_, false,
|
||||||
video.duration_, video.w_, video.h_);
|
false /*ignored*/, video.duration_, video.w_, video.h_, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static auto telegram_documentAttributeAudio(bool is_voice_note, int duration, string title, string performer,
|
static auto telegram_documentAttributeAudio(bool is_voice_note, int duration, string title, string performer,
|
||||||
@ -4778,6 +4778,8 @@ unique_ptr<MessageContent> get_message_content(Td *td, FormattedText message,
|
|||||||
}
|
}
|
||||||
return make_unique<MessagePoll>(poll_id);
|
return make_unique<MessagePoll>(poll_id);
|
||||||
}
|
}
|
||||||
|
case telegram_api::messageMediaStory::ID:
|
||||||
|
return make_unique<MessageUnsupported>();
|
||||||
case telegram_api::messageMediaUnsupported::ID:
|
case telegram_api::messageMediaUnsupported::ID:
|
||||||
return make_unique<MessageUnsupported>();
|
return make_unique<MessageUnsupported>();
|
||||||
default:
|
default:
|
||||||
|
@ -14,11 +14,12 @@
|
|||||||
|
|
||||||
namespace td {
|
namespace td {
|
||||||
|
|
||||||
MessageReplyHeader::MessageReplyHeader(tl_object_ptr<telegram_api::messageReplyHeader> &&reply_header,
|
MessageReplyHeader::MessageReplyHeader(tl_object_ptr<telegram_api::MessageReplyHeader> &&reply_header_ptr,
|
||||||
DialogId dialog_id, MessageId message_id, int32 date, bool can_have_thread) {
|
DialogId dialog_id, MessageId message_id, int32 date, bool can_have_thread) {
|
||||||
if (reply_header == nullptr) {
|
if (reply_header_ptr == nullptr || reply_header_ptr->get_id() != telegram_api::messageReplyHeader::ID) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
auto reply_header = telegram_api::move_object_as<telegram_api::messageReplyHeader>(reply_header_ptr);
|
||||||
if (reply_header->reply_to_scheduled_) {
|
if (reply_header->reply_to_scheduled_) {
|
||||||
reply_to_message_id = MessageId(ScheduledServerMessageId(reply_header->reply_to_msg_id_), date);
|
reply_to_message_id = MessageId(ScheduledServerMessageId(reply_header->reply_to_msg_id_), date);
|
||||||
if (message_id.is_scheduled()) {
|
if (message_id.is_scheduled()) {
|
||||||
|
@ -22,7 +22,7 @@ struct MessageReplyHeader {
|
|||||||
|
|
||||||
MessageReplyHeader() = default;
|
MessageReplyHeader() = default;
|
||||||
|
|
||||||
MessageReplyHeader(tl_object_ptr<telegram_api::messageReplyHeader> &&reply_header, DialogId dialog_id,
|
MessageReplyHeader(tl_object_ptr<telegram_api::MessageReplyHeader> &&reply_header_ptr, DialogId dialog_id,
|
||||||
MessageId message_id, int32 date, bool can_have_thread);
|
MessageId message_id, int32 date, bool can_have_thread);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3151,14 +3151,12 @@ class SendMessageQuery final : public Td::ResultHandler {
|
|||||||
flags |= MessagesManager::SEND_MESSAGE_FLAG_HAS_SEND_AS;
|
flags |= MessagesManager::SEND_MESSAGE_FLAG_HAS_SEND_AS;
|
||||||
}
|
}
|
||||||
|
|
||||||
CHECK(reply_to_message_id == MessageId() || reply_to_message_id.is_server());
|
|
||||||
CHECK(top_thread_message_id == MessageId() || top_thread_message_id.is_server());
|
|
||||||
auto query = G()->net_query_creator().create(
|
auto query = G()->net_query_creator().create(
|
||||||
telegram_api::messages_sendMessage(
|
telegram_api::messages_sendMessage(
|
||||||
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, std::move(input_peer), reply_to_message_id.get_server_message_id().get(),
|
false /*ignored*/, std::move(input_peer),
|
||||||
top_thread_message_id.get_server_message_id().get(), text, random_id, std::move(reply_markup),
|
MessagesManager::get_input_reply_to(reply_to_message_id, top_thread_message_id), text, random_id,
|
||||||
std::move(entities), schedule_date, std::move(as_input_peer)),
|
std::move(reply_markup), std::move(entities), schedule_date, std::move(as_input_peer)),
|
||||||
{{dialog_id, MessageContentType::Text},
|
{{dialog_id, MessageContentType::Text},
|
||||||
{dialog_id, is_copy ? MessageContentType::Photo : MessageContentType::Text}});
|
{dialog_id, is_copy ? MessageContentType::Photo : MessageContentType::Text}});
|
||||||
if (td_->option_manager_->get_option_boolean("use_quick_ack")) {
|
if (td_->option_manager_->get_option_boolean("use_quick_ack")) {
|
||||||
@ -3289,8 +3287,8 @@ class SendInlineBotResultQuery final : public Td::ResultHandler {
|
|||||||
auto query = G()->net_query_creator().create(
|
auto query = G()->net_query_creator().create(
|
||||||
telegram_api::messages_sendInlineBotResult(
|
telegram_api::messages_sendInlineBotResult(
|
||||||
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, std::move(input_peer),
|
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, std::move(input_peer),
|
||||||
reply_to_message_id.get_server_message_id().get(), top_thread_message_id.get_server_message_id().get(),
|
MessagesManager::get_input_reply_to(reply_to_message_id, top_thread_message_id), random_id, query_id,
|
||||||
random_id, query_id, result_id, schedule_date, std::move(as_input_peer)),
|
result_id, schedule_date, std::move(as_input_peer)),
|
||||||
{{dialog_id, MessageContentType::Text}, {dialog_id, MessageContentType::Photo}});
|
{{dialog_id, MessageContentType::Text}, {dialog_id, MessageContentType::Photo}});
|
||||||
auto send_query_ref = query.get_weak();
|
auto send_query_ref = query.get_weak();
|
||||||
send_query(std::move(query));
|
send_query(std::move(query));
|
||||||
@ -3353,11 +3351,10 @@ class SendMultiMediaQuery final : public Td::ResultHandler {
|
|||||||
CHECK(reply_to_message_id == MessageId() || reply_to_message_id.is_server());
|
CHECK(reply_to_message_id == MessageId() || reply_to_message_id.is_server());
|
||||||
CHECK(top_thread_message_id == MessageId() || top_thread_message_id.is_server());
|
CHECK(top_thread_message_id == MessageId() || top_thread_message_id.is_server());
|
||||||
send_query(G()->net_query_creator().create(
|
send_query(G()->net_query_creator().create(
|
||||||
telegram_api::messages_sendMultiMedia(flags, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
telegram_api::messages_sendMultiMedia(
|
||||||
false /*ignored*/, false /*ignored*/, std::move(input_peer),
|
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
reply_to_message_id.get_server_message_id().get(),
|
std::move(input_peer), MessagesManager::get_input_reply_to(reply_to_message_id, top_thread_message_id),
|
||||||
top_thread_message_id.get_server_message_id().get(),
|
std::move(input_single_media), schedule_date, std::move(as_input_peer)),
|
||||||
std::move(input_single_media), schedule_date, std::move(as_input_peer)),
|
|
||||||
{{dialog_id, is_copy ? MessageContentType::Text : MessageContentType::Photo},
|
{{dialog_id, is_copy ? MessageContentType::Text : MessageContentType::Photo},
|
||||||
{dialog_id, MessageContentType::Photo}}));
|
{dialog_id, MessageContentType::Photo}}));
|
||||||
}
|
}
|
||||||
@ -3475,9 +3472,9 @@ class SendMediaQuery final : public Td::ResultHandler {
|
|||||||
auto query = G()->net_query_creator().create(
|
auto query = G()->net_query_creator().create(
|
||||||
telegram_api::messages_sendMedia(
|
telegram_api::messages_sendMedia(
|
||||||
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
std::move(input_peer), reply_to_message_id.get_server_message_id().get(),
|
std::move(input_peer), MessagesManager::get_input_reply_to(reply_to_message_id, top_thread_message_id),
|
||||||
top_thread_message_id.get_server_message_id().get(), std::move(input_media), text, random_id,
|
std::move(input_media), text, random_id, std::move(reply_markup), std::move(entities), schedule_date,
|
||||||
std::move(reply_markup), std::move(entities), schedule_date, std::move(as_input_peer)),
|
std::move(as_input_peer)),
|
||||||
{{dialog_id, content_type}, {dialog_id, is_copy ? MessageContentType::Text : content_type}});
|
{{dialog_id, content_type}, {dialog_id, is_copy ? MessageContentType::Text : content_type}});
|
||||||
if (td_->option_manager_->get_option_boolean("use_quick_ack") && was_uploaded_) {
|
if (td_->option_manager_->get_option_boolean("use_quick_ack") && was_uploaded_) {
|
||||||
query->quick_ack_promise_ = PromiseCreator::lambda([random_id](Result<Unit> result) {
|
query->quick_ack_promise_ = PromiseCreator::lambda([random_id](Result<Unit> result) {
|
||||||
@ -3941,7 +3938,8 @@ class SendScreenshotNotificationQuery final : public Td::ResultHandler {
|
|||||||
CHECK(input_peer != nullptr);
|
CHECK(input_peer != nullptr);
|
||||||
|
|
||||||
send_query(G()->net_query_creator().create(
|
send_query(G()->net_query_creator().create(
|
||||||
telegram_api::messages_sendScreenshotNotification(std::move(input_peer), 0, random_id),
|
telegram_api::messages_sendScreenshotNotification(
|
||||||
|
std::move(input_peer), telegram_api::make_object<telegram_api::inputReplyToMessage>(0, 0, 0), random_id),
|
||||||
{{dialog_id, MessageContentType::Text}}));
|
{{dialog_id, MessageContentType::Text}}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27304,14 +27302,9 @@ bool MessagesManager::get_message_disable_web_page_preview(const Message *m) {
|
|||||||
|
|
||||||
int32 MessagesManager::get_message_flags(const Message *m) {
|
int32 MessagesManager::get_message_flags(const Message *m) {
|
||||||
int32 flags = 0;
|
int32 flags = 0;
|
||||||
if (m->reply_to_message_id.is_valid()) {
|
if (m->reply_to_message_id.is_valid() || m->top_thread_message_id.is_valid()) {
|
||||||
CHECK(m->reply_to_message_id.is_server());
|
|
||||||
flags |= SEND_MESSAGE_FLAG_IS_REPLY;
|
flags |= SEND_MESSAGE_FLAG_IS_REPLY;
|
||||||
}
|
}
|
||||||
if (m->top_thread_message_id.is_valid()) {
|
|
||||||
CHECK(m->top_thread_message_id.is_server());
|
|
||||||
flags |= SEND_MESSAGE_FLAG_IS_FROM_THREAD;
|
|
||||||
}
|
|
||||||
if (m->disable_web_page_preview) {
|
if (m->disable_web_page_preview) {
|
||||||
flags |= SEND_MESSAGE_FLAG_DISABLE_WEB_PAGE_PREVIEW;
|
flags |= SEND_MESSAGE_FLAG_DISABLE_WEB_PAGE_PREVIEW;
|
||||||
}
|
}
|
||||||
|
@ -164,6 +164,24 @@ class MessagesManager final : public Actor {
|
|||||||
MessagesManager &operator=(MessagesManager &&) = delete;
|
MessagesManager &operator=(MessagesManager &&) = delete;
|
||||||
~MessagesManager() final;
|
~MessagesManager() final;
|
||||||
|
|
||||||
|
static telegram_api::object_ptr<telegram_api::InputReplyTo> get_input_reply_to(MessageId reply_to_message_id,
|
||||||
|
MessageId top_thread_message_id) {
|
||||||
|
if (reply_to_message_id == MessageId()) {
|
||||||
|
if (top_thread_message_id == MessageId()) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
reply_to_message_id = top_thread_message_id;
|
||||||
|
}
|
||||||
|
CHECK(reply_to_message_id.is_server());
|
||||||
|
int32 flags = 0;
|
||||||
|
if (top_thread_message_id != MessageId()) {
|
||||||
|
CHECK(top_thread_message_id.is_server());
|
||||||
|
flags |= telegram_api::inputReplyToMessage::TOP_MSG_ID_MASK;
|
||||||
|
}
|
||||||
|
return telegram_api::make_object<telegram_api::inputReplyToMessage>(
|
||||||
|
flags, reply_to_message_id.get_server_message_id().get(), top_thread_message_id.get_server_message_id().get());
|
||||||
|
}
|
||||||
|
|
||||||
tl_object_ptr<telegram_api::InputPeer> get_input_peer(DialogId dialog_id, AccessRights access_rights) const;
|
tl_object_ptr<telegram_api::InputPeer> get_input_peer(DialogId dialog_id, AccessRights access_rights) const;
|
||||||
|
|
||||||
static tl_object_ptr<telegram_api::InputPeer> get_input_peer_force(DialogId dialog_id);
|
static tl_object_ptr<telegram_api::InputPeer> get_input_peer_force(DialogId dialog_id);
|
||||||
|
@ -3365,9 +3365,10 @@ Status NotificationManager::process_push_notification_payload(string payload, bo
|
|||||||
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, false /*ignored*/, false /*ignored*/, 0, false /*ignored*/, sender_user_id.get(),
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, 0, false /*ignored*/, false /*ignored*/,
|
||||||
sender_access_hash, user_name, string(), string(), string(), std::move(sender_photo), nullptr, 0, Auto(),
|
false /*ignored*/, false /*ignored*/, sender_user_id.get(), sender_access_hash, user_name, string(), string(),
|
||||||
string(), string(), nullptr, vector<telegram_api::object_ptr<telegram_api::username>>());
|
string(), std::move(sender_photo), nullptr, 0, Auto(), string(), string(), nullptr,
|
||||||
|
vector<telegram_api::object_ptr<telegram_api::username>>(), 0);
|
||||||
td_->contacts_manager_->on_get_user(std::move(user), "process_push_notification_payload");
|
td_->contacts_manager_->on_get_user(std::move(user), "process_push_notification_payload");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3723,9 +3724,9 @@ void NotificationManager::add_message_push_notification(DialogId dialog_id, Mess
|
|||||||
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, false /*ignored*/, false /*ignored*/, 0, false /*ignored*/, sender_user_id.get(), 0,
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, 0, false /*ignored*/, false /*ignored*/,
|
||||||
user_name, string(), string(), string(), nullptr, nullptr, 0, Auto(), string(), string(), nullptr,
|
false /*ignored*/, false /*ignored*/, sender_user_id.get(), 0, user_name, string(), string(), string(), nullptr,
|
||||||
vector<telegram_api::object_ptr<telegram_api::username>>());
|
nullptr, 0, Auto(), string(), string(), nullptr, vector<telegram_api::object_ptr<telegram_api::username>>(), 0);
|
||||||
td_->contacts_manager_->on_get_user(std::move(user), "add_message_push_notification");
|
td_->contacts_manager_->on_get_user(std::move(user), "add_message_push_notification");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,8 +238,8 @@ class GetNotifySettingsExceptionsQuery final : public Td::ResultHandler {
|
|||||||
if (compare_sound) {
|
if (compare_sound) {
|
||||||
flags |= telegram_api::account_getNotifyExceptions::COMPARE_SOUND_MASK;
|
flags |= telegram_api::account_getNotifyExceptions::COMPARE_SOUND_MASK;
|
||||||
}
|
}
|
||||||
send_query(G()->net_query_creator().create(
|
send_query(G()->net_query_creator().create(telegram_api::account_getNotifyExceptions(
|
||||||
telegram_api::account_getNotifyExceptions(flags, false /*ignored*/, std::move(input_notify_peer))));
|
flags, false /*ignored*/, false /*ignored*/, std::move(input_notify_peer))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_result(BufferSlice packet) final {
|
void on_result(BufferSlice packet) final {
|
||||||
@ -348,9 +348,10 @@ class UpdateDialogNotifySettingsQuery final : public Td::ResultHandler {
|
|||||||
flags |= telegram_api::inputPeerNotifySettings::SILENT_MASK;
|
flags |= telegram_api::inputPeerNotifySettings::SILENT_MASK;
|
||||||
}
|
}
|
||||||
send_query(G()->net_query_creator().create(telegram_api::account_updateNotifySettings(
|
send_query(G()->net_query_creator().create(telegram_api::account_updateNotifySettings(
|
||||||
std::move(input_notify_peer), make_tl_object<telegram_api::inputPeerNotifySettings>(
|
std::move(input_notify_peer),
|
||||||
flags, new_settings.show_preview, new_settings.silent_send_message,
|
make_tl_object<telegram_api::inputPeerNotifySettings>(
|
||||||
new_settings.mute_until, get_input_notification_sound(new_settings.sound)))));
|
flags, new_settings.show_preview, new_settings.silent_send_message, new_settings.mute_until,
|
||||||
|
get_input_notification_sound(new_settings.sound), false, false, nullptr))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_result(BufferSlice packet) final {
|
void on_result(BufferSlice packet) final {
|
||||||
@ -402,7 +403,7 @@ class UpdateScopeNotifySettingsQuery final : public Td::ResultHandler {
|
|||||||
send_query(G()->net_query_creator().create(telegram_api::account_updateNotifySettings(
|
send_query(G()->net_query_creator().create(telegram_api::account_updateNotifySettings(
|
||||||
std::move(input_notify_peer), make_tl_object<telegram_api::inputPeerNotifySettings>(
|
std::move(input_notify_peer), make_tl_object<telegram_api::inputPeerNotifySettings>(
|
||||||
flags, new_settings.show_preview, false, new_settings.mute_until,
|
flags, new_settings.show_preview, false, new_settings.mute_until,
|
||||||
get_input_notification_sound(new_settings.sound)))));
|
get_input_notification_sound(new_settings.sound), false, false, nullptr))));
|
||||||
scope_ = scope;
|
scope_ = scope;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -233,6 +233,9 @@ PrivacyManager::UserPrivacySettingRule::UserPrivacySettingRule(const telegram_ap
|
|||||||
case telegram_api::privacyValueAllowContacts::ID:
|
case telegram_api::privacyValueAllowContacts::ID:
|
||||||
type_ = Type::AllowContacts;
|
type_ = Type::AllowContacts;
|
||||||
break;
|
break;
|
||||||
|
case telegram_api::privacyValueAllowCloseFriends::ID:
|
||||||
|
type_ = Type::AllowContacts;
|
||||||
|
break;
|
||||||
case telegram_api::privacyValueAllowAll::ID:
|
case telegram_api::privacyValueAllowAll::ID:
|
||||||
type_ = Type::AllowAll;
|
type_ = Type::AllowAll;
|
||||||
break;
|
break;
|
||||||
|
@ -728,12 +728,13 @@ bool UpdatesManager::is_acceptable_reply_markup(const tl_object_ptr<telegram_api
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool UpdatesManager::is_acceptable_message_reply_header(
|
bool UpdatesManager::is_acceptable_message_reply_header(
|
||||||
const telegram_api::object_ptr<telegram_api::messageReplyHeader> &header) const {
|
const telegram_api::object_ptr<telegram_api::MessageReplyHeader> &header) const {
|
||||||
if (header == nullptr) {
|
if (header == nullptr || header->get_id() != telegram_api::messageReplyHeader::ID) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_acceptable_peer(header->reply_to_peer_id_)) {
|
auto reply_header = static_cast<const telegram_api::messageReplyHeader *>(header.get());
|
||||||
|
if (!is_acceptable_peer(reply_header->reply_to_peer_id_)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -790,12 +791,19 @@ bool UpdatesManager::is_acceptable_message(const telegram_api::Message *message_
|
|||||||
if (message->media_ != nullptr) {
|
if (message->media_ != nullptr) {
|
||||||
auto media_id = message->media_->get_id();
|
auto media_id = message->media_->get_id();
|
||||||
if (media_id == telegram_api::messageMediaContact::ID) {
|
if (media_id == telegram_api::messageMediaContact::ID) {
|
||||||
auto message_media_contact = static_cast<const telegram_api::messageMediaContact *>(message->media_.get());
|
auto message_media = static_cast<const telegram_api::messageMediaContact *>(message->media_.get());
|
||||||
UserId user_id(message_media_contact->user_id_);
|
UserId user_id(message_media->user_id_);
|
||||||
if (user_id != UserId() && !is_acceptable_user(user_id)) {
|
if (user_id != UserId() && !is_acceptable_user(user_id)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (media_id == telegram_api::messageMediaStory::ID) {
|
||||||
|
auto message_media = static_cast<const telegram_api::messageMediaStory *>(message->media_.get());
|
||||||
|
UserId user_id(message_media->user_id_);
|
||||||
|
if (!is_acceptable_user(user_id)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
// the users and chats are always min, so no need to check
|
// the users and chats are always min, so no need to check
|
||||||
if (media_id == telegram_api::messageMediaPoll::ID) {
|
if (media_id == telegram_api::messageMediaPoll::ID) {
|
||||||
@ -4183,4 +4191,16 @@ void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateAutoSaveSetting
|
|||||||
|
|
||||||
// unsupported updates
|
// unsupported updates
|
||||||
|
|
||||||
|
void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateStory> update, Promise<Unit> &&promise) {
|
||||||
|
promise.set_value(Unit());
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateReadStories> update, Promise<Unit> &&promise) {
|
||||||
|
promise.set_value(Unit());
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateStoryID> update, Promise<Unit> &&promise) {
|
||||||
|
promise.set_value(Unit());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace td
|
} // namespace td
|
||||||
|
@ -445,7 +445,7 @@ class UpdatesManager final : public Actor {
|
|||||||
bool is_acceptable_reply_markup(const tl_object_ptr<telegram_api::ReplyMarkup> &reply_markup) const;
|
bool is_acceptable_reply_markup(const tl_object_ptr<telegram_api::ReplyMarkup> &reply_markup) const;
|
||||||
|
|
||||||
bool is_acceptable_message_reply_header(
|
bool is_acceptable_message_reply_header(
|
||||||
const telegram_api::object_ptr<telegram_api::messageReplyHeader> &header) const;
|
const telegram_api::object_ptr<telegram_api::MessageReplyHeader> &header) const;
|
||||||
|
|
||||||
bool is_acceptable_message_forward_header(
|
bool is_acceptable_message_forward_header(
|
||||||
const telegram_api::object_ptr<telegram_api::messageFwdHeader> &header) const;
|
const telegram_api::object_ptr<telegram_api::messageFwdHeader> &header) const;
|
||||||
@ -614,6 +614,12 @@ class UpdatesManager final : public Actor {
|
|||||||
void on_update(tl_object_ptr<telegram_api::updateAutoSaveSettings> update, Promise<Unit> &&promise);
|
void on_update(tl_object_ptr<telegram_api::updateAutoSaveSettings> update, Promise<Unit> &&promise);
|
||||||
|
|
||||||
// unsupported updates
|
// unsupported updates
|
||||||
|
|
||||||
|
void on_update(tl_object_ptr<telegram_api::updateStory> update, Promise<Unit> &&promise);
|
||||||
|
|
||||||
|
void on_update(tl_object_ptr<telegram_api::updateReadStories> update, Promise<Unit> &&promise);
|
||||||
|
|
||||||
|
void on_update(tl_object_ptr<telegram_api::updateStoryID> update, Promise<Unit> &&promise);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace td
|
} // namespace td
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
namespace td {
|
namespace td {
|
||||||
|
|
||||||
constexpr int32 MTPROTO_LAYER = 159;
|
constexpr int32 MTPROTO_LAYER = 160;
|
||||||
|
|
||||||
enum class Version : int32 {
|
enum class Version : int32 {
|
||||||
Initial, // 0
|
Initial, // 0
|
||||||
|
@ -350,8 +350,9 @@ tl_object_ptr<telegram_api::InputMedia> VideoNotesManager::get_input_media(
|
|||||||
narrow_cast<int32>(td_->option_manager_->get_option_integer("suggested_video_note_length", 384));
|
narrow_cast<int32>(td_->option_manager_->get_option_integer("suggested_video_note_length", 384));
|
||||||
attributes.push_back(make_tl_object<telegram_api::documentAttributeVideo>(
|
attributes.push_back(make_tl_object<telegram_api::documentAttributeVideo>(
|
||||||
telegram_api::documentAttributeVideo::ROUND_MESSAGE_MASK, false /*ignored*/, false /*ignored*/,
|
telegram_api::documentAttributeVideo::ROUND_MESSAGE_MASK, false /*ignored*/, false /*ignored*/,
|
||||||
video_note->duration, video_note->dimensions.width ? video_note->dimensions.width : suggested_video_note_length,
|
false /*ignored*/, video_note->duration,
|
||||||
video_note->dimensions.height ? video_note->dimensions.height : suggested_video_note_length));
|
video_note->dimensions.width ? video_note->dimensions.width : suggested_video_note_length,
|
||||||
|
video_note->dimensions.height ? video_note->dimensions.height : suggested_video_note_length, 0));
|
||||||
int32 flags = telegram_api::inputMediaUploadedDocument::NOSOUND_VIDEO_MASK;
|
int32 flags = telegram_api::inputMediaUploadedDocument::NOSOUND_VIDEO_MASK;
|
||||||
if (input_thumbnail != nullptr) {
|
if (input_thumbnail != nullptr) {
|
||||||
flags |= telegram_api::inputMediaUploadedDocument::THUMB_MASK;
|
flags |= telegram_api::inputMediaUploadedDocument::THUMB_MASK;
|
||||||
|
@ -264,8 +264,8 @@ tl_object_ptr<telegram_api::InputMedia> VideosManager::get_input_media(
|
|||||||
|
|
||||||
vector<tl_object_ptr<telegram_api::DocumentAttribute>> attributes;
|
vector<tl_object_ptr<telegram_api::DocumentAttribute>> attributes;
|
||||||
attributes.push_back(make_tl_object<telegram_api::documentAttributeVideo>(
|
attributes.push_back(make_tl_object<telegram_api::documentAttributeVideo>(
|
||||||
attribute_flags, false /*ignored*/, false /*ignored*/, video->duration, video->dimensions.width,
|
attribute_flags, false /*ignored*/, false /*ignored*/, false /*ignored*/, video->duration,
|
||||||
video->dimensions.height));
|
video->dimensions.width, video->dimensions.height, 0));
|
||||||
if (!video->file_name.empty()) {
|
if (!video->file_name.empty()) {
|
||||||
attributes.push_back(make_tl_object<telegram_api::documentAttributeFilename>(video->file_name));
|
attributes.push_back(make_tl_object<telegram_api::documentAttributeFilename>(video->file_name));
|
||||||
}
|
}
|
||||||
|
@ -507,20 +507,30 @@ WebPageId WebPagesManager::on_get_web_page(tl_object_ptr<telegram_api::WebPage>
|
|||||||
page->document = std::move(parsed_document);
|
page->document = std::move(parsed_document);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (auto &attribute : web_page->attributes_) {
|
page->documents.clear();
|
||||||
CHECK(attribute != nullptr);
|
for (auto &attribute_ptr : web_page->attributes_) {
|
||||||
page->documents.clear();
|
CHECK(attribute_ptr != nullptr);
|
||||||
for (auto &document : attribute->documents_) {
|
switch (attribute_ptr->get_id()) {
|
||||||
int32 document_id = document->get_id();
|
case telegram_api::webPageAttributeTheme::ID: {
|
||||||
if (document_id == telegram_api::document::ID) {
|
auto attribute = telegram_api::move_object_as<telegram_api::webPageAttributeTheme>(attribute_ptr);
|
||||||
auto parsed_document = td_->documents_manager_->on_get_document(
|
for (auto &document : attribute->documents_) {
|
||||||
move_tl_object_as<telegram_api::document>(document), owner_dialog_id);
|
int32 document_id = document->get_id();
|
||||||
if (!parsed_document.empty()) {
|
if (document_id == telegram_api::document::ID) {
|
||||||
page->documents.push_back(std::move(parsed_document));
|
auto parsed_document = td_->documents_manager_->on_get_document(
|
||||||
|
move_tl_object_as<telegram_api::document>(document), owner_dialog_id);
|
||||||
|
if (!parsed_document.empty()) {
|
||||||
|
page->documents.push_back(std::move(parsed_document));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
// TODO attribute->settings_
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case telegram_api::webPageAttributeStory::ID: {
|
||||||
|
// auto attribute = telegram_api::move_object_as<telegram_api::webPageAttributeStory>(attribute_ptr);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// TODO attribute->settings_
|
|
||||||
}
|
}
|
||||||
if (web_page->cached_page_ != nullptr) {
|
if (web_page->cached_page_ != nullptr) {
|
||||||
on_get_web_page_instant_view(page.get(), std::move(web_page->cached_page_), web_page->hash_, owner_dialog_id);
|
on_get_web_page_instant_view(page.get(), std::move(web_page->cached_page_), web_page->hash_, owner_dialog_id);
|
||||||
|
Loading…
Reference in New Issue
Block a user