@@ -1249,18 +1249,20 @@ class MessageStarGift final : public MessageContent {
1249
1249
StarGift star_gift;
1250
1250
FormattedText text;
1251
1251
int64 convert_star_count = 0;
1252
+ int64 upgrade_star_count = 0;
1252
1253
bool name_hidden = false;
1253
1254
bool is_saved = false;
1254
1255
bool can_upgrade = false;
1255
1256
bool was_converted = false;
1256
1257
bool was_upgraded = false;
1257
1258
1258
1259
MessageStarGift() = default;
1259
- MessageStarGift(StarGift &&star_gift, FormattedText &&text, int64 convert_star_count, bool name_hidden, bool is_saved ,
1260
- bool can_upgrade, bool was_converted, bool was_upgraded)
1260
+ MessageStarGift(StarGift &&star_gift, FormattedText &&text, int64 convert_star_count, int64 upgrade_star_count ,
1261
+ bool name_hidden, bool is_saved, bool can_upgrade, bool was_converted, bool was_upgraded)
1261
1262
: star_gift(std::move(star_gift))
1262
1263
, text(std::move(text))
1263
1264
, convert_star_count(convert_star_count)
1265
+ , upgrade_star_count(upgrade_star_count)
1264
1266
, name_hidden(name_hidden)
1265
1267
, is_saved(is_saved)
1266
1268
, can_upgrade(can_upgrade)
@@ -1956,19 +1958,24 @@ static void store(const MessageContent *content, StorerT &storer) {
1956
1958
case MessageContentType::StarGift: {
1957
1959
const auto *m = static_cast<const MessageStarGift *>(content);
1958
1960
bool has_text = !m->text.text.empty();
1961
+ bool has_upgrade_star_count = m->upgrade_star_count != 0;
1959
1962
BEGIN_STORE_FLAGS();
1960
1963
STORE_FLAG(m->name_hidden);
1961
1964
STORE_FLAG(m->is_saved);
1962
1965
STORE_FLAG(m->was_converted);
1963
1966
STORE_FLAG(has_text);
1964
1967
STORE_FLAG(m->was_upgraded);
1965
1968
STORE_FLAG(m->can_upgrade);
1969
+ STORE_FLAG(has_upgrade_star_count);
1966
1970
END_STORE_FLAGS();
1967
1971
store(m->star_gift, storer);
1968
1972
if (has_text) {
1969
1973
store(m->text, storer);
1970
1974
}
1971
1975
store(m->convert_star_count, storer);
1976
+ if (has_upgrade_star_count) {
1977
+ store(m->upgrade_star_count, storer);
1978
+ }
1972
1979
break;
1973
1980
}
1974
1981
default:
@@ -2866,19 +2873,24 @@ static void parse(unique_ptr<MessageContent> &content, ParserT &parser) {
2866
2873
case MessageContentType::StarGift: {
2867
2874
auto m = make_unique<MessageStarGift>();
2868
2875
bool has_text;
2876
+ bool has_upgrade_star_count;
2869
2877
BEGIN_PARSE_FLAGS();
2870
2878
PARSE_FLAG(m->name_hidden);
2871
2879
PARSE_FLAG(m->is_saved);
2872
2880
PARSE_FLAG(m->was_converted);
2873
2881
PARSE_FLAG(has_text);
2874
2882
PARSE_FLAG(m->was_upgraded);
2875
2883
PARSE_FLAG(m->can_upgrade);
2884
+ PARSE_FLAG(has_upgrade_star_count);
2876
2885
END_PARSE_FLAGS();
2877
2886
parse(m->star_gift, parser);
2878
2887
if (has_text) {
2879
2888
parse(m->text, parser);
2880
2889
}
2881
2890
parse(m->convert_star_count, parser);
2891
+ if (has_upgrade_star_count) {
2892
+ parse(m->upgrade_star_count, parser);
2893
+ }
2882
2894
if (!m->star_gift.is_valid()) {
2883
2895
is_bad = true;
2884
2896
break;
@@ -6103,9 +6115,10 @@ void compare_message_contents(Td *td, const MessageContent *old_content, const M
6103
6115
const auto *lhs = static_cast<const MessageStarGift *>(old_content);
6104
6116
const auto *rhs = static_cast<const MessageStarGift *>(new_content);
6105
6117
if (lhs->star_gift != rhs->star_gift || lhs->text != rhs->text ||
6106
- lhs->convert_star_count != rhs->convert_star_count || lhs->name_hidden != rhs->name_hidden ||
6107
- lhs->is_saved != rhs->is_saved || lhs->can_upgrade != rhs->can_upgrade ||
6108
- lhs->was_converted != rhs->was_converted || lhs->was_upgraded != rhs->was_upgraded) {
6118
+ lhs->convert_star_count != rhs->convert_star_count || lhs->upgrade_star_count != rhs->upgrade_star_count ||
6119
+ lhs->name_hidden != rhs->name_hidden || lhs->is_saved != rhs->is_saved ||
6120
+ lhs->can_upgrade != rhs->can_upgrade || lhs->was_converted != rhs->was_converted ||
6121
+ lhs->was_upgraded != rhs->was_upgraded) {
6109
6122
need_update = true;
6110
6123
}
6111
6124
break;
@@ -7897,7 +7910,8 @@ unique_ptr<MessageContent> get_action_message_content(Td *td, tl_object_ptr<tele
7897
7910
"messageActionStarGift");
7898
7911
return td::make_unique<MessageStarGift>(
7899
7912
std::move(star_gift), std::move(text), StarManager::get_star_count(action->convert_stars_),
7900
- action->name_hidden_, action->saved_, action->can_upgrade_, action->converted_, action->upgraded_);
7913
+ StarManager::get_star_count(action->upgrade_stars_), action->name_hidden_, action->saved_,
7914
+ action->can_upgrade_, action->converted_, action->upgraded_);
7901
7915
}
7902
7916
case telegram_api::messageActionStarGiftUnique::ID:
7903
7917
return td::make_unique<MessageUnsupported>();
@@ -8388,8 +8402,8 @@ td_api::object_ptr<td_api::MessageContent> get_message_content_object(const Mess
8388
8402
case MessageContentType::StarGift: {
8389
8403
const auto *m = static_cast<const MessageStarGift *>(content);
8390
8404
return td_api::make_object<td_api::messageGift>(m->star_gift.get_gift_object(td), get_text_object(m->text),
8391
- m->convert_star_count, m->name_hidden , m->is_saved ,
8392
- m->can_upgrade, m->was_converted, m->was_upgraded);
8405
+ m->convert_star_count, m->upgrade_star_count , m->name_hidden ,
8406
+ m->is_saved, m-> can_upgrade, m->was_converted, m->was_upgraded);
8393
8407
}
8394
8408
default:
8395
8409
UNREACHABLE();
0 commit comments