aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2026-07-02 14:42:10 +0300
committerlevlam <levlam@telegram.org>2026-07-02 14:42:10 +0300
commit287f174d30ed1ac60ee1c0282cc3119e42540056 (patch)
tree169768e9ced1675f685f642d209bff099a577b9a
parent4481341b2c3d6301291ebed39982b67bced39c9e (diff)
Add td_api::premiumFeatureRichMessages.
-rw-r--r--td/generate/scheme/td_api.tl3
-rw-r--r--td/telegram/Premium.cpp20
2 files changed, 16 insertions, 7 deletions
diff --git a/td/generate/scheme/td_api.tl b/td/generate/scheme/td_api.tl
index c6898f3a5..9661f4229 100644
--- a/td/generate/scheme/td_api.tl
+++ b/td/generate/scheme/td_api.tl
@@ -8005,6 +8005,9 @@ premiumFeatureProtectPrivateChatContent = PremiumFeature;
//@description The ability to compose text with AI
premiumFeatureTextComposition = PremiumFeature;
+//@description The ability to send rich messages
+premiumFeatureRichMessages = PremiumFeature;
+
//@class BusinessFeature @description Describes a feature available to Business user accounts
diff --git a/td/telegram/Premium.cpp b/td/telegram/Premium.cpp
index 55d41e4f0..16ae87a85 100644
--- a/td/telegram/Premium.cpp
+++ b/td/telegram/Premium.cpp
@@ -132,6 +132,9 @@ static td_api::object_ptr<td_api::PremiumFeature> get_premium_feature_object(Sli
if (premium_feature == "ai_compose") {
return td_api::make_object<td_api::premiumFeatureTextComposition>();
}
+ if (premium_feature == "rich_formatting") {
+ return td_api::make_object<td_api::premiumFeatureRichMessages>();
+ }
if (G()->is_test_dc()) {
LOG(ERROR) << "Receive unsupported premium feature " << premium_feature;
}
@@ -1075,6 +1078,8 @@ static string get_premium_source(const td_api::PremiumFeature *feature) {
return "pm_noforwards";
case td_api::premiumFeatureTextComposition::ID:
return "ai_compose";
+ case td_api::premiumFeatureRichMessages::ID:
+ return "rich_formatting";
default:
UNREACHABLE();
}
@@ -1267,13 +1272,14 @@ void get_premium_limit(const td_api::object_ptr<td_api::PremiumLimitType> &limit
void get_premium_features(Td *td, const td_api::object_ptr<td_api::PremiumSource> &source,
Promise<td_api::object_ptr<td_api::premiumFeatures>> &&promise) {
- auto premium_features = full_split(
- G()->get_option_string("premium_features",
- "stories,more_upload,double_limits,business,last_seen,voice_to_text,faster_download,"
- "translations,animated_emoji,emoji_status,saved_tags,peer_colors,wallpapers,profile_badge,"
- "message_privacy,advanced_chat_management,no_ads,app_icons,infinite_reactions,animated_"
- "userpics,premium_stickers,effects,todo,paid_messages,pm_noforwards,ai_compose"),
- ',');
+ auto premium_features =
+ full_split(G()->get_option_string(
+ "premium_features",
+ "stories,more_upload,double_limits,business,last_seen,voice_to_text,faster_download,"
+ "translations,animated_emoji,emoji_status,saved_tags,peer_colors,wallpapers,profile_badge,"
+ "message_privacy,advanced_chat_management,no_ads,app_icons,infinite_reactions,animated_"
+ "userpics,premium_stickers,effects,todo,paid_messages,pm_noforwards,ai_compose,rich_formatting"),
+ ',');
vector<td_api::object_ptr<td_api::PremiumFeature>> features;
for (const auto &premium_feature : premium_features) {
auto feature = get_premium_feature_object(premium_feature);