Support voice chats in basic groups.
This commit is contained in:
parent
65d3557f63
commit
98241af35a
@ -9454,6 +9454,13 @@ void ContactsManager::on_get_chat_full(tl_object_ptr<telegram_api::ChatFull> &&c
|
|||||||
}
|
}
|
||||||
td_->messages_manager_->on_update_dialog_has_scheduled_server_messages(
|
td_->messages_manager_->on_update_dialog_has_scheduled_server_messages(
|
||||||
DialogId(chat_id), (chat_full->flags_ & CHAT_FULL_FLAG_HAS_SCHEDULED_MESSAGES) != 0);
|
DialogId(chat_id), (chat_full->flags_ & CHAT_FULL_FLAG_HAS_SCHEDULED_MESSAGES) != 0);
|
||||||
|
{
|
||||||
|
InputGroupCallId input_group_call_id;
|
||||||
|
if (chat_full->call_ != nullptr) {
|
||||||
|
input_group_call_id = InputGroupCallId(chat_full->call_);
|
||||||
|
}
|
||||||
|
td_->messages_manager_->on_update_dialog_group_call_id(DialogId(chat_id), input_group_call_id);
|
||||||
|
}
|
||||||
|
|
||||||
ChatFull *chat = add_chat_full(chat_id);
|
ChatFull *chat = add_chat_full(chat_id);
|
||||||
on_update_chat_full_invite_link(chat, std::move(chat_full->exported_invite_));
|
on_update_chat_full_invite_link(chat, std::move(chat_full->exported_invite_));
|
||||||
@ -13795,6 +13802,10 @@ void ContactsManager::on_chat_update(telegram_api::chat &chat, const char *sourc
|
|||||||
}
|
}
|
||||||
c->is_received_from_server = true;
|
c->is_received_from_server = true;
|
||||||
update_chat(c, chat_id);
|
update_chat(c, chat_id);
|
||||||
|
|
||||||
|
bool has_active_group_call = (chat.flags_ & CHAT_FLAG_HAS_ACTIVE_GROUP_CALL) != 0;
|
||||||
|
bool is_group_call_empty = (chat.flags_ & CHAT_FLAG_IS_GROUP_CALL_NON_EMPTY) == 0;
|
||||||
|
td_->messages_manager_->on_update_dialog_group_call(DialogId(chat_id), has_active_group_call, is_group_call_empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ContactsManager::on_chat_update(telegram_api::chatForbidden &chat, const char *source) {
|
void ContactsManager::on_chat_update(telegram_api::chatForbidden &chat, const char *source) {
|
||||||
@ -13851,8 +13862,6 @@ void ContactsManager::on_chat_update(telegram_api::channel &channel, const char
|
|||||||
|
|
||||||
bool has_linked_channel = (channel.flags_ & CHANNEL_FLAG_HAS_LINKED_CHAT) != 0;
|
bool has_linked_channel = (channel.flags_ & CHANNEL_FLAG_HAS_LINKED_CHAT) != 0;
|
||||||
bool has_location = (channel.flags_ & CHANNEL_FLAG_HAS_LOCATION) != 0;
|
bool has_location = (channel.flags_ & CHANNEL_FLAG_HAS_LOCATION) != 0;
|
||||||
bool has_active_group_call = (channel.flags_ & CHANNEL_FLAG_HAS_ACTIVE_GROUP_CALL) != 0;
|
|
||||||
bool is_group_call_empty = (channel.flags_ & CHANNEL_FLAG_IS_GROUP_CALL_NON_EMPTY) == 0;
|
|
||||||
bool sign_messages = (channel.flags_ & CHANNEL_FLAG_SIGN_MESSAGES) != 0;
|
bool sign_messages = (channel.flags_ & CHANNEL_FLAG_SIGN_MESSAGES) != 0;
|
||||||
bool is_slow_mode_enabled = (channel.flags_ & CHANNEL_FLAG_IS_SLOW_MODE_ENABLED) != 0;
|
bool is_slow_mode_enabled = (channel.flags_ & CHANNEL_FLAG_IS_SLOW_MODE_ENABLED) != 0;
|
||||||
bool is_megagroup = (channel.flags_ & CHANNEL_FLAG_IS_MEGAGROUP) != 0;
|
bool is_megagroup = (channel.flags_ & CHANNEL_FLAG_IS_MEGAGROUP) != 0;
|
||||||
@ -13949,7 +13958,6 @@ void ContactsManager::on_chat_update(telegram_api::channel &channel, const char
|
|||||||
on_update_channel_username(c, channel_id, std::move(channel.username_)); // uses status, must be called after
|
on_update_channel_username(c, channel_id, std::move(channel.username_)); // uses status, must be called after
|
||||||
on_update_channel_default_permissions(c, channel_id,
|
on_update_channel_default_permissions(c, channel_id,
|
||||||
get_restricted_rights(std::move(channel.default_banned_rights_)));
|
get_restricted_rights(std::move(channel.default_banned_rights_)));
|
||||||
td_->messages_manager_->on_update_dialog_group_call(DialogId(channel_id), has_active_group_call, is_group_call_empty);
|
|
||||||
|
|
||||||
if (participant_count != 0 && participant_count != c->participant_count) {
|
if (participant_count != 0 && participant_count != c->participant_count) {
|
||||||
c->participant_count = participant_count;
|
c->participant_count = participant_count;
|
||||||
@ -13987,6 +13995,10 @@ void ContactsManager::on_chat_update(telegram_api::channel &channel, const char
|
|||||||
if (need_invalidate_channel_full) {
|
if (need_invalidate_channel_full) {
|
||||||
invalidate_channel_full(channel_id, false, !c->is_slow_mode_enabled);
|
invalidate_channel_full(channel_id, false, !c->is_slow_mode_enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool has_active_group_call = (channel.flags_ & CHANNEL_FLAG_HAS_ACTIVE_GROUP_CALL) != 0;
|
||||||
|
bool is_group_call_empty = (channel.flags_ & CHANNEL_FLAG_IS_GROUP_CALL_NON_EMPTY) == 0;
|
||||||
|
td_->messages_manager_->on_update_dialog_group_call(DialogId(channel_id), has_active_group_call, is_group_call_empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ContactsManager::on_chat_update(telegram_api::channelForbidden &channel, const char *source) {
|
void ContactsManager::on_chat_update(telegram_api::channelForbidden &channel, const char *source) {
|
||||||
|
@ -993,10 +993,13 @@ class ContactsManager : public Actor {
|
|||||||
// static constexpr int32 CHAT_FLAG_IS_ADMINISTRATOR = 1 << 4;
|
// static constexpr int32 CHAT_FLAG_IS_ADMINISTRATOR = 1 << 4;
|
||||||
static constexpr int32 CHAT_FLAG_IS_DEACTIVATED = 1 << 5;
|
static constexpr int32 CHAT_FLAG_IS_DEACTIVATED = 1 << 5;
|
||||||
static constexpr int32 CHAT_FLAG_WAS_MIGRATED = 1 << 6;
|
static constexpr int32 CHAT_FLAG_WAS_MIGRATED = 1 << 6;
|
||||||
|
static constexpr int32 CHAT_FLAG_HAS_ACTIVE_GROUP_CALL = 1 << 23;
|
||||||
|
static constexpr int32 CHAT_FLAG_IS_GROUP_CALL_NON_EMPTY = 1 << 24;
|
||||||
|
|
||||||
static constexpr int32 CHAT_FULL_FLAG_HAS_PINNED_MESSAGE = 1 << 6;
|
static constexpr int32 CHAT_FULL_FLAG_HAS_PINNED_MESSAGE = 1 << 6;
|
||||||
static constexpr int32 CHAT_FULL_FLAG_HAS_SCHEDULED_MESSAGES = 1 << 8;
|
static constexpr int32 CHAT_FULL_FLAG_HAS_SCHEDULED_MESSAGES = 1 << 8;
|
||||||
static constexpr int32 CHAT_FULL_FLAG_HAS_FOLDER_ID = 1 << 11;
|
static constexpr int32 CHAT_FULL_FLAG_HAS_FOLDER_ID = 1 << 11;
|
||||||
|
static constexpr int32 CHAT_FULL_FLAG_HAS_ACTIVE_GROUP_CALL = 1 << 12;
|
||||||
|
|
||||||
static constexpr int32 CHANNEL_FLAG_USER_IS_CREATOR = 1 << 0;
|
static constexpr int32 CHANNEL_FLAG_USER_IS_CREATOR = 1 << 0;
|
||||||
static constexpr int32 CHANNEL_FLAG_USER_HAS_LEFT = 1 << 2;
|
static constexpr int32 CHANNEL_FLAG_USER_HAS_LEFT = 1 << 2;
|
||||||
|
Loading…
Reference in New Issue
Block a user