Add User.flags2.

This commit is contained in:
levlam 2024-05-01 18:50:58 +03:00
parent 5a7970fe79
commit 43012bbfaf
2 changed files with 27 additions and 15 deletions

View File

@ -1931,27 +1931,27 @@ void ChatManager::Channel::store(StorerT &storer) const {
STORE_FLAG(false);
STORE_FLAG(sign_messages);
STORE_FLAG(false);
STORE_FLAG(false); // 5
STORE_FLAG(false);
STORE_FLAG(false);
STORE_FLAG(is_megagroup);
STORE_FLAG(is_verified);
STORE_FLAG(has_photo);
STORE_FLAG(legacy_has_username); // 10
STORE_FLAG(legacy_has_username);
STORE_FLAG(false);
STORE_FLAG(use_new_rights);
STORE_FLAG(has_participant_count);
STORE_FLAG(have_default_permissions);
STORE_FLAG(is_scam); // 15
STORE_FLAG(is_scam);
STORE_FLAG(has_cache_version);
STORE_FLAG(has_linked_channel);
STORE_FLAG(has_location);
STORE_FLAG(is_slow_mode_enabled);
STORE_FLAG(has_restriction_reasons); // 20
STORE_FLAG(has_restriction_reasons);
STORE_FLAG(legacy_has_active_group_call);
STORE_FLAG(is_fake);
STORE_FLAG(is_gigagroup);
STORE_FLAG(noforwards);
STORE_FLAG(can_be_deleted); // 25
STORE_FLAG(can_be_deleted);
STORE_FLAG(join_to_send);
STORE_FLAG(join_request);
STORE_FLAG(has_usernames);
@ -2230,27 +2230,27 @@ void ChatManager::ChannelFull::store(StorerT &storer) const {
STORE_FLAG(has_restricted_count);
STORE_FLAG(has_banned_count);
STORE_FLAG(legacy_has_invite_link);
STORE_FLAG(has_sticker_set); // 5
STORE_FLAG(has_sticker_set);
STORE_FLAG(has_linked_channel_id);
STORE_FLAG(has_migrated_from_max_message_id);
STORE_FLAG(has_migrated_from_chat_id);
STORE_FLAG(can_get_participants);
STORE_FLAG(can_set_username); // 10
STORE_FLAG(can_set_username);
STORE_FLAG(can_set_sticker_set);
STORE_FLAG(false); // legacy_can_view_statistics
STORE_FLAG(is_all_history_available);
STORE_FLAG(can_set_location);
STORE_FLAG(has_location); // 15
STORE_FLAG(has_location);
STORE_FLAG(has_bot_user_ids);
STORE_FLAG(is_slow_mode_enabled);
STORE_FLAG(is_slow_mode_delay_active);
STORE_FLAG(has_stats_dc_id);
STORE_FLAG(has_photo); // 20
STORE_FLAG(has_photo);
STORE_FLAG(is_can_view_statistics_inited);
STORE_FLAG(can_view_statistics);
STORE_FLAG(legacy_has_active_group_call_id);
STORE_FLAG(has_invite_link);
STORE_FLAG(has_bot_commands); // 25
STORE_FLAG(has_bot_commands);
STORE_FLAG(can_be_deleted);
STORE_FLAG(has_aggressive_anti_spam_enabled);
STORE_FLAG(has_hidden_participants);

View File

@ -1665,37 +1665,43 @@ void UserManager::UserFull::store(StorerT &storer) const {
bool has_business_info = business_info != nullptr && !business_info->is_empty();
bool has_birthdate = !birthdate.is_empty();
bool has_personal_channel_id = personal_channel_id.is_valid();
bool has_flags2 = true;
BEGIN_STORE_FLAGS();
STORE_FLAG(has_about);
STORE_FLAG(is_blocked);
STORE_FLAG(can_be_called);
STORE_FLAG(has_private_calls);
STORE_FLAG(can_pin_messages);
STORE_FLAG(need_phone_number_privacy_exception); // 5
STORE_FLAG(need_phone_number_privacy_exception);
STORE_FLAG(has_photo);
STORE_FLAG(supports_video_calls);
STORE_FLAG(has_description);
STORE_FLAG(has_commands);
STORE_FLAG(has_private_forward_name); // 10
STORE_FLAG(has_private_forward_name);
STORE_FLAG(has_group_administrator_rights);
STORE_FLAG(has_broadcast_administrator_rights);
STORE_FLAG(has_menu_button);
STORE_FLAG(has_description_photo);
STORE_FLAG(has_description_animation); // 15
STORE_FLAG(has_description_animation);
STORE_FLAG(has_premium_gift_options);
STORE_FLAG(voice_messages_forbidden);
STORE_FLAG(has_personal_photo);
STORE_FLAG(has_fallback_photo);
STORE_FLAG(has_pinned_stories); // 20
STORE_FLAG(has_pinned_stories);
STORE_FLAG(is_blocked_for_stories);
STORE_FLAG(wallpaper_overridden);
STORE_FLAG(read_dates_private);
STORE_FLAG(contact_require_premium);
STORE_FLAG(has_business_info); // 25
STORE_FLAG(has_business_info);
STORE_FLAG(has_birthdate);
STORE_FLAG(has_personal_channel_id);
STORE_FLAG(sponsored_enabled);
STORE_FLAG(has_flags2);
END_STORE_FLAGS();
if (has_flags2) {
BEGIN_STORE_FLAGS();
END_STORE_FLAGS();
}
if (has_about) {
store(about, storer);
}
@ -1768,6 +1774,7 @@ void UserManager::UserFull::parse(ParserT &parser) {
bool has_business_info;
bool has_birthdate;
bool has_personal_channel_id;
bool has_flags2;
BEGIN_PARSE_FLAGS();
PARSE_FLAG(has_about);
PARSE_FLAG(is_blocked);
@ -1798,7 +1805,12 @@ void UserManager::UserFull::parse(ParserT &parser) {
PARSE_FLAG(has_birthdate);
PARSE_FLAG(has_personal_channel_id);
PARSE_FLAG(sponsored_enabled);
PARSE_FLAG(has_flags2);
END_PARSE_FLAGS();
if (has_flags2) {
BEGIN_PARSE_FLAGS();
END_PARSE_FLAGS();
}
if (has_about) {
parse(about, parser);
}