diff --git a/Telegram/SourceFiles/api/api_global_privacy.cpp b/Telegram/SourceFiles/api/api_global_privacy.cpp index ffa85368d2..7196893fe6 100644 --- a/Telegram/SourceFiles/api/api_global_privacy.cpp +++ b/Telegram/SourceFiles/api/api_global_privacy.cpp @@ -242,7 +242,7 @@ void GlobalPrivacy::update( bool showGiftIcon, DisallowedGiftTypes disallowedGiftTypes) { using Flag = MTPDglobalPrivacySettings::Flag; - using DisallowedFlag = MTPDdisallowedStarGiftsSettings::Flag; + using DisallowedFlag = MTPDdisallowedGiftsSettings::Flag; _api.request(_requestId).cancel(); const auto newRequirePremiumAllowed = _session->premium() @@ -263,10 +263,10 @@ void GlobalPrivacy::update( : Flag()) | Flag::f_noncontact_peers_paid_stars | (showGiftIcon ? Flag::f_display_gifts_button : Flag()) - | Flag::f_disallowed_stargifts; + | Flag::f_disallowed_gifts; const auto disallowedFlags = DisallowedFlag() | ((disallowedGiftTypes & DisallowedGiftType::Premium) - ? DisallowedFlag() AssertIsDebug() + ? DisallowedFlag::f_disallow_premium_gifts : DisallowedFlag()) | ((disallowedGiftTypes & DisallowedGiftType::Unlimited) ? DisallowedFlag::f_disallow_unlimited_stargifts @@ -281,7 +281,7 @@ void GlobalPrivacy::update( MTP_globalPrivacySettings( MTP_flags(flags), MTP_long(newChargeStars), - MTP_disallowedStarGiftsSettings(MTP_flags(disallowedFlags))) + MTP_disallowedGiftsSettings(MTP_flags(disallowedFlags))) )).done([=](const MTPGlobalPrivacySettings &result) { _requestId = 0; apply(result); @@ -319,7 +319,7 @@ void GlobalPrivacy::apply(const MTPGlobalPrivacySettings &settings) { _newRequirePremium = data.is_new_noncontact_peers_require_premium(); _newChargeStars = data.vnoncontact_peers_paid_stars().value_or_empty(); _showGiftIcon = data.is_display_gifts_button(); - if (const auto gifts = data.vdisallowed_stargifts()) { + if (const auto gifts = data.vdisallowed_gifts()) { const auto &data = gifts->data(); _disallowedGiftTypes = DisallowedGiftType() | (data.is_disallow_unlimited_stargifts() @@ -330,6 +330,9 @@ void GlobalPrivacy::apply(const MTPGlobalPrivacySettings &settings) { : DisallowedGiftType()) | (data.is_disallow_unique_stargifts() ? DisallowedGiftType::Unique + : DisallowedGiftType()) + | (data.is_disallow_premium_gifts() + ? DisallowedGiftType::Premium : DisallowedGiftType()); } else { _disallowedGiftTypes = DisallowedGiftTypes(); diff --git a/Telegram/SourceFiles/data/components/sponsored_messages.cpp b/Telegram/SourceFiles/data/components/sponsored_messages.cpp index 5ae9d8b2c9..6a1d3385b3 100644 --- a/Telegram/SourceFiles/data/components/sponsored_messages.cpp +++ b/Telegram/SourceFiles/data/components/sponsored_messages.cpp @@ -515,11 +515,7 @@ void SponsoredMessages::view(const FullMsgId &fullId) { return; } request.requestId = _session->api().request( - MTPmessages_ViewSponsoredMessage( - entryPtr->item - ? entryPtr->item->history()->peer->input - : _session->data().peer(fullId.peer)->input, - MTP_bytes(randomId)) + MTPmessages_ViewSponsoredMessage(MTP_bytes(randomId)) ).done([=] { auto &request = _viewRequests[randomId]; request.lastReceived = crl::now(); @@ -574,9 +570,6 @@ void SponsoredMessages::clicked( MTP_flags(Flag(0) | (isMedia ? Flag::f_media : Flag(0)) | (isFullscreen ? Flag::f_fullscreen : Flag(0))), - entryPtr->item - ? entryPtr->item->history()->peer->input - : _session->data().peer(fullId.peer)->input, MTP_bytes(randomId) )).send(); } @@ -625,7 +618,6 @@ auto SponsoredMessages::createReportCallback(const FullMsgId &fullId) state->requestId = _session->api().request( MTPmessages_ReportSponsoredMessage( - history->peer->input, MTP_bytes(entry->sponsored.randomId), MTP_bytes(optionId)) ).done([=]( diff --git a/Telegram/SourceFiles/data/data_user.cpp b/Telegram/SourceFiles/data/data_user.cpp index 46ad8bd514..6973ec867e 100644 --- a/Telegram/SourceFiles/data/data_user.cpp +++ b/Telegram/SourceFiles/data/data_user.cpp @@ -823,7 +823,7 @@ void ApplyUserUpdate(not_null user, const MTPDuserFull &update) { user->setBotVerifyDetails( ParseBotVerifyDetails(update.vbot_verification())); - if (const auto gifts = update.vdisallowed_stargifts()) { + if (const auto gifts = update.vdisallowed_gifts()) { const auto &data = gifts->data(); user->setDisallowedGiftTypes(Api::DisallowedGiftType() | ((data.is_disallow_unlimited_stargifts() @@ -834,6 +834,9 @@ void ApplyUserUpdate(not_null user, const MTPDuserFull &update) { : Api::DisallowedGiftType())) | ((data.is_disallow_unique_stargifts() ? Api::DisallowedGiftType::Unique + : Api::DisallowedGiftType())) + | ((data.is_disallow_premium_gifts() + ? Api::DisallowedGiftType::Premium : Api::DisallowedGiftType()))); } else { user->setDisallowedGiftTypes(Api::DisallowedGiftTypes()); diff --git a/Telegram/SourceFiles/mtproto/scheme/api.tl b/Telegram/SourceFiles/mtproto/scheme/api.tl index b8c268bed8..37fb71c23f 100644 --- a/Telegram/SourceFiles/mtproto/scheme/api.tl +++ b/Telegram/SourceFiles/mtproto/scheme/api.tl @@ -239,7 +239,7 @@ inputReportReasonFake#f5ddd6e7 = ReportReason; inputReportReasonIllegalDrugs#a8eb2be = ReportReason; inputReportReasonPersonalDetails#9ec7863d = ReportReason; -userFull#2f30acf1 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 blocked_my_stories_from:flags.27?true wallpaper_overridden:flags.28?true contact_require_premium:flags.29?true read_dates_private:flags.30?true flags2:# sponsored_enabled:flags2.7?true can_view_revenue:flags2.9?true bot_can_manage_emoji_status:flags2.10?true display_gifts_button:flags2.16?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 wallpaper:flags.24?WallPaper stories:flags.25?PeerStories business_work_hours:flags2.0?BusinessWorkHours business_location:flags2.1?BusinessLocation business_greeting_message:flags2.2?BusinessGreetingMessage business_away_message:flags2.3?BusinessAwayMessage business_intro:flags2.4?BusinessIntro birthday:flags2.5?Birthday personal_channel_id:flags2.6?long personal_channel_message:flags2.6?int stargifts_count:flags2.8?int starref_program:flags2.11?StarRefProgram bot_verification:flags2.12?BotVerification send_paid_messages_stars:flags2.14?long disallowed_stargifts:flags2.15?DisallowedStarGiftsSettings = UserFull; +userFull#99e78045 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 blocked_my_stories_from:flags.27?true wallpaper_overridden:flags.28?true contact_require_premium:flags.29?true read_dates_private:flags.30?true flags2:# sponsored_enabled:flags2.7?true can_view_revenue:flags2.9?true bot_can_manage_emoji_status:flags2.10?true display_gifts_button:flags2.16?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 wallpaper:flags.24?WallPaper stories:flags.25?PeerStories business_work_hours:flags2.0?BusinessWorkHours business_location:flags2.1?BusinessLocation business_greeting_message:flags2.2?BusinessGreetingMessage business_away_message:flags2.3?BusinessAwayMessage business_intro:flags2.4?BusinessIntro birthday:flags2.5?Birthday personal_channel_id:flags2.6?long personal_channel_message:flags2.6?int stargifts_count:flags2.8?int starref_program:flags2.11?StarRefProgram bot_verification:flags2.12?BotVerification send_paid_messages_stars:flags2.14?long disallowed_gifts:flags2.15?DisallowedGiftsSettings = UserFull; contact#145ade0b user_id:long mutual:Bool = Contact; @@ -1315,7 +1315,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 top_admins:Vector top_inviters:Vector users:Vector = stats.MegagroupStats; -globalPrivacySettings#d55f2842 flags:# archive_and_mute_new_noncontact_peers:flags.0?true keep_archived_unmuted:flags.1?true keep_archived_folders:flags.2?true hide_read_marks:flags.3?true new_noncontact_peers_require_premium:flags.4?true display_gifts_button:flags.7?true noncontact_peers_paid_stars:flags.5?long disallowed_stargifts:flags.6?DisallowedStarGiftsSettings = GlobalPrivacySettings; +globalPrivacySettings#fe41b34f flags:# archive_and_mute_new_noncontact_peers:flags.0?true keep_archived_unmuted:flags.1?true keep_archived_folders:flags.2?true hide_read_marks:flags.3?true new_noncontact_peers_require_premium:flags.4?true display_gifts_button:flags.7?true noncontact_peers_paid_stars:flags.5?long disallowed_gifts:flags.6?DisallowedGiftsSettings = GlobalPrivacySettings; help.countryCode#4203c5ef flags:# country_code:string prefixes:flags.0?Vector patterns:flags.1?Vector = help.CountryCode; @@ -1950,9 +1950,14 @@ requirementToContactEmpty#50a9839 = RequirementToContact; requirementToContactPremium#e581e4e9 = RequirementToContact; requirementToContactPaidMessages#b4f67e93 stars_amount:long = RequirementToContact; -businessBotRights#a0624cf7 flags:# reply:flags.0?true read_messages:flags.1?true delete_messages:flags.2?true change_info:flags.3?true manage_stories:flags.4?true manage_gifts:flags.5?true withdraw_stars:flags.6?true = BusinessBotRights; +businessBotRights#a0624cf7 flags:# reply:flags.0?true read_messages:flags.1?true delete_sent_messages:flags.2?true delete_received_messages:flags.3?true edit_name:flags.4?true edit_bio:flags.5?true edit_profile_photo:flags.6?true edit_username:flags.7?true view_gifts:flags.8?true sell_gifts:flags.9?true change_gift_settings:flags.10?true transfer_and_upgrade_gifts:flags.11?true transfer_stars:flags.12?true manage_stories:flags.13?true = BusinessBotRights; -disallowedStarGiftsSettings#6291c96a flags:# disallow_unlimited_stargifts:flags.0?true disallow_limited_stargifts:flags.1?true disallow_unique_stargifts:flags.2?true = DisallowedStarGiftsSettings; +disallowedGiftsSettings#71f276c4 flags:# disallow_unlimited_stargifts:flags.0?true disallow_limited_stargifts:flags.1?true disallow_unique_stargifts:flags.2?true disallow_premium_gifts:flags.3?true = DisallowedGiftsSettings; + +sponsoredPeer#c69708d3 flags:# random_id:bytes peer:Peer sponsor_info:flags.0?string additional_info:flags.1?string = SponsoredPeer; + +contacts.sponsoredPeersEmpty#ea32b4b1 = contacts.SponsoredPeers; +contacts.sponsoredPeers#eb032884 peers:Vector chats:Vector users:Vector = contacts.SponsoredPeers; ---functions--- @@ -2139,6 +2144,7 @@ contacts.importContactToken#13005788 token:string = User; contacts.editCloseFriends#ba6705f0 id:Vector = Bool; contacts.setBlocked#94c65c76 flags:# my_stories_from:flags.0?true id:Vector limit:int = Bool; contacts.getBirthdays#daeda864 = contacts.ContactBirthdays; +contacts.getSponsoredPeers#b6c8c393 q:string = contacts.SponsoredPeers; messages.getMessages#63c66506 id:Vector = 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; @@ -2357,9 +2363,9 @@ messages.requestMainWebView#c9e01e7b flags:# compact:flags.7?true fullscreen:fla messages.sendPaidReaction#58bbcb50 flags:# peer:InputPeer msg_id:int count:int random_id:long private:flags.0?PaidReactionPrivacy = Updates; messages.togglePaidReactionPrivacy#435885b5 peer:InputPeer msg_id:int private:PaidReactionPrivacy = Bool; messages.getPaidReactionPrivacy#472455aa = Updates; -messages.viewSponsoredMessage#673ad8f1 peer:InputPeer random_id:bytes = Bool; -messages.clickSponsoredMessage#f093465 flags:# media:flags.0?true fullscreen:flags.1?true peer:InputPeer random_id:bytes = Bool; -messages.reportSponsoredMessage#1af3dbb8 peer:InputPeer random_id:bytes option:bytes = channels.SponsoredMessageReportResult; +messages.viewSponsoredMessage#269e3643 random_id:bytes = Bool; +messages.clickSponsoredMessage#8235057e flags:# media:flags.0?true fullscreen:flags.1?true random_id:bytes = Bool; +messages.reportSponsoredMessage#12cbf0c4 random_id:bytes option:bytes = channels.SponsoredMessageReportResult; messages.getSponsoredMessages#9bd2f439 peer:InputPeer = messages.SponsoredMessages; messages.savePreparedInlineMessage#f21f7f2f flags:# result:InputBotInlineResult user_id:InputUser peer_types:flags.0?Vector = messages.BotPreparedInlineMessage; messages.getPreparedInlineMessage#857ebdb8 bot:InputUser id:string = messages.PreparedInlineMessage;