@@ -2763,7 +2763,7 @@ bool ChatManager::have_input_peer_channel(const Channel *c, ChannelId channel_id
2763
2763
if (monoforum_channel != nullptr ) {
2764
2764
return have_input_peer_channel (monoforum_channel, monoforum_channel_id, AccessRights::Read, true );
2765
2765
}
2766
- LOG (ERROR ) << " Have no parent " << monoforum_channel_id;
2766
+ LOG (INFO ) << " Have no parent " << monoforum_channel_id;
2767
2767
return true ;
2768
2768
}
2769
2769
@@ -9111,18 +9111,21 @@ void ChatManager::on_get_channel(telegram_api::channel &channel, const char *sou
9111
9111
9112
9112
bool is_admined_monoforum = false ;
9113
9113
if (monoforum_channel_id.is_valid ()) {
9114
- Channel *monoforum_c = get_channel_force (monoforum_channel_id, source);
9115
- if ( monoforum_c != nullptr ) {
9116
- if (is_monoforum ) {
9114
+ if (is_monoforum) {
9115
+ Channel * monoforum_c = get_channel_force (monoforum_channel_id, source);
9116
+ if (monoforum_c != nullptr ) {
9117
9117
is_admined_monoforum = monoforum_c->status .can_manage_direct_messages ();
9118
- } else if (status.can_manage_direct_messages () && !monoforum_c->is_admined_monoforum ) {
9119
- monoforum_c->is_admined_monoforum = true ;
9118
+ } else if (status.is_member () && td_->auth_manager_ ->is_bot ()) {
9119
+ is_admined_monoforum = true ;
9120
+ }
9121
+ } else {
9122
+ Channel *monoforum_c = get_channel (monoforum_channel_id);
9123
+ if (monoforum_c != nullptr && status.can_manage_direct_messages () != monoforum_c->is_admined_monoforum ) {
9124
+ monoforum_c->is_admined_monoforum = status.can_manage_direct_messages ();
9120
9125
monoforum_c->is_admined_monoforum_changed = true ;
9121
9126
monoforum_c->is_changed = true ;
9122
9127
update_channel (monoforum_c, monoforum_channel_id);
9123
9128
}
9124
- } else if (is_monoforum && status.is_member () && td_->auth_manager_ ->is_bot ()) {
9125
- is_admined_monoforum = true ;
9126
9129
}
9127
9130
}
9128
9131
0 commit comments