Update layer to 145.
This commit is contained in:
parent
96fc91e239
commit
bb2034ae36
@ -101,7 +101,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#3ff6ecb0 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 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 = User;
|
user#5d99adee 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 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 = User;
|
||||||
|
|
||||||
userProfilePhotoEmpty#4f11bae1 = UserProfilePhoto;
|
userProfilePhotoEmpty#4f11bae1 = UserProfilePhoto;
|
||||||
userProfilePhoto#82d1f706 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = UserProfilePhoto;
|
userProfilePhoto#82d1f706 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = UserProfilePhoto;
|
||||||
@ -119,8 +119,8 @@ chatForbidden#6592a1a7 id:long title:string = Chat;
|
|||||||
channel#8261ac61 flags:# creator:flags.0?true left:flags.2?true broadcast:flags.5?true verified:flags.7?true megagroup:flags.8?true restricted:flags.9?true signatures:flags.11?true min:flags.12?true scam:flags.19?true has_link:flags.20?true has_geo:flags.21?true slowmode_enabled:flags.22?true call_active:flags.23?true call_not_empty:flags.24?true fake:flags.25?true gigagroup:flags.26?true noforwards:flags.27?true join_to_send:flags.28?true join_request:flags.29?true id:long access_hash:flags.13?long title:string username:flags.6?string photo:ChatPhoto date:int restriction_reason:flags.9?Vector<RestrictionReason> admin_rights:flags.14?ChatAdminRights banned_rights:flags.15?ChatBannedRights default_banned_rights:flags.18?ChatBannedRights participants_count:flags.17?int = Chat;
|
channel#8261ac61 flags:# creator:flags.0?true left:flags.2?true broadcast:flags.5?true verified:flags.7?true megagroup:flags.8?true restricted:flags.9?true signatures:flags.11?true min:flags.12?true scam:flags.19?true has_link:flags.20?true has_geo:flags.21?true slowmode_enabled:flags.22?true call_active:flags.23?true call_not_empty:flags.24?true fake:flags.25?true gigagroup:flags.26?true noforwards:flags.27?true join_to_send:flags.28?true join_request:flags.29?true id:long access_hash:flags.13?long title:string username:flags.6?string photo:ChatPhoto date:int restriction_reason:flags.9?Vector<RestrictionReason> admin_rights:flags.14?ChatAdminRights banned_rights:flags.15?ChatBannedRights default_banned_rights:flags.18?ChatBannedRights participants_count:flags.17?int = Chat;
|
||||||
channelForbidden#17d493d5 flags:# broadcast:flags.5?true megagroup:flags.8?true id:long access_hash:long title:string until_date:flags.16?int = Chat;
|
channelForbidden#17d493d5 flags:# broadcast:flags.5?true megagroup:flags.8?true id:long access_hash:long title:string until_date:flags.16?int = Chat;
|
||||||
|
|
||||||
chatFull#d18ee226 flags:# can_set_username:flags.7?true has_scheduled:flags.8?true id:long about:string participants:ChatParticipants chat_photo:flags.2?Photo notify_settings:PeerNotifySettings exported_invite:flags.13?ExportedChatInvite bot_info:flags.3?Vector<BotInfo> pinned_msg_id:flags.6?int folder_id:flags.11?int call:flags.12?InputGroupCall ttl_period:flags.14?int groupcall_default_join_as:flags.15?Peer theme_emoticon:flags.16?string requests_pending:flags.17?int recent_requesters:flags.17?Vector<long> available_reactions:flags.18?Vector<string> = ChatFull;
|
chatFull#c9d31138 flags:# can_set_username:flags.7?true has_scheduled:flags.8?true id:long about:string participants:ChatParticipants chat_photo:flags.2?Photo notify_settings:PeerNotifySettings exported_invite:flags.13?ExportedChatInvite bot_info:flags.3?Vector<BotInfo> pinned_msg_id:flags.6?int folder_id:flags.11?int call:flags.12?InputGroupCall ttl_period:flags.14?int groupcall_default_join_as:flags.15?Peer theme_emoticon:flags.16?string requests_pending:flags.17?int recent_requesters:flags.17?Vector<long> available_reactions:flags.18?ChatReactions = ChatFull;
|
||||||
channelFull#ea68a619 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true flags2:# can_delete_channel:flags2.0?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?Vector<string> = ChatFull;
|
channelFull#f2355507 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true flags2:# can_delete_channel:flags2.0?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?ChatReactions = ChatFull;
|
||||||
|
|
||||||
chatParticipant#c02d4007 user_id:long inviter_id:long date:int = ChatParticipant;
|
chatParticipant#c02d4007 user_id:long inviter_id:long date:int = ChatParticipant;
|
||||||
chatParticipantCreator#e46bcee4 user_id:long = ChatParticipant;
|
chatParticipantCreator#e46bcee4 user_id:long = ChatParticipant;
|
||||||
@ -315,7 +315,7 @@ updateChannelMessageViews#f226ac08 channel_id:long id:int views:int = Update;
|
|||||||
updateChatParticipantAdmin#d7ca61a2 chat_id:long user_id:long is_admin:Bool version:int = Update;
|
updateChatParticipantAdmin#d7ca61a2 chat_id:long user_id:long is_admin:Bool version:int = Update;
|
||||||
updateNewStickerSet#688a30aa stickerset:messages.StickerSet = Update;
|
updateNewStickerSet#688a30aa stickerset:messages.StickerSet = Update;
|
||||||
updateStickerSetsOrder#bb2d201 flags:# masks:flags.0?true emojis:flags.1?true order:Vector<long> = Update;
|
updateStickerSetsOrder#bb2d201 flags:# masks:flags.0?true emojis:flags.1?true order:Vector<long> = Update;
|
||||||
updateStickerSets#43ae3dec = Update;
|
updateStickerSets#31c24808 flags:# masks:flags.0?true emojis:flags.1?true = Update;
|
||||||
updateSavedGifs#9375341e = Update;
|
updateSavedGifs#9375341e = Update;
|
||||||
updateBotInlineQuery#496f379c flags:# query_id:long user_id:long query:string geo:flags.0?GeoPoint peer_type:flags.1?InlineQueryPeerType offset:string = Update;
|
updateBotInlineQuery#496f379c flags:# query_id:long user_id:long query:string geo:flags.0?GeoPoint peer_type:flags.1?InlineQueryPeerType offset:string = Update;
|
||||||
updateBotInlineSend#12f12a07 flags:# user_id:long query:string geo:flags.0?GeoPoint id:string msg_id:flags.1?InputBotInlineMessageID = Update;
|
updateBotInlineSend#12f12a07 flags:# user_id:long query:string geo:flags.0?GeoPoint id:string msg_id:flags.1?InputBotInlineMessageID = Update;
|
||||||
@ -384,6 +384,10 @@ updateBotMenuButton#14b85813 bot_id:long button:BotMenuButton = Update;
|
|||||||
updateSavedRingtones#74d8be99 = Update;
|
updateSavedRingtones#74d8be99 = Update;
|
||||||
updateTranscribedAudio#84cd5a flags:# pending:flags.0?true peer:Peer msg_id:int transcription_id:long text:string = Update;
|
updateTranscribedAudio#84cd5a flags:# pending:flags.0?true peer:Peer msg_id:int transcription_id:long text:string = Update;
|
||||||
updateReadFeaturedEmojiStickers#fb4c496c = Update;
|
updateReadFeaturedEmojiStickers#fb4c496c = Update;
|
||||||
|
updateUserEmojiStatus#28373599 user_id:long emoji_status:EmojiStatus = Update;
|
||||||
|
updateRecentEmojiStatuses#30f443db = Update;
|
||||||
|
updateRecentReactions#6f7863f4 = Update;
|
||||||
|
updateMoveStickerSetToTop#86fccf85 flags:# masks:flags.0?true emojis:flags.1?true stickerset: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;
|
||||||
|
|
||||||
@ -410,7 +414,7 @@ upload.fileCdnRedirect#f18cda44 dc_id:int file_token:bytes encryption_key:bytes
|
|||||||
|
|
||||||
dcOption#18b7a10d flags:# ipv6:flags.0?true media_only:flags.1?true tcpo_only:flags.2?true cdn:flags.3?true static:flags.4?true this_port_only:flags.5?true id:int ip_address:string port:int secret:flags.10?bytes = DcOption;
|
dcOption#18b7a10d flags:# ipv6:flags.0?true media_only:flags.1?true tcpo_only:flags.2?true cdn:flags.3?true static:flags.4?true this_port_only:flags.5?true id:int ip_address:string port:int secret:flags.10?bytes = DcOption;
|
||||||
|
|
||||||
config#330b4067 flags:# phonecalls_enabled:flags.1?true default_p2p_contacts:flags.3?true preload_featured_stickers:flags.4?true ignore_phone_entities:flags.5?true revoke_pm_inbox:flags.6?true blocked_mode:flags.8?true pfs_enabled:flags.13?true force_try_ipv6:flags.14?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector<DcOption> dc_txt_domain_name:string chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int revoke_time_limit:int revoke_pm_time_limit:int rating_e_decay:int stickers_recent_limit:int stickers_faved_limit:int channels_read_media_period:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int pinned_infolder_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string autoupdate_url_prefix:flags.7?string gif_search_username:flags.9?string venue_search_username:flags.10?string img_search_username:flags.11?string static_maps_provider:flags.12?string caption_length_max:int message_length_max:int webfile_dc_id:int suggested_lang_code:flags.2?string lang_pack_version:flags.2?int base_lang_pack_version:flags.2?int = Config;
|
config#232566ac flags:# phonecalls_enabled:flags.1?true default_p2p_contacts:flags.3?true preload_featured_stickers:flags.4?true ignore_phone_entities:flags.5?true revoke_pm_inbox:flags.6?true blocked_mode:flags.8?true pfs_enabled:flags.13?true force_try_ipv6:flags.14?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector<DcOption> dc_txt_domain_name:string chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int revoke_time_limit:int revoke_pm_time_limit:int rating_e_decay:int stickers_recent_limit:int stickers_faved_limit:int channels_read_media_period:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int pinned_infolder_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string autoupdate_url_prefix:flags.7?string gif_search_username:flags.9?string venue_search_username:flags.10?string img_search_username:flags.11?string static_maps_provider:flags.12?string caption_length_max:int message_length_max:int webfile_dc_id:int suggested_lang_code:flags.2?string lang_pack_version:flags.2?int base_lang_pack_version:flags.2?int reactions_default:flags.15?Reaction = Config;
|
||||||
|
|
||||||
nearestDc#8e1a1775 country:string this_dc:int nearest_dc:int = NearestDc;
|
nearestDc#8e1a1775 country:string this_dc:int nearest_dc:int = NearestDc;
|
||||||
|
|
||||||
@ -548,7 +552,7 @@ authorization#ad01d61d flags:# current:flags.0?true official_app:flags.1?true pa
|
|||||||
|
|
||||||
account.authorizations#4bff8ea0 authorization_ttl_days:int authorizations:Vector<Authorization> = account.Authorizations;
|
account.authorizations#4bff8ea0 authorization_ttl_days:int authorizations:Vector<Authorization> = account.Authorizations;
|
||||||
|
|
||||||
account.password#185b184f flags:# has_recovery:flags.0?true has_secure_values:flags.1?true has_password:flags.2?true current_algo:flags.2?PasswordKdfAlgo srp_B:flags.2?bytes srp_id:flags.2?long hint:flags.3?string email_unconfirmed_pattern:flags.4?string new_algo:PasswordKdfAlgo new_secure_algo:SecurePasswordKdfAlgo secure_random:bytes pending_reset_date:flags.5?int = account.Password;
|
account.password#957b50fb flags:# has_recovery:flags.0?true has_secure_values:flags.1?true has_password:flags.2?true current_algo:flags.2?PasswordKdfAlgo srp_B:flags.2?bytes srp_id:flags.2?long hint:flags.3?string email_unconfirmed_pattern:flags.4?string new_algo:PasswordKdfAlgo new_secure_algo:SecurePasswordKdfAlgo secure_random:bytes pending_reset_date:flags.5?int login_email_pattern:flags.6?string = account.Password;
|
||||||
|
|
||||||
account.passwordSettings#9a5c33e5 flags:# email:flags.0?string secure_settings:flags.1?SecureSecretSettings = account.PasswordSettings;
|
account.passwordSettings#9a5c33e5 flags:# email:flags.0?string secure_settings:flags.1?SecureSecretSettings = account.PasswordSettings;
|
||||||
|
|
||||||
@ -572,6 +576,8 @@ inputStickerSetAnimatedEmoji#28703c8 = InputStickerSet;
|
|||||||
inputStickerSetDice#e67f520e emoticon:string = InputStickerSet;
|
inputStickerSetDice#e67f520e emoticon:string = InputStickerSet;
|
||||||
inputStickerSetAnimatedEmojiAnimations#cde3739 = InputStickerSet;
|
inputStickerSetAnimatedEmojiAnimations#cde3739 = InputStickerSet;
|
||||||
inputStickerSetPremiumGifts#c88b3b02 = InputStickerSet;
|
inputStickerSetPremiumGifts#c88b3b02 = InputStickerSet;
|
||||||
|
inputStickerSetEmojiGenericAnimations#4c4d4ce = InputStickerSet;
|
||||||
|
inputStickerSetEmojiDefaultStatuses#29d0f5ee = InputStickerSet;
|
||||||
|
|
||||||
stickerSet#2dd14edc flags:# archived:flags.1?true official:flags.2?true masks:flags.3?true animated:flags.5?true videos:flags.6?true emojis:flags.7?true installed_date:flags.0?int id:long access_hash:long title:string short_name:string thumbs:flags.4?Vector<PhotoSize> thumb_dc_id:flags.4?int thumb_version:flags.4?int thumb_document_id:flags.8?long count:int hash:int = StickerSet;
|
stickerSet#2dd14edc flags:# archived:flags.1?true official:flags.2?true masks:flags.3?true animated:flags.5?true videos:flags.6?true emojis:flags.7?true installed_date:flags.0?int id:long access_hash:long title:string short_name:string thumbs:flags.4?Vector<PhotoSize> thumb_dc_id:flags.4?int thumb_version:flags.4?int thumb_document_id:flags.8?long count:int hash:int = StickerSet;
|
||||||
|
|
||||||
@ -707,6 +713,8 @@ auth.sentCodeTypeSms#c000bba2 length:int = auth.SentCodeType;
|
|||||||
auth.sentCodeTypeCall#5353e5a7 length:int = auth.SentCodeType;
|
auth.sentCodeTypeCall#5353e5a7 length:int = auth.SentCodeType;
|
||||||
auth.sentCodeTypeFlashCall#ab03c6d9 pattern:string = auth.SentCodeType;
|
auth.sentCodeTypeFlashCall#ab03c6d9 pattern:string = auth.SentCodeType;
|
||||||
auth.sentCodeTypeMissedCall#82006484 prefix:string length:int = auth.SentCodeType;
|
auth.sentCodeTypeMissedCall#82006484 prefix:string length:int = auth.SentCodeType;
|
||||||
|
auth.sentCodeTypeEmailCode#5a159841 flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true email_pattern:string length:int next_phone_login_date:flags.2?int = auth.SentCodeType;
|
||||||
|
auth.sentCodeTypeSetUpEmailRequired#a5491dea flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true = auth.SentCodeType;
|
||||||
|
|
||||||
messages.botCallbackAnswer#36585ea4 flags:# alert:flags.1?true has_url:flags.3?true native_ui:flags.4?true message:flags.0?string url:flags.2?string cache_time:int = messages.BotCallbackAnswer;
|
messages.botCallbackAnswer#36585ea4 flags:# alert:flags.1?true has_url:flags.3?true native_ui:flags.4?true message:flags.0?string url:flags.2?string cache_time:int = messages.BotCallbackAnswer;
|
||||||
|
|
||||||
@ -933,7 +941,7 @@ channelAdminLogEventActionChangeHistoryTTL#6e941a38 prev_value:int new_value:int
|
|||||||
channelAdminLogEventActionParticipantJoinByRequest#afb6144a invite:ExportedChatInvite approved_by:long = ChannelAdminLogEventAction;
|
channelAdminLogEventActionParticipantJoinByRequest#afb6144a invite:ExportedChatInvite approved_by:long = ChannelAdminLogEventAction;
|
||||||
channelAdminLogEventActionToggleNoForwards#cb2ac766 new_value:Bool = ChannelAdminLogEventAction;
|
channelAdminLogEventActionToggleNoForwards#cb2ac766 new_value:Bool = ChannelAdminLogEventAction;
|
||||||
channelAdminLogEventActionSendMessage#278f2868 message:Message = ChannelAdminLogEventAction;
|
channelAdminLogEventActionSendMessage#278f2868 message:Message = ChannelAdminLogEventAction;
|
||||||
channelAdminLogEventActionChangeAvailableReactions#9cf7f76a prev_value:Vector<string> new_value:Vector<string> = ChannelAdminLogEventAction;
|
channelAdminLogEventActionChangeAvailableReactions#be4e0ef8 prev_value:ChatReactions new_value:ChatReactions = ChannelAdminLogEventAction;
|
||||||
|
|
||||||
channelAdminLogEvent#1fad68cd id:long date:int user_id:long action:ChannelAdminLogEventAction = ChannelAdminLogEvent;
|
channelAdminLogEvent#1fad68cd id:long date:int user_id:long action:ChannelAdminLogEventAction = ChannelAdminLogEvent;
|
||||||
|
|
||||||
@ -1318,7 +1326,7 @@ messages.peerSettings#6880b94d settings:PeerSettings chats:Vector<Chat> users:Ve
|
|||||||
|
|
||||||
auth.loggedOut#c3a2835f flags:# future_auth_token:flags.0?bytes = auth.LoggedOut;
|
auth.loggedOut#c3a2835f flags:# future_auth_token:flags.0?bytes = auth.LoggedOut;
|
||||||
|
|
||||||
reactionCount#6fb250d1 flags:# chosen:flags.0?true reaction:string count:int = ReactionCount;
|
reactionCount#a3d1cb80 flags:# chosen_order:flags.0?int reaction:Reaction count:int = ReactionCount;
|
||||||
|
|
||||||
messageReactions#4f2b9479 flags:# min:flags.0?true can_see_list:flags.2?true results:Vector<ReactionCount> recent_reactions:flags.1?Vector<MessagePeerReaction> = MessageReactions;
|
messageReactions#4f2b9479 flags:# min:flags.0?true can_see_list:flags.2?true results:Vector<ReactionCount> recent_reactions:flags.1?Vector<MessagePeerReaction> = MessageReactions;
|
||||||
|
|
||||||
@ -1332,7 +1340,7 @@ messages.availableReactions#768e3aad hash:int reactions:Vector<AvailableReaction
|
|||||||
messages.translateNoResult#67ca4737 = messages.TranslatedText;
|
messages.translateNoResult#67ca4737 = messages.TranslatedText;
|
||||||
messages.translateResultText#a214f7d0 text:string = messages.TranslatedText;
|
messages.translateResultText#a214f7d0 text:string = messages.TranslatedText;
|
||||||
|
|
||||||
messagePeerReaction#51b67eff flags:# big:flags.0?true unread:flags.1?true peer_id:Peer reaction:string = MessagePeerReaction;
|
messagePeerReaction#b156fe9c flags:# big:flags.0?true unread:flags.1?true peer_id:Peer reaction:Reaction = MessagePeerReaction;
|
||||||
|
|
||||||
groupCallStreamChannel#80eb48af channel:int scale:int last_timestamp_ms:long = GroupCallStreamChannel;
|
groupCallStreamChannel#80eb48af channel:int scale:int last_timestamp_ms:long = GroupCallStreamChannel;
|
||||||
|
|
||||||
@ -1385,7 +1393,7 @@ payments.exportedInvoice#aed0cbd9 url:string = payments.ExportedInvoice;
|
|||||||
|
|
||||||
messages.transcribedAudio#93752c52 flags:# pending:flags.0?true transcription_id:long text:string = messages.TranscribedAudio;
|
messages.transcribedAudio#93752c52 flags:# pending:flags.0?true transcription_id:long text:string = messages.TranscribedAudio;
|
||||||
|
|
||||||
help.premiumPromo#8a4f3c29 status_text:string status_entities:Vector<MessageEntity> video_sections:Vector<string> videos:Vector<Document> currency:string monthly_amount:long users:Vector<User> = help.PremiumPromo;
|
help.premiumPromo#5334759c status_text:string status_entities:Vector<MessageEntity> video_sections:Vector<string> videos:Vector<Document> period_options:Vector<PremiumSubscriptionOption> users:Vector<User> = help.PremiumPromo;
|
||||||
|
|
||||||
inputStorePaymentPremiumSubscription#a6751e66 flags:# restore:flags.0?true = InputStorePaymentPurpose;
|
inputStorePaymentPremiumSubscription#a6751e66 flags:# restore:flags.0?true = InputStorePaymentPurpose;
|
||||||
inputStorePaymentGiftPremium#616f7fe8 user_id:InputUser currency:string amount:long = InputStorePaymentPurpose;
|
inputStorePaymentGiftPremium#616f7fe8 user_id:InputUser currency:string amount:long = InputStorePaymentPurpose;
|
||||||
@ -1394,6 +1402,37 @@ premiumGiftOption#74c34319 flags:# months:int currency:string amount:long bot_ur
|
|||||||
|
|
||||||
paymentFormMethod#88f8f21b url:string title:string = PaymentFormMethod;
|
paymentFormMethod#88f8f21b url:string title:string = PaymentFormMethod;
|
||||||
|
|
||||||
|
emojiStatusEmpty#2de11aae = EmojiStatus;
|
||||||
|
emojiStatus#929b619d document_id:long = EmojiStatus;
|
||||||
|
emojiStatusUntil#fa30a8c7 document_id:long until:int = EmojiStatus;
|
||||||
|
|
||||||
|
account.emojiStatusesNotModified#d08ce645 = account.EmojiStatuses;
|
||||||
|
account.emojiStatuses#90c467d1 hash:long statuses:Vector<EmojiStatus> = account.EmojiStatuses;
|
||||||
|
|
||||||
|
reactionEmpty#79f5d419 = Reaction;
|
||||||
|
reactionEmoji#1b2286b8 emoticon:string = Reaction;
|
||||||
|
reactionCustomEmoji#8935fc73 document_id:long = Reaction;
|
||||||
|
|
||||||
|
chatReactionsNone#eafc32bc = ChatReactions;
|
||||||
|
chatReactionsAll#52928bca flags:# allow_custom:flags.0?true = ChatReactions;
|
||||||
|
chatReactionsSome#661d4037 reactions:Vector<Reaction> = ChatReactions;
|
||||||
|
|
||||||
|
messages.reactionsNotModified#b06fdbdf = messages.Reactions;
|
||||||
|
messages.reactions#eafdf716 hash:long reactions:Vector<Reaction> = messages.Reactions;
|
||||||
|
|
||||||
|
emailVerifyPurposeLoginSetup#4345be73 phone_number:string phone_code_hash:string = EmailVerifyPurpose;
|
||||||
|
emailVerifyPurposeLoginChange#527d22eb = EmailVerifyPurpose;
|
||||||
|
emailVerifyPurposePassport#bbf51685 = EmailVerifyPurpose;
|
||||||
|
|
||||||
|
emailVerificationCode#922e55a9 code:string = EmailVerification;
|
||||||
|
emailVerificationGoogle#db909ec2 token:string = EmailVerification;
|
||||||
|
emailVerificationApple#96d074fd token:string = EmailVerification;
|
||||||
|
|
||||||
|
account.emailVerified#2b96cd1b email:string = account.EmailVerified;
|
||||||
|
account.emailVerifiedLogin#e1bb0d61 email:string sent_code:auth.SentCode = account.EmailVerified;
|
||||||
|
|
||||||
|
premiumSubscriptionOption#b6f11ebe flags:# current:flags.1?true can_purchase_upgrade:flags.2?true months:int currency:string amount:long bot_url:string store_product:flags.0?string = PremiumSubscriptionOption;
|
||||||
|
|
||||||
---functions---
|
---functions---
|
||||||
|
|
||||||
invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
|
invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
|
||||||
@ -1406,7 +1445,7 @@ invokeWithTakeout#aca9fd2e {X:Type} takeout_id:long query:!X = X;
|
|||||||
|
|
||||||
auth.sendCode#a677244f phone_number:string api_id:int api_hash:string settings:CodeSettings = auth.SentCode;
|
auth.sendCode#a677244f phone_number:string api_id:int api_hash:string settings:CodeSettings = auth.SentCode;
|
||||||
auth.signUp#80eee427 phone_number:string phone_code_hash:string first_name:string last_name:string = auth.Authorization;
|
auth.signUp#80eee427 phone_number:string phone_code_hash:string first_name:string last_name:string = auth.Authorization;
|
||||||
auth.signIn#bcd51581 phone_number:string phone_code_hash:string phone_code:string = auth.Authorization;
|
auth.signIn#8d52a951 flags:# phone_number:string phone_code_hash:string phone_code:flags.0?string email_verification:flags.1?EmailVerification = auth.Authorization;
|
||||||
auth.logOut#3e72ba19 = auth.LoggedOut;
|
auth.logOut#3e72ba19 = auth.LoggedOut;
|
||||||
auth.resetAuthorizations#9fab0d1a = Bool;
|
auth.resetAuthorizations#9fab0d1a = Bool;
|
||||||
auth.exportAuthorization#e5bfffcd dc_id:int = auth.ExportedAuthorization;
|
auth.exportAuthorization#e5bfffcd dc_id:int = auth.ExportedAuthorization;
|
||||||
@ -1462,8 +1501,8 @@ account.getAuthorizationForm#a929597a bot_id:long scope:string public_key:string
|
|||||||
account.acceptAuthorization#f3ed4c73 bot_id:long scope:string public_key:string value_hashes:Vector<SecureValueHash> credentials:SecureCredentialsEncrypted = Bool;
|
account.acceptAuthorization#f3ed4c73 bot_id:long scope:string public_key:string value_hashes:Vector<SecureValueHash> credentials:SecureCredentialsEncrypted = Bool;
|
||||||
account.sendVerifyPhoneCode#a5a356f9 phone_number:string settings:CodeSettings = auth.SentCode;
|
account.sendVerifyPhoneCode#a5a356f9 phone_number:string settings:CodeSettings = auth.SentCode;
|
||||||
account.verifyPhone#4dd3a7f6 phone_number:string phone_code_hash:string phone_code:string = Bool;
|
account.verifyPhone#4dd3a7f6 phone_number:string phone_code_hash:string phone_code:string = Bool;
|
||||||
account.sendVerifyEmailCode#7011509f email:string = account.SentEmailCode;
|
account.sendVerifyEmailCode#98e037bb purpose:EmailVerifyPurpose email:string = account.SentEmailCode;
|
||||||
account.verifyEmail#ecba39db email:string code:string = Bool;
|
account.verifyEmail#32da4cf purpose:EmailVerifyPurpose verification:EmailVerification = account.EmailVerified;
|
||||||
account.initTakeoutSession#8ef3eab0 flags:# contacts:flags.0?true message_users:flags.1?true message_chats:flags.2?true message_megagroups:flags.3?true message_channels:flags.4?true files:flags.5?true file_max_size:flags.5?long = account.Takeout;
|
account.initTakeoutSession#8ef3eab0 flags:# contacts:flags.0?true message_users:flags.1?true message_chats:flags.2?true message_megagroups:flags.3?true message_channels:flags.4?true files:flags.5?true file_max_size:flags.5?long = account.Takeout;
|
||||||
account.finishTakeoutSession#1d2652ee flags:# success:flags.0?true = Bool;
|
account.finishTakeoutSession#1d2652ee flags:# success:flags.0?true = Bool;
|
||||||
account.confirmPasswordEmail#8fdf1920 code:string = Bool;
|
account.confirmPasswordEmail#8fdf1920 code:string = Bool;
|
||||||
@ -1500,6 +1539,10 @@ account.changeAuthorizationSettings#40f48462 flags:# hash:long encrypted_request
|
|||||||
account.getSavedRingtones#e1902288 hash:long = account.SavedRingtones;
|
account.getSavedRingtones#e1902288 hash:long = account.SavedRingtones;
|
||||||
account.saveRingtone#3dea5b03 id:InputDocument unsave:Bool = account.SavedRingtone;
|
account.saveRingtone#3dea5b03 id:InputDocument unsave:Bool = account.SavedRingtone;
|
||||||
account.uploadRingtone#831a83a2 file:InputFile file_name:string mime_type:string = Document;
|
account.uploadRingtone#831a83a2 file:InputFile file_name:string mime_type:string = Document;
|
||||||
|
account.updateEmojiStatus#fbd3de6b emoji_status:EmojiStatus = Bool;
|
||||||
|
account.getDefaultEmojiStatuses#d6753386 hash:long = account.EmojiStatuses;
|
||||||
|
account.getRecentEmojiStatuses#f578105 hash:long = account.EmojiStatuses;
|
||||||
|
account.clearRecentEmojiStatuses#18201aae = 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;
|
||||||
@ -1536,8 +1579,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#d9d75a4 flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true peer:InputPeer reply_to_msg_id:flags.0?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#d9d75a4 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 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#e25ff8e0 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true peer:InputPeer reply_to_msg_id:flags.0?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#e25ff8e0 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 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#cc30290b 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 schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
messages.forwardMessages#cc30290b 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 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;
|
||||||
@ -1617,7 +1660,7 @@ messages.faveSticker#b9ffc55b id:InputDocument unfave:Bool = Bool;
|
|||||||
messages.getUnreadMentions#46578472 peer:InputPeer offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
|
messages.getUnreadMentions#46578472 peer:InputPeer offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
|
||||||
messages.readMentions#f0189d3 peer:InputPeer = messages.AffectedHistory;
|
messages.readMentions#f0189d3 peer:InputPeer = 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#f803138f flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true peer:InputPeer reply_to_msg_id:flags.0?int multi_media:Vector<InputSingleMedia> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
|
messages.sendMultiMedia#f803138f 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 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>;
|
||||||
@ -1676,12 +1719,12 @@ messages.hideChatJoinRequest#7fe7e815 flags:# approved:flags.0?true peer:InputPe
|
|||||||
messages.hideAllChatJoinRequests#e085f4ea flags:# approved:flags.0?true peer:InputPeer link:flags.1?string = Updates;
|
messages.hideAllChatJoinRequests#e085f4ea flags:# approved:flags.0?true peer:InputPeer link:flags.1?string = Updates;
|
||||||
messages.toggleNoForwards#b11eafa2 peer:InputPeer enabled:Bool = Updates;
|
messages.toggleNoForwards#b11eafa2 peer:InputPeer enabled:Bool = Updates;
|
||||||
messages.saveDefaultSendAs#ccfddf96 peer:InputPeer send_as:InputPeer = Bool;
|
messages.saveDefaultSendAs#ccfddf96 peer:InputPeer send_as:InputPeer = Bool;
|
||||||
messages.sendReaction#25690ce4 flags:# big:flags.1?true peer:InputPeer msg_id:int reaction:flags.0?string = Updates;
|
messages.sendReaction#d30d78d4 flags:# big:flags.1?true add_to_recent:flags.2?true peer:InputPeer msg_id:int reaction:flags.0?Vector<Reaction> = Updates;
|
||||||
messages.getMessagesReactions#8bba90e6 peer:InputPeer id:Vector<int> = Updates;
|
messages.getMessagesReactions#8bba90e6 peer:InputPeer id:Vector<int> = Updates;
|
||||||
messages.getMessageReactionsList#e0ee6b77 flags:# peer:InputPeer id:int reaction:flags.0?string offset:flags.1?string limit:int = messages.MessageReactionsList;
|
messages.getMessageReactionsList#461b3f48 flags:# peer:InputPeer id:int reaction:flags.0?Reaction offset:flags.1?string limit:int = messages.MessageReactionsList;
|
||||||
messages.setChatAvailableReactions#14050ea6 peer:InputPeer available_reactions:Vector<string> = Updates;
|
messages.setChatAvailableReactions#feb16771 peer:InputPeer available_reactions:ChatReactions = Updates;
|
||||||
messages.getAvailableReactions#18dea0ac hash:int = messages.AvailableReactions;
|
messages.getAvailableReactions#18dea0ac hash:int = messages.AvailableReactions;
|
||||||
messages.setDefaultReaction#d960c4d4 reaction:string = Bool;
|
messages.setDefaultReaction#4f47a016 reaction:Reaction = Bool;
|
||||||
messages.translateText#24ce6dee flags:# peer:flags.0?InputPeer msg_id:flags.0?int text:flags.1?string from_lang:flags.2?string to_lang:string = messages.TranslatedText;
|
messages.translateText#24ce6dee flags:# peer:flags.0?InputPeer msg_id:flags.0?int text:flags.1?string from_lang:flags.2?string to_lang:string = messages.TranslatedText;
|
||||||
messages.getUnreadReactions#e85bae1a peer:InputPeer offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
|
messages.getUnreadReactions#e85bae1a peer:InputPeer offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
|
||||||
messages.readReactions#82e251d7 peer:InputPeer = messages.AffectedHistory;
|
messages.readReactions#82e251d7 peer:InputPeer = messages.AffectedHistory;
|
||||||
@ -1689,9 +1732,9 @@ 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#1aee33af bot:InputUser enabled:Bool = Bool;
|
messages.toggleBotInAttachMenu#1aee33af bot:InputUser enabled:Bool = Bool;
|
||||||
messages.requestWebView#91b15831 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 reply_to_msg_id:flags.0?int send_as:flags.13?InputPeer = WebViewResult;
|
messages.requestWebView#fc87a53c 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 send_as:flags.13?InputPeer = WebViewResult;
|
||||||
messages.prolongWebView#ea5fbcce flags:# silent:flags.5?true peer:InputPeer bot:InputUser query_id:long reply_to_msg_id:flags.0?int send_as:flags.13?InputPeer = Bool;
|
messages.prolongWebView#ea5fbcce flags:# silent:flags.5?true peer:InputPeer bot:InputUser query_id:long reply_to_msg_id:flags.0?int send_as:flags.13?InputPeer = Bool;
|
||||||
messages.requestSimpleWebView#6abb2f73 flags:# bot:InputUser url:string theme_params:flags.0?DataJSON = SimpleWebViewResult;
|
messages.requestSimpleWebView#299bec8e flags:# 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;
|
||||||
messages.transcribeAudio#269e9a49 peer:InputPeer msg_id:int = messages.TranscribedAudio;
|
messages.transcribeAudio#269e9a49 peer:InputPeer msg_id:int = messages.TranscribedAudio;
|
||||||
@ -1699,6 +1742,10 @@ messages.rateTranscribedAudio#7f1d072f peer:InputPeer msg_id:int transcription_i
|
|||||||
messages.getCustomEmojiDocuments#d9ab0f54 document_id:Vector<long> = Vector<Document>;
|
messages.getCustomEmojiDocuments#d9ab0f54 document_id:Vector<long> = Vector<Document>;
|
||||||
messages.getEmojiStickers#fbfca18f hash:long = messages.AllStickers;
|
messages.getEmojiStickers#fbfca18f hash:long = messages.AllStickers;
|
||||||
messages.getFeaturedEmojiStickers#ecf6736 hash:long = messages.FeaturedStickers;
|
messages.getFeaturedEmojiStickers#ecf6736 hash:long = messages.FeaturedStickers;
|
||||||
|
messages.reportReaction#3f64c076 peer:InputPeer id:int reaction_peer:InputPeer = Bool;
|
||||||
|
messages.getTopReactions#bb8125ba limit:int hash:long = messages.Reactions;
|
||||||
|
messages.getRecentReactions#39461db2 limit:int hash:long = messages.Reactions;
|
||||||
|
messages.clearRecentReactions#9dfeefb4 = Bool;
|
||||||
|
|
||||||
updates.getState#edd4882a = updates.State;
|
updates.getState#edd4882a = updates.State;
|
||||||
updates.getDifference#25939651 flags:# pts:int pts_total_limit:flags.0?int date:int qts:int = updates.Difference;
|
updates.getDifference#25939651 flags:# pts:int pts_total_limit:flags.0?int date:int qts:int = updates.Difference;
|
||||||
@ -1805,7 +1852,6 @@ payments.exportInvoice#f91b065 invoice_media:InputMedia = payments.ExportedInvoi
|
|||||||
payments.assignAppStoreTransaction#80ed747d receipt:bytes purpose:InputStorePaymentPurpose = Updates;
|
payments.assignAppStoreTransaction#80ed747d receipt:bytes purpose:InputStorePaymentPurpose = Updates;
|
||||||
payments.assignPlayMarketTransaction#dffd50d3 receipt:DataJSON purpose:InputStorePaymentPurpose = Updates;
|
payments.assignPlayMarketTransaction#dffd50d3 receipt:DataJSON purpose:InputStorePaymentPurpose = Updates;
|
||||||
payments.canPurchasePremium#9fc19eb6 purpose:InputStorePaymentPurpose = Bool;
|
payments.canPurchasePremium#9fc19eb6 purpose:InputStorePaymentPurpose = Bool;
|
||||||
payments.requestRecurringPayment#146e958d user_id:InputUser recurring_init_charge:string invoice_media:InputMedia = Updates;
|
|
||||||
|
|
||||||
stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true animated:flags.1?true videos:flags.4?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> software:flags.3?string = messages.StickerSet;
|
stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true animated:flags.1?true videos:flags.4?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> software:flags.3?string = messages.StickerSet;
|
||||||
stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet;
|
stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet;
|
||||||
|
@ -104,7 +104,8 @@ 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), reply_to_message_id.get_server_message_id().get(), std::move(as_input_peer))));
|
std::move(theme_parameters), string(), reply_to_message_id.get_server_message_id().get(),
|
||||||
|
std::move(as_input_peer))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_result(BufferSlice packet) final {
|
void on_result(BufferSlice packet) final {
|
||||||
|
@ -289,10 +289,11 @@ void AuthManager::check_code(uint64 query_id, string code) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
code_ = std::move(code);
|
code_ = std::move(code);
|
||||||
|
int32 flags = telegram_api::auth_signIn::PHONE_CODE_MASK;
|
||||||
on_new_query(query_id);
|
on_new_query(query_id);
|
||||||
start_net_query(NetQueryType::SignIn,
|
start_net_query(NetQueryType::SignIn, G()->net_query_creator().create_unauth(telegram_api::auth_signIn(
|
||||||
G()->net_query_creator().create_unauth(telegram_api::auth_signIn(
|
flags, send_code_helper_.phone_number().str(),
|
||||||
send_code_helper_.phone_number().str(), send_code_helper_.phone_code_hash().str(), code_)));
|
send_code_helper_.phone_code_hash().str(), code_, nullptr)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void AuthManager::register_user(uint64 query_id, string first_name, string last_name) {
|
void AuthManager::register_user(uint64 query_id, string first_name, string last_name) {
|
||||||
@ -615,9 +616,10 @@ void AuthManager::on_get_password_result(NetQueryPtr &result) {
|
|||||||
set_login_token_expires_at(Time::now() + login_code_retry_delay_);
|
set_login_token_expires_at(Time::now() + login_code_retry_delay_);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
start_net_query(NetQueryType::SignIn,
|
int32 flags = telegram_api::auth_signIn::PHONE_CODE_MASK;
|
||||||
G()->net_query_creator().create_unauth(telegram_api::auth_signIn(
|
start_net_query(NetQueryType::SignIn, G()->net_query_creator().create_unauth(telegram_api::auth_signIn(
|
||||||
send_code_helper_.phone_number().str(), send_code_helper_.phone_code_hash().str(), code_)));
|
flags, send_code_helper_.phone_number().str(),
|
||||||
|
send_code_helper_.phone_code_hash().str(), code_, nullptr)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9073,7 +9073,7 @@ ContactsManager::User *ContactsManager::get_user_force(UserId user_id) {
|
|||||||
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*/, user_id.get(), 1, first_name, string(), username,
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, user_id.get(), 1, first_name, string(), username,
|
||||||
phone_number, std::move(profile_photo), nullptr, bot_info_version, Auto(), string(), string());
|
phone_number, std::move(profile_photo), nullptr, bot_info_version, Auto(), string(), string(), nullptr);
|
||||||
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);
|
||||||
|
@ -346,8 +346,7 @@ static td_api::object_ptr<td_api::ChatEventAction> get_chat_event_action_object(
|
|||||||
}
|
}
|
||||||
case telegram_api::channelAdminLogEventActionChangeAvailableReactions::ID: {
|
case telegram_api::channelAdminLogEventActionChangeAvailableReactions::ID: {
|
||||||
auto action = move_tl_object_as<telegram_api::channelAdminLogEventActionChangeAvailableReactions>(action_ptr);
|
auto action = move_tl_object_as<telegram_api::channelAdminLogEventActionChangeAvailableReactions>(action_ptr);
|
||||||
return td_api::make_object<td_api::chatEventAvailableReactionsChanged>(std::move(action->prev_value_),
|
return nullptr;
|
||||||
std::move(action->new_value_));
|
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
|
@ -183,8 +183,8 @@ class RequestSimpleWebViewQuery final : public Td::ResultHandler {
|
|||||||
theme_parameters = make_tl_object<telegram_api::dataJSON>(string());
|
theme_parameters = make_tl_object<telegram_api::dataJSON>(string());
|
||||||
theme_parameters->data_ = ThemeManager::get_theme_parameters_json_string(theme, false);
|
theme_parameters->data_ = ThemeManager::get_theme_parameters_json_string(theme, false);
|
||||||
}
|
}
|
||||||
send_query(G()->net_query_creator().create(
|
send_query(G()->net_query_creator().create(telegram_api::messages_requestSimpleWebView(
|
||||||
telegram_api::messages_requestSimpleWebView(flags, std::move(input_user), url, std::move(theme_parameters))));
|
flags, std::move(input_user), url, std::move(theme_parameters), string())));
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_result(BufferSlice packet) final {
|
void on_result(BufferSlice packet) final {
|
||||||
|
@ -31,6 +31,30 @@
|
|||||||
|
|
||||||
namespace td {
|
namespace td {
|
||||||
|
|
||||||
|
static telegram_api::object_ptr<telegram_api::Reaction> get_input_reaction(const string &reaction) {
|
||||||
|
if (reaction.empty()) {
|
||||||
|
return telegram_api::make_object<telegram_api::reactionEmpty>();
|
||||||
|
}
|
||||||
|
return telegram_api::make_object<telegram_api::reactionEmoji>(reaction);
|
||||||
|
}
|
||||||
|
|
||||||
|
static string get_reaction_string(const telegram_api::object_ptr<telegram_api::Reaction> &reaction) {
|
||||||
|
if (reaction == nullptr) {
|
||||||
|
return string();
|
||||||
|
}
|
||||||
|
switch (reaction->get_id()) {
|
||||||
|
case telegram_api::reactionEmpty::ID:
|
||||||
|
return string();
|
||||||
|
case telegram_api::reactionEmoji::ID:
|
||||||
|
return static_cast<const telegram_api::reactionEmoji *>(reaction.get())->emoticon_;
|
||||||
|
case telegram_api::reactionCustomEmoji::ID:
|
||||||
|
return string();
|
||||||
|
default:
|
||||||
|
UNREACHABLE();
|
||||||
|
return string();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class GetMessagesReactionsQuery final : public Td::ResultHandler {
|
class GetMessagesReactionsQuery final : public Td::ResultHandler {
|
||||||
DialogId dialog_id_;
|
DialogId dialog_id_;
|
||||||
vector<MessageId> message_ids_;
|
vector<MessageId> message_ids_;
|
||||||
@ -108,9 +132,15 @@ class SendReactionQuery final : public Td::ResultHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vector<telegram_api::object_ptr<telegram_api::Reaction>> reactions;
|
||||||
|
if (!reaction.empty()) {
|
||||||
|
reactions.push_back(get_input_reaction(reaction));
|
||||||
|
}
|
||||||
|
|
||||||
send_query(G()->net_query_creator().create(
|
send_query(G()->net_query_creator().create(
|
||||||
telegram_api::messages_sendReaction(flags, false /*ignored*/, std::move(input_peer),
|
telegram_api::messages_sendReaction(flags, false /*ignored*/, false /*ignored*/, std::move(input_peer),
|
||||||
full_message_id.get_message_id().get_server_message_id().get(), reaction),
|
full_message_id.get_message_id().get_server_message_id().get(),
|
||||||
|
std::move(reactions)),
|
||||||
{{dialog_id_}, {full_message_id}}));
|
{{dialog_id_}, {full_message_id}}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,8 +193,9 @@ class GetMessageReactionsListQuery final : public Td::ResultHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_query(G()->net_query_creator().create(
|
send_query(G()->net_query_creator().create(
|
||||||
telegram_api::messages_getMessageReactionsList(
|
telegram_api::messages_getMessageReactionsList(flags, std::move(input_peer),
|
||||||
flags, std::move(input_peer), message_id_.get_server_message_id().get(), reaction_, offset_, limit),
|
message_id_.get_server_message_id().get(),
|
||||||
|
get_input_reaction(reaction_), offset_, limit),
|
||||||
{{full_message_id}}));
|
{{full_message_id}}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,19 +222,19 @@ class GetMessageReactionsListQuery final : public Td::ResultHandler {
|
|||||||
FlatHashMap<string, vector<DialogId>> recent_reactions;
|
FlatHashMap<string, vector<DialogId>> recent_reactions;
|
||||||
for (const auto &reaction : ptr->reactions_) {
|
for (const auto &reaction : ptr->reactions_) {
|
||||||
DialogId dialog_id(reaction->peer_id_);
|
DialogId dialog_id(reaction->peer_id_);
|
||||||
if (!dialog_id.is_valid() ||
|
auto reaction_str = get_reaction_string(reaction->reaction_);
|
||||||
(reaction_.empty() ? reaction->reaction_.empty() : reaction_ != reaction->reaction_)) {
|
if (!dialog_id.is_valid() || (reaction_.empty() ? reaction_str.empty() : reaction_ != reaction_str)) {
|
||||||
LOG(ERROR) << "Receive unexpected " << to_string(reaction);
|
LOG(ERROR) << "Receive unexpected " << to_string(reaction);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (offset_.empty()) {
|
if (offset_.empty()) {
|
||||||
recent_reactions[reaction->reaction_].push_back(dialog_id);
|
recent_reactions[reaction_str].push_back(dialog_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto message_sender = get_min_message_sender_object(td_, dialog_id, "GetMessageReactionsListQuery");
|
auto message_sender = get_min_message_sender_object(td_, dialog_id, "GetMessageReactionsListQuery");
|
||||||
if (message_sender != nullptr) {
|
if (message_sender != nullptr) {
|
||||||
reactions.push_back(td_api::make_object<td_api::addedReaction>(reaction->reaction_, std::move(message_sender)));
|
reactions.push_back(td_api::make_object<td_api::addedReaction>(reaction_str, std::move(message_sender)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -228,7 +259,8 @@ class SetDefaultReactionQuery final : public Td::ResultHandler {
|
|||||||
public:
|
public:
|
||||||
void send(const string &reaction) {
|
void send(const string &reaction) {
|
||||||
reaction_ = reaction;
|
reaction_ = reaction;
|
||||||
send_query(G()->net_query_creator().create(telegram_api::messages_setDefaultReaction(reaction)));
|
send_query(
|
||||||
|
G()->net_query_creator().create(telegram_api::messages_setDefaultReaction(get_input_reaction(reaction))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_result(BufferSlice packet) final {
|
void on_result(BufferSlice packet) final {
|
||||||
@ -367,22 +399,23 @@ unique_ptr<MessageReactions> MessageReactions::get_message_reactions(
|
|||||||
FlatHashSet<string> reaction_strings;
|
FlatHashSet<string> reaction_strings;
|
||||||
FlatHashSet<DialogId, DialogIdHash> recent_choosers;
|
FlatHashSet<DialogId, DialogIdHash> recent_choosers;
|
||||||
for (auto &reaction_count : reactions->results_) {
|
for (auto &reaction_count : reactions->results_) {
|
||||||
|
auto reaction_str = get_reaction_string(reaction_count->reaction_);
|
||||||
if (reaction_count->count_ <= 0 || reaction_count->count_ >= MessageReaction::MAX_CHOOSE_COUNT ||
|
if (reaction_count->count_ <= 0 || reaction_count->count_ >= MessageReaction::MAX_CHOOSE_COUNT ||
|
||||||
reaction_count->reaction_.empty()) {
|
reaction_str.empty()) {
|
||||||
LOG(ERROR) << "Receive reaction " << reaction_count->reaction_ << " with invalid count "
|
LOG(ERROR) << "Receive reaction " << reaction_str << " with invalid count " << reaction_count->count_;
|
||||||
<< reaction_count->count_;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!reaction_strings.insert(reaction_count->reaction_).second) {
|
if (!reaction_strings.insert(reaction_str).second) {
|
||||||
LOG(ERROR) << "Receive duplicate reaction " << reaction_count->reaction_;
|
LOG(ERROR) << "Receive duplicate reaction " << reaction_str;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
vector<DialogId> recent_chooser_dialog_ids;
|
vector<DialogId> recent_chooser_dialog_ids;
|
||||||
vector<std::pair<ChannelId, MinChannel>> recent_chooser_min_channels;
|
vector<std::pair<ChannelId, MinChannel>> recent_chooser_min_channels;
|
||||||
for (auto &peer_reaction : reactions->recent_reactions_) {
|
for (auto &peer_reaction : reactions->recent_reactions_) {
|
||||||
if (peer_reaction->reaction_ == reaction_count->reaction_) {
|
auto peer_reaction_str = get_reaction_string(peer_reaction->reaction_);
|
||||||
|
if (peer_reaction_str == reaction_str) {
|
||||||
DialogId dialog_id(peer_reaction->peer_id_);
|
DialogId dialog_id(peer_reaction->peer_id_);
|
||||||
if (!dialog_id.is_valid()) {
|
if (!dialog_id.is_valid()) {
|
||||||
LOG(ERROR) << "Receive invalid " << dialog_id << " as a recent chooser";
|
LOG(ERROR) << "Receive invalid " << dialog_id << " as a recent chooser";
|
||||||
@ -416,7 +449,7 @@ unique_ptr<MessageReactions> MessageReactions::get_message_reactions(
|
|||||||
|
|
||||||
recent_chooser_dialog_ids.push_back(dialog_id);
|
recent_chooser_dialog_ids.push_back(dialog_id);
|
||||||
if (peer_reaction->unread_) {
|
if (peer_reaction->unread_) {
|
||||||
result->unread_reactions_.emplace_back(std::move(peer_reaction->reaction_), dialog_id, peer_reaction->big_);
|
result->unread_reactions_.emplace_back(std::move(peer_reaction_str), dialog_id, peer_reaction->big_);
|
||||||
}
|
}
|
||||||
if (recent_chooser_dialog_ids.size() == MessageReaction::MAX_RECENT_CHOOSERS) {
|
if (recent_chooser_dialog_ids.size() == MessageReaction::MAX_RECENT_CHOOSERS) {
|
||||||
break;
|
break;
|
||||||
@ -424,9 +457,8 @@ unique_ptr<MessageReactions> MessageReactions::get_message_reactions(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result->reactions_.emplace_back(std::move(reaction_count->reaction_), reaction_count->count_,
|
result->reactions_.emplace_back(std::move(reaction_str), reaction_count->count_, reaction_count->chosen_order_ != 0,
|
||||||
reaction_count->chosen_, std::move(recent_chooser_dialog_ids),
|
std::move(recent_chooser_dialog_ids), std::move(recent_chooser_min_channels));
|
||||||
std::move(recent_chooser_min_channels));
|
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -1428,8 +1428,8 @@ class SetChatAvailableReactionsQuery final : public Td::ResultHandler {
|
|||||||
if (input_peer == nullptr) {
|
if (input_peer == nullptr) {
|
||||||
return on_error(Status::Error(400, "Can't access the chat"));
|
return on_error(Status::Error(400, "Can't access the chat"));
|
||||||
}
|
}
|
||||||
send_query(G()->net_query_creator().create(
|
send_query(G()->net_query_creator().create(telegram_api::messages_setChatAvailableReactions(
|
||||||
telegram_api::messages_setChatAvailableReactions(std::move(input_peer), std::move(available_reactions))));
|
std::move(input_peer), make_tl_object<telegram_api::chatReactionsNone>())));
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_result(BufferSlice packet) final {
|
void on_result(BufferSlice packet) final {
|
||||||
@ -3208,8 +3208,8 @@ class SendMessageQuery final : public Td::ResultHandler {
|
|||||||
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*/,
|
||||||
std::move(input_peer), reply_to_message_id.get_server_message_id().get(), text, random_id,
|
false /*ignored*/, std::move(input_peer), reply_to_message_id.get_server_message_id().get(), text,
|
||||||
std::move(reply_markup), std::move(entities), schedule_date, std::move(as_input_peer)),
|
random_id, 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")) {
|
||||||
@ -3404,7 +3404,7 @@ 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());
|
||||||
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(flags, false /*ignored*/, false /*ignored*/, false /*ignored*/,
|
||||||
false /*ignored*/, std::move(input_peer),
|
false /*ignored*/, false /*ignored*/, std::move(input_peer),
|
||||||
reply_to_message_id.get_server_message_id().get(),
|
reply_to_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},
|
||||||
@ -3521,9 +3521,9 @@ class SendMediaQuery 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());
|
||||||
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*/, 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_media), text, random_id,
|
std::move(input_peer), reply_to_message_id.get_server_message_id().get(), std::move(input_media), text,
|
||||||
std::move(reply_markup), std::move(entities), schedule_date, std::move(as_input_peer)),
|
random_id, std::move(reply_markup), std::move(entities), schedule_date, 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) {
|
||||||
@ -8114,7 +8114,8 @@ void MessagesManager::on_update_dialog_notify_settings(
|
|||||||
update_dialog_notification_settings(dialog_id, current_settings, std::move(notification_settings));
|
update_dialog_notification_settings(dialog_id, current_settings, std::move(notification_settings));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessagesManager::on_update_dialog_available_reactions(DialogId dialog_id, vector<string> &&available_reactions) {
|
void MessagesManager::on_update_dialog_available_reactions(
|
||||||
|
DialogId dialog_id, telegram_api::object_ptr<telegram_api::ChatReactions> &&available_reactions) {
|
||||||
if (td_->auth_manager_->is_bot()) {
|
if (td_->auth_manager_->is_bot()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -8124,7 +8125,8 @@ void MessagesManager::on_update_dialog_available_reactions(DialogId dialog_id, v
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_dialog_available_reactions(d, std::move(available_reactions));
|
vector<string> legacy_available_reactions;
|
||||||
|
set_dialog_available_reactions(d, std::move(legacy_available_reactions));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessagesManager::set_dialog_available_reactions(Dialog *d, vector<string> &&available_reactions) {
|
void MessagesManager::set_dialog_available_reactions(Dialog *d, vector<string> &&available_reactions) {
|
||||||
|
@ -144,6 +144,7 @@ class MessagesManager final : public Actor {
|
|||||||
static constexpr int32 SEND_MESSAGE_FLAG_HAS_MESSAGE = 1 << 11;
|
static constexpr int32 SEND_MESSAGE_FLAG_HAS_MESSAGE = 1 << 11;
|
||||||
static constexpr int32 SEND_MESSAGE_FLAG_HAS_SEND_AS = 1 << 13;
|
static constexpr int32 SEND_MESSAGE_FLAG_HAS_SEND_AS = 1 << 13;
|
||||||
static constexpr int32 SEND_MESSAGE_FLAG_NOFORWARDS = 1 << 14;
|
static constexpr int32 SEND_MESSAGE_FLAG_NOFORWARDS = 1 << 14;
|
||||||
|
static constexpr int32 SEND_MESSAGE_FLAG_UPDATE_STICKER_SETS_ORDER = 1 << 15;
|
||||||
|
|
||||||
static constexpr int32 ONLINE_MEMBER_COUNT_CACHE_EXPIRE_TIME = 30 * 60;
|
static constexpr int32 ONLINE_MEMBER_COUNT_CACHE_EXPIRE_TIME = 30 * 60;
|
||||||
|
|
||||||
@ -861,7 +862,8 @@ class MessagesManager final : public Actor {
|
|||||||
tl_object_ptr<telegram_api::peerNotifySettings> &&peer_notify_settings,
|
tl_object_ptr<telegram_api::peerNotifySettings> &&peer_notify_settings,
|
||||||
const char *source);
|
const char *source);
|
||||||
|
|
||||||
void on_update_dialog_available_reactions(DialogId dialog_id, vector<string> &&available_reactions);
|
void on_update_dialog_available_reactions(
|
||||||
|
DialogId dialog_id, telegram_api::object_ptr<telegram_api::ChatReactions> &&available_reactions);
|
||||||
|
|
||||||
void hide_dialog_action_bar(DialogId dialog_id);
|
void hide_dialog_action_bar(DialogId dialog_id);
|
||||||
|
|
||||||
|
@ -3328,7 +3328,7 @@ Status NotificationManager::process_push_notification_payload(string payload, bo
|
|||||||
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*/, sender_user_id.get(), sender_access_hash, user_name,
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, sender_user_id.get(), sender_access_hash, user_name,
|
||||||
string(), string(), string(), std::move(sender_photo), nullptr, 0, Auto(), string(), string());
|
string(), string(), string(), std::move(sender_photo), nullptr, 0, Auto(), string(), string(), nullptr);
|
||||||
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");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3686,7 +3686,7 @@ void NotificationManager::add_message_push_notification(DialogId dialog_id, Mess
|
|||||||
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*/, sender_user_id.get(), 0, user_name, string(), string(),
|
false /*ignored*/, false /*ignored*/, false /*ignored*/, sender_user_id.get(), 0, user_name, string(), string(),
|
||||||
string(), nullptr, nullptr, 0, Auto(), string(), string());
|
string(), nullptr, nullptr, 0, Auto(), string(), string(), nullptr);
|
||||||
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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -423,7 +423,8 @@ void PasswordManager::resend_recovery_email_address_code(Promise<State> promise)
|
|||||||
void PasswordManager::send_email_address_verification_code(
|
void PasswordManager::send_email_address_verification_code(
|
||||||
string email, Promise<td_api::object_ptr<td_api::emailAddressAuthenticationCodeInfo>> promise) {
|
string email, Promise<td_api::object_ptr<td_api::emailAddressAuthenticationCodeInfo>> promise) {
|
||||||
last_verified_email_address_ = email;
|
last_verified_email_address_ = email;
|
||||||
auto query = G()->net_query_creator().create(telegram_api::account_sendVerifyEmailCode(std::move(email)));
|
auto query = G()->net_query_creator().create(telegram_api::account_sendVerifyEmailCode(
|
||||||
|
make_tl_object<telegram_api::emailVerifyPurposePassport>(), std::move(email)));
|
||||||
send_with_promise(
|
send_with_promise(
|
||||||
std::move(query), PromiseCreator::lambda([promise = std::move(promise)](Result<NetQueryPtr> r_query) mutable {
|
std::move(query), PromiseCreator::lambda([promise = std::move(promise)](Result<NetQueryPtr> r_query) mutable {
|
||||||
auto r_result = fetch_result<telegram_api::account_sendVerifyEmailCode>(std::move(r_query));
|
auto r_result = fetch_result<telegram_api::account_sendVerifyEmailCode>(std::move(r_query));
|
||||||
@ -452,8 +453,9 @@ void PasswordManager::check_email_address_verification_code(string code, Promise
|
|||||||
if (last_verified_email_address_.empty()) {
|
if (last_verified_email_address_.empty()) {
|
||||||
return promise.set_error(Status::Error(400, "No email address verification was sent"));
|
return promise.set_error(Status::Error(400, "No email address verification was sent"));
|
||||||
}
|
}
|
||||||
auto query =
|
auto verification_code = make_tl_object<telegram_api::emailVerificationCode>(std::move(code));
|
||||||
G()->net_query_creator().create(telegram_api::account_verifyEmail(last_verified_email_address_, std::move(code)));
|
auto query = G()->net_query_creator().create(telegram_api::account_verifyEmail(
|
||||||
|
make_tl_object<telegram_api::emailVerifyPurposePassport>(), std::move(verification_code)));
|
||||||
send_with_promise(std::move(query),
|
send_with_promise(std::move(query),
|
||||||
PromiseCreator::lambda([promise = std::move(promise)](Result<NetQueryPtr> r_query) mutable {
|
PromiseCreator::lambda([promise = std::move(promise)](Result<NetQueryPtr> r_query) mutable {
|
||||||
auto r_result = fetch_result<telegram_api::account_verifyEmail>(std::move(r_query));
|
auto r_result = fetch_result<telegram_api::account_verifyEmail>(std::move(r_query));
|
||||||
|
@ -130,14 +130,6 @@ class GetPremiumPromoQuery final : public Td::ResultHandler {
|
|||||||
return on_error(Status::Error(500, "Receive wrong number of videos"));
|
return on_error(Status::Error(500, "Receive wrong number of videos"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (promo->monthly_amount_ < 0 || !check_currency_amount(promo->monthly_amount_)) {
|
|
||||||
return on_error(Status::Error(500, "Receive invalid monthly amount"));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (promo->currency_.size() != 3) {
|
|
||||||
return on_error(Status::Error(500, "Receive invalid currency"));
|
|
||||||
}
|
|
||||||
|
|
||||||
vector<td_api::object_ptr<td_api::premiumFeaturePromotionAnimation>> animations;
|
vector<td_api::object_ptr<td_api::premiumFeaturePromotionAnimation>> animations;
|
||||||
for (size_t i = 0; i < promo->video_sections_.size(); i++) {
|
for (size_t i = 0; i < promo->video_sections_.size(); i++) {
|
||||||
auto feature = get_premium_feature_object(promo->video_sections_[i]);
|
auto feature = get_premium_feature_object(promo->video_sections_[i]);
|
||||||
@ -164,8 +156,7 @@ class GetPremiumPromoQuery final : public Td::ResultHandler {
|
|||||||
std::move(animation_object)));
|
std::move(animation_object)));
|
||||||
}
|
}
|
||||||
|
|
||||||
promise_.set_value(td_api::make_object<td_api::premiumState>(get_formatted_text_object(state, true, 0),
|
promise_.set_value(td_api::make_object<td_api::premiumState>(get_formatted_text_object(state, true, 0), "USD", 499,
|
||||||
std::move(promo->currency_), promo->monthly_amount_,
|
|
||||||
std::move(animations)));
|
std::move(animations)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,6 +141,14 @@ SendCodeHelper::AuthenticationCodeInfo SendCodeHelper::get_authentication_code_i
|
|||||||
return AuthenticationCodeInfo{AuthenticationCodeInfo::Type::MissedCall, code_type->length_,
|
return AuthenticationCodeInfo{AuthenticationCodeInfo::Type::MissedCall, code_type->length_,
|
||||||
std::move(code_type->prefix_)};
|
std::move(code_type->prefix_)};
|
||||||
}
|
}
|
||||||
|
case telegram_api::auth_sentCodeTypeEmailCode::ID: {
|
||||||
|
auto code_type = move_tl_object_as<telegram_api::auth_sentCodeTypeEmailCode>(sent_code_type_ptr);
|
||||||
|
return AuthenticationCodeInfo{AuthenticationCodeInfo::Type::Message, code_type->length_, ""};
|
||||||
|
}
|
||||||
|
case telegram_api::auth_sentCodeTypeSetUpEmailRequired::ID: {
|
||||||
|
auto code_type = move_tl_object_as<telegram_api::auth_sentCodeTypeSetUpEmailRequired>(sent_code_type_ptr);
|
||||||
|
return AuthenticationCodeInfo{AuthenticationCodeInfo::Type::Message, 0, ""};
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
return AuthenticationCodeInfo();
|
return AuthenticationCodeInfo();
|
||||||
|
@ -3570,4 +3570,20 @@ void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateTranscribedAudi
|
|||||||
|
|
||||||
// unsupported updates
|
// unsupported updates
|
||||||
|
|
||||||
|
void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateRecentEmojiStatuses> update, Promise<Unit> &&promise) {
|
||||||
|
promise.set_value(Unit());
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateRecentReactions> update, Promise<Unit> &&promise) {
|
||||||
|
promise.set_value(Unit());
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateUserEmojiStatus> update, Promise<Unit> &&promise) {
|
||||||
|
promise.set_value(Unit());
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateMoveStickerSetToTop> update, Promise<Unit> &&promise) {
|
||||||
|
promise.set_value(Unit());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace td
|
} // namespace td
|
||||||
|
@ -535,6 +535,14 @@ class UpdatesManager final : public Actor {
|
|||||||
void on_update(tl_object_ptr<telegram_api::updateTranscribedAudio> update, Promise<Unit> &&promise);
|
void on_update(tl_object_ptr<telegram_api::updateTranscribedAudio> update, Promise<Unit> &&promise);
|
||||||
|
|
||||||
// unsupported updates
|
// unsupported updates
|
||||||
|
|
||||||
|
void on_update(tl_object_ptr<telegram_api::updateRecentEmojiStatuses> update, Promise<Unit> &&promise);
|
||||||
|
|
||||||
|
void on_update(tl_object_ptr<telegram_api::updateRecentReactions> update, Promise<Unit> &&promise);
|
||||||
|
|
||||||
|
void on_update(tl_object_ptr<telegram_api::updateUserEmojiStatus> update, Promise<Unit> &&promise);
|
||||||
|
|
||||||
|
void on_update(tl_object_ptr<telegram_api::updateMoveStickerSetToTop> update, Promise<Unit> &&promise);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace td
|
} // namespace td
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
namespace td {
|
namespace td {
|
||||||
|
|
||||||
constexpr int32 MTPROTO_LAYER = 144;
|
constexpr int32 MTPROTO_LAYER = 145;
|
||||||
|
|
||||||
enum class Version : int32 {
|
enum class Version : int32 {
|
||||||
Initial, // 0
|
Initial, // 0
|
||||||
|
Loading…
Reference in New Issue
Block a user