Hide comments button if the user is banned in the discussion group.
This commit is contained in:
parent
f1ee808465
commit
2fad9afd49
@ -7109,7 +7109,11 @@ bool MessagesManager::is_active_message_reply_info(DialogId dialog_id, const Mes
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return linked_channel_id == reply_info.channel_id;
|
if (linked_channel_id != reply_info.channel_id) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MessagesManager::is_visible_message_reply_info(DialogId dialog_id, const Message *m) const {
|
bool MessagesManager::is_visible_message_reply_info(DialogId dialog_id, const Message *m) const {
|
||||||
@ -7124,7 +7128,16 @@ bool MessagesManager::is_visible_message_reply_info(DialogId dialog_id, const Me
|
|||||||
if (is_broadcast && (m->had_reply_markup || m->reply_markup != nullptr)) {
|
if (is_broadcast && (m->had_reply_markup || m->reply_markup != nullptr)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return is_active_message_reply_info(dialog_id, m->reply_info);
|
if (!is_active_message_reply_info(dialog_id, m->reply_info)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (m->reply_info.is_comment && is_broadcast &&
|
||||||
|
td_->contacts_manager_->have_channel_force(m->reply_info.channel_id) &&
|
||||||
|
!td_->contacts_manager_->have_input_peer_channel(m->reply_info.channel_id, AccessRights::Read)) {
|
||||||
|
// keep the comment button while have no information about the linked channel
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MessagesManager::is_visible_message_reactions(DialogId dialog_id, const Message *m) const {
|
bool MessagesManager::is_visible_message_reactions(DialogId dialog_id, const Message *m) const {
|
||||||
@ -18713,6 +18726,10 @@ void MessagesManager::on_get_discussion_message(DialogId dialog_id, MessageId me
|
|||||||
return promise.set_error(Status::Error(400, "Message not found"));
|
return promise.set_error(Status::Error(400, "Message not found"));
|
||||||
}
|
}
|
||||||
if (message_thread_info.message_ids.empty()) {
|
if (message_thread_info.message_ids.empty()) {
|
||||||
|
if (message_thread_info.dialog_id != dialog_id &&
|
||||||
|
!have_input_peer(message_thread_info.dialog_id, AccessRights::Read)) {
|
||||||
|
return promise.set_error(Status::Error(400, "Can't access message comments"));
|
||||||
|
}
|
||||||
return promise.set_error(Status::Error(400, "Message has no thread"));
|
return promise.set_error(Status::Error(400, "Message has no thread"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user