Add channel.boost_level.
This commit is contained in:
parent
5cb6ca27cc
commit
7f6bdcd42c
@ -1062,6 +1062,7 @@ basicGroupFullInfo photo:chatPhoto description:string creator_user_id:int53 memb
|
|||||||
//-getChatSimilarChats, getChatsToSendStories, getCreatedPublicChats, getGroupsInCommon, getInactiveSupergroupChats, getSuitableDiscussionChats, getUserPrivacySettingRules, getVideoChatAvailableParticipants,
|
//-getChatSimilarChats, getChatsToSendStories, getCreatedPublicChats, getGroupsInCommon, getInactiveSupergroupChats, getSuitableDiscussionChats, getUserPrivacySettingRules, getVideoChatAvailableParticipants,
|
||||||
//-searchChatsNearby, searchPublicChats, or in chatFolderInviteLinkInfo.missing_chat_ids, or for public chats in which where sent messages and posted stories from publicForwards,
|
//-searchChatsNearby, searchPublicChats, or in chatFolderInviteLinkInfo.missing_chat_ids, or for public chats in which where sent messages and posted stories from publicForwards,
|
||||||
//-or for public chats in which where sent messages from getMessagePublicForwards response
|
//-or for public chats in which where sent messages from getMessagePublicForwards response
|
||||||
|
//@boost_level Approximate boost level for the chat
|
||||||
//@has_linked_chat True, if the channel has a discussion group, or the supergroup is the designated discussion group for a channel
|
//@has_linked_chat True, if the channel has a discussion group, or the supergroup is the designated discussion group for a channel
|
||||||
//@has_location True, if the supergroup is connected to a location, i.e. the supergroup is a location-based supergroup
|
//@has_location True, if the supergroup is connected to a location, i.e. the supergroup is a location-based supergroup
|
||||||
//@sign_messages True, if messages sent to the channel need to contain information about the sender. This field is only applicable to channels
|
//@sign_messages True, if messages sent to the channel need to contain information about the sender. This field is only applicable to channels
|
||||||
@ -1077,7 +1078,7 @@ basicGroupFullInfo photo:chatPhoto description:string creator_user_id:int53 memb
|
|||||||
//@is_fake True, if many users reported this supergroup or channel as a fake account
|
//@is_fake True, if many users reported this supergroup or channel as a fake account
|
||||||
//@has_active_stories True, if the channel has non-expired stories available to the current user
|
//@has_active_stories True, if the channel has non-expired stories available to the current user
|
||||||
//@has_unread_active_stories True, if the channel has unread non-expired stories available to the current user
|
//@has_unread_active_stories True, if the channel has unread non-expired stories available to the current user
|
||||||
supergroup id:int53 usernames:usernames date:int32 status:ChatMemberStatus member_count:int32 has_linked_chat:Bool has_location:Bool sign_messages:Bool join_to_send_messages:Bool join_by_request:Bool is_slow_mode_enabled:Bool is_channel:Bool is_broadcast_group:Bool is_forum:Bool is_verified:Bool restriction_reason:string is_scam:Bool is_fake:Bool has_active_stories:Bool has_unread_active_stories:Bool = Supergroup;
|
supergroup id:int53 usernames:usernames date:int32 status:ChatMemberStatus member_count:int32 boost_level:int32 has_linked_chat:Bool has_location:Bool sign_messages:Bool join_to_send_messages:Bool join_by_request:Bool is_slow_mode_enabled:Bool is_channel:Bool is_broadcast_group:Bool is_forum:Bool is_verified:Bool restriction_reason:string is_scam:Bool is_fake:Bool has_active_stories:Bool has_unread_active_stories:Bool = Supergroup;
|
||||||
|
|
||||||
//@description Contains full information about a supergroup or channel
|
//@description Contains full information about a supergroup or channel
|
||||||
//@photo Chat photo; may be null if empty or unknown. If non-null, then it is the same photo as in chat.photo
|
//@photo Chat photo; may be null if empty or unknown. If non-null, then it is the same photo as in chat.photo
|
||||||
|
@ -5005,6 +5005,7 @@ void ContactsManager::Channel::store(StorerT &storer) const {
|
|||||||
bool has_background_custom_emoji_id = background_custom_emoji_id.is_valid();
|
bool has_background_custom_emoji_id = background_custom_emoji_id.is_valid();
|
||||||
bool has_profile_accent_color_id = profile_accent_color_id.is_valid();
|
bool has_profile_accent_color_id = profile_accent_color_id.is_valid();
|
||||||
bool has_profile_background_custom_emoji_id = profile_background_custom_emoji_id.is_valid();
|
bool has_profile_background_custom_emoji_id = profile_background_custom_emoji_id.is_valid();
|
||||||
|
bool has_boost_level = boost_level != 0;
|
||||||
BEGIN_STORE_FLAGS();
|
BEGIN_STORE_FLAGS();
|
||||||
STORE_FLAG(false);
|
STORE_FLAG(false);
|
||||||
STORE_FLAG(false);
|
STORE_FLAG(false);
|
||||||
@ -5048,6 +5049,7 @@ void ContactsManager::Channel::store(StorerT &storer) const {
|
|||||||
STORE_FLAG(has_background_custom_emoji_id);
|
STORE_FLAG(has_background_custom_emoji_id);
|
||||||
STORE_FLAG(has_profile_accent_color_id);
|
STORE_FLAG(has_profile_accent_color_id);
|
||||||
STORE_FLAG(has_profile_background_custom_emoji_id);
|
STORE_FLAG(has_profile_background_custom_emoji_id);
|
||||||
|
STORE_FLAG(has_boost_level);
|
||||||
END_STORE_FLAGS();
|
END_STORE_FLAGS();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5094,6 +5096,9 @@ void ContactsManager::Channel::store(StorerT &storer) const {
|
|||||||
if (has_profile_background_custom_emoji_id) {
|
if (has_profile_background_custom_emoji_id) {
|
||||||
store(profile_background_custom_emoji_id, storer);
|
store(profile_background_custom_emoji_id, storer);
|
||||||
}
|
}
|
||||||
|
if (has_boost_level) {
|
||||||
|
store(boost_level, storer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class ParserT>
|
template <class ParserT>
|
||||||
@ -5123,6 +5128,7 @@ void ContactsManager::Channel::parse(ParserT &parser) {
|
|||||||
bool has_background_custom_emoji_id = false;
|
bool has_background_custom_emoji_id = false;
|
||||||
bool has_profile_accent_color_id = false;
|
bool has_profile_accent_color_id = false;
|
||||||
bool has_profile_background_custom_emoji_id = false;
|
bool has_profile_background_custom_emoji_id = false;
|
||||||
|
bool has_boost_level = false;
|
||||||
BEGIN_PARSE_FLAGS();
|
BEGIN_PARSE_FLAGS();
|
||||||
PARSE_FLAG(left);
|
PARSE_FLAG(left);
|
||||||
PARSE_FLAG(kicked);
|
PARSE_FLAG(kicked);
|
||||||
@ -5166,6 +5172,7 @@ void ContactsManager::Channel::parse(ParserT &parser) {
|
|||||||
PARSE_FLAG(has_background_custom_emoji_id);
|
PARSE_FLAG(has_background_custom_emoji_id);
|
||||||
PARSE_FLAG(has_profile_accent_color_id);
|
PARSE_FLAG(has_profile_accent_color_id);
|
||||||
PARSE_FLAG(has_profile_background_custom_emoji_id);
|
PARSE_FLAG(has_profile_background_custom_emoji_id);
|
||||||
|
PARSE_FLAG(has_boost_level);
|
||||||
END_PARSE_FLAGS();
|
END_PARSE_FLAGS();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5242,6 +5249,9 @@ void ContactsManager::Channel::parse(ParserT &parser) {
|
|||||||
if (has_profile_background_custom_emoji_id) {
|
if (has_profile_background_custom_emoji_id) {
|
||||||
parse(profile_background_custom_emoji_id, parser);
|
parse(profile_background_custom_emoji_id, parser);
|
||||||
}
|
}
|
||||||
|
if (has_boost_level) {
|
||||||
|
parse(boost_level, parser);
|
||||||
|
}
|
||||||
|
|
||||||
if (!check_utf8(title)) {
|
if (!check_utf8(title)) {
|
||||||
LOG(ERROR) << "Have invalid title \"" << title << '"';
|
LOG(ERROR) << "Have invalid title \"" << title << '"';
|
||||||
@ -19629,6 +19639,7 @@ void ContactsManager::on_get_channel(telegram_api::channel &channel, const char
|
|||||||
int32 participant_count = have_participant_count ? channel.participants_count_ : 0;
|
int32 participant_count = have_participant_count ? channel.participants_count_ : 0;
|
||||||
bool stories_available = channel.stories_max_id_ > 0;
|
bool stories_available = channel.stories_max_id_ > 0;
|
||||||
bool stories_unavailable = channel.stories_unavailable_;
|
bool stories_unavailable = channel.stories_unavailable_;
|
||||||
|
auto boost_level = channel.level_;
|
||||||
|
|
||||||
if (have_participant_count) {
|
if (have_participant_count) {
|
||||||
auto channel_full = get_channel_full_const(channel_id);
|
auto channel_full = get_channel_full_const(channel_id);
|
||||||
@ -19698,7 +19709,8 @@ void ContactsManager::on_get_channel(telegram_api::channel &channel, const char
|
|||||||
|
|
||||||
if (c->has_linked_channel != has_linked_channel || c->is_slow_mode_enabled != is_slow_mode_enabled ||
|
if (c->has_linked_channel != has_linked_channel || c->is_slow_mode_enabled != is_slow_mode_enabled ||
|
||||||
c->is_megagroup != is_megagroup || c->restriction_reasons != restriction_reasons || c->is_scam != is_scam ||
|
c->is_megagroup != is_megagroup || c->restriction_reasons != restriction_reasons || c->is_scam != is_scam ||
|
||||||
c->is_fake != is_fake || c->is_gigagroup != is_gigagroup || c->is_forum != is_forum) {
|
c->is_fake != is_fake || c->is_gigagroup != is_gigagroup || c->is_forum != is_forum ||
|
||||||
|
c->boost_level != boost_level) {
|
||||||
c->has_linked_channel = has_linked_channel;
|
c->has_linked_channel = has_linked_channel;
|
||||||
c->is_slow_mode_enabled = is_slow_mode_enabled;
|
c->is_slow_mode_enabled = is_slow_mode_enabled;
|
||||||
c->is_megagroup = is_megagroup;
|
c->is_megagroup = is_megagroup;
|
||||||
@ -19711,6 +19723,7 @@ void ContactsManager::on_get_channel(telegram_api::channel &channel, const char
|
|||||||
send_closure_later(G()->messages_manager(), &MessagesManager::on_update_dialog_is_forum, DialogId(channel_id),
|
send_closure_later(G()->messages_manager(), &MessagesManager::on_update_dialog_is_forum, DialogId(channel_id),
|
||||||
is_forum);
|
is_forum);
|
||||||
}
|
}
|
||||||
|
c->boost_level = boost_level;
|
||||||
|
|
||||||
c->is_changed = true;
|
c->is_changed = true;
|
||||||
invalidate_channel_full(channel_id, !c->is_slow_mode_enabled, "on_get_min_channel");
|
invalidate_channel_full(channel_id, !c->is_slow_mode_enabled, "on_get_min_channel");
|
||||||
@ -19783,7 +19796,8 @@ void ContactsManager::on_get_channel(telegram_api::channel &channel, const char
|
|||||||
bool need_invalidate_channel_full = false;
|
bool need_invalidate_channel_full = false;
|
||||||
if (c->has_linked_channel != has_linked_channel || c->is_slow_mode_enabled != is_slow_mode_enabled ||
|
if (c->has_linked_channel != has_linked_channel || c->is_slow_mode_enabled != is_slow_mode_enabled ||
|
||||||
c->is_megagroup != is_megagroup || c->restriction_reasons != restriction_reasons || c->is_scam != is_scam ||
|
c->is_megagroup != is_megagroup || c->restriction_reasons != restriction_reasons || c->is_scam != is_scam ||
|
||||||
c->is_fake != is_fake || c->is_gigagroup != is_gigagroup || c->is_forum != is_forum) {
|
c->is_fake != is_fake || c->is_gigagroup != is_gigagroup || c->is_forum != is_forum ||
|
||||||
|
c->boost_level != boost_level) {
|
||||||
c->has_linked_channel = has_linked_channel;
|
c->has_linked_channel = has_linked_channel;
|
||||||
c->is_slow_mode_enabled = is_slow_mode_enabled;
|
c->is_slow_mode_enabled = is_slow_mode_enabled;
|
||||||
c->is_megagroup = is_megagroup;
|
c->is_megagroup = is_megagroup;
|
||||||
@ -19796,6 +19810,7 @@ void ContactsManager::on_get_channel(telegram_api::channel &channel, const char
|
|||||||
send_closure_later(G()->messages_manager(), &MessagesManager::on_update_dialog_is_forum, DialogId(channel_id),
|
send_closure_later(G()->messages_manager(), &MessagesManager::on_update_dialog_is_forum, DialogId(channel_id),
|
||||||
is_forum);
|
is_forum);
|
||||||
}
|
}
|
||||||
|
c->boost_level = boost_level;
|
||||||
|
|
||||||
c->is_changed = true;
|
c->is_changed = true;
|
||||||
need_invalidate_channel_full = true;
|
need_invalidate_channel_full = true;
|
||||||
@ -20298,8 +20313,9 @@ td_api::object_ptr<td_api::updateSupergroup> ContactsManager::get_update_unknown
|
|||||||
auto min_channel = get_min_channel(channel_id);
|
auto min_channel = get_min_channel(channel_id);
|
||||||
bool is_megagroup = min_channel == nullptr ? false : min_channel->is_megagroup_;
|
bool is_megagroup = min_channel == nullptr ? false : min_channel->is_megagroup_;
|
||||||
return td_api::make_object<td_api::updateSupergroup>(td_api::make_object<td_api::supergroup>(
|
return td_api::make_object<td_api::updateSupergroup>(td_api::make_object<td_api::supergroup>(
|
||||||
channel_id.get(), nullptr, 0, DialogParticipantStatus::Banned(0).get_chat_member_status_object(), 0, false, false,
|
channel_id.get(), nullptr, 0, DialogParticipantStatus::Banned(0).get_chat_member_status_object(), 0, 0, false,
|
||||||
false, !is_megagroup, false, false, !is_megagroup, false, false, false, string(), false, false, false, false));
|
false, false, !is_megagroup, false, false, !is_megagroup, false, false, false, string(), false, false, false,
|
||||||
|
false));
|
||||||
}
|
}
|
||||||
|
|
||||||
int64 ContactsManager::get_supergroup_id_object(ChannelId channel_id, const char *source) const {
|
int64 ContactsManager::get_supergroup_id_object(ChannelId channel_id, const char *source) const {
|
||||||
@ -20335,10 +20351,10 @@ tl_object_ptr<td_api::supergroup> ContactsManager::get_supergroup_object(Channel
|
|||||||
}
|
}
|
||||||
return td_api::make_object<td_api::supergroup>(
|
return td_api::make_object<td_api::supergroup>(
|
||||||
channel_id.get(), c->usernames.get_usernames_object(), c->date,
|
channel_id.get(), c->usernames.get_usernames_object(), c->date,
|
||||||
get_channel_status(c).get_chat_member_status_object(), c->participant_count, c->has_linked_channel,
|
get_channel_status(c).get_chat_member_status_object(), c->participant_count, c->boost_level,
|
||||||
c->has_location, c->sign_messages, get_channel_join_to_send(c), get_channel_join_request(c),
|
c->has_linked_channel, c->has_location, c->sign_messages, get_channel_join_to_send(c),
|
||||||
c->is_slow_mode_enabled, !c->is_megagroup, c->is_gigagroup, c->is_forum, c->is_verified,
|
get_channel_join_request(c), c->is_slow_mode_enabled, !c->is_megagroup, c->is_gigagroup, c->is_forum,
|
||||||
get_restriction_reason_description(c->restriction_reasons), c->is_scam, c->is_fake,
|
c->is_verified, get_restriction_reason_description(c->restriction_reasons), c->is_scam, c->is_fake,
|
||||||
c->max_active_story_id.is_valid(), get_channel_has_unread_stories(c));
|
c->max_active_story_id.is_valid(), get_channel_has_unread_stories(c));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1020,6 +1020,7 @@ class ContactsManager final : public Actor {
|
|||||||
false, false, false, false, false, false, false, false, ChannelType::Unknown};
|
false, false, false, false, false, false, false, false, ChannelType::Unknown};
|
||||||
int32 date = 0;
|
int32 date = 0;
|
||||||
int32 participant_count = 0;
|
int32 participant_count = 0;
|
||||||
|
int32 boost_level = 0;
|
||||||
|
|
||||||
double max_active_story_id_next_reload_time = 0.0;
|
double max_active_story_id_next_reload_time = 0.0;
|
||||||
StoryId max_active_story_id;
|
StoryId max_active_story_id;
|
||||||
|
Loading…
Reference in New Issue
Block a user