diff --git a/td/generate/scheme/td_api.tl b/td/generate/scheme/td_api.tl index dfa65106a..0d7ae8bf5 100644 --- a/td/generate/scheme/td_api.tl +++ b/td/generate/scheme/td_api.tl @@ -6494,6 +6494,9 @@ suggestedActionGiftPremiumForChristmas = SuggestedAction; //@description Suggests the user to set birthdate suggestedActionSetBirthdate = SuggestedAction; +//@description Suggests the user to prolong about to expire Telegram Premium @manage_premium_subscription_url A URL for managing Telegram Premium subscription +suggestedActionProlongPremium manage_premium_subscription_url:string = SuggestedAction; + //@description Contains a counter @count Count count count:int32 = Count; diff --git a/td/telegram/SuggestedAction.cpp b/td/telegram/SuggestedAction.cpp index b3e6e862c..81dcc07ce 100644 --- a/td/telegram/SuggestedAction.cpp +++ b/td/telegram/SuggestedAction.cpp @@ -48,6 +48,8 @@ SuggestedAction::SuggestedAction(Slice action_str) { init(Type::GiftPremiumForChristmas); } else if (action_str == Slice("BIRTHDAY_SETUP")) { init(Type::BirthdaySetup); + } else if (action_str == Slice("PREMIUM_GRACE")) { + init(Type::PremiumGrace); } } @@ -106,6 +108,9 @@ SuggestedAction::SuggestedAction(const td_api::object_ptr SuggestedAction::get_suggested_actio return td_api::make_object(); case Type::BirthdaySetup: return td_api::make_object(); + case Type::PremiumGrace: + return td_api::make_object( + G()->get_option_string("premium_manage_subscription_url", "https://T.me/premiumbot?start=status")); default: UNREACHABLE(); return nullptr; @@ -232,6 +242,7 @@ void dismiss_suggested_action(SuggestedAction action, Promise &&promise) { case SuggestedAction::Type::RestorePremium: case SuggestedAction::Type::GiftPremiumForChristmas: case SuggestedAction::Type::BirthdaySetup: + case SuggestedAction::Type::PremiumGrace: return send_closure_later(G()->config_manager(), &ConfigManager::dismiss_suggested_action, std::move(action), std::move(promise)); case SuggestedAction::Type::ConvertToGigagroup: diff --git a/td/telegram/SuggestedAction.h b/td/telegram/SuggestedAction.h index 981cd94a8..ac25eaf3e 100644 --- a/td/telegram/SuggestedAction.h +++ b/td/telegram/SuggestedAction.h @@ -28,7 +28,8 @@ struct SuggestedAction { SubscribeToAnnualPremium, RestorePremium, GiftPremiumForChristmas, - BirthdaySetup + BirthdaySetup, + PremiumGrace }; Type type_ = Type::Empty; DialogId dialog_id_; diff --git a/td/telegram/cli.cpp b/td/telegram/cli.cpp index 4fcf91c78..ef7099d56 100644 --- a/td/telegram/cli.cpp +++ b/td/telegram/cli.cpp @@ -2125,6 +2125,12 @@ class CliClient final : public Actor { if (action == "checks") { return td_api::make_object(); } + if (action == "prolong") { + return td_api::make_object(""); + } + if (action == "annual") { + return td_api::make_object(); + } if (begins_with(action, "giga")) { return td_api::make_object(as_supergroup_id(action.substr(4))); }