Fixed some subscribe issues

This commit is contained in:
WolverinDEV
2019-10-16 21:11:54 +02:00
parent b3347cfa8e
commit 46753d7a3f
11 changed files with 132 additions and 85 deletions
+3 -2
View File
@@ -246,9 +246,10 @@ std::deque<std::shared_ptr<BasicChannel>> ConnectedClient::subscribeChannel(cons
if(!general_granted && channel != this->currentChannel) {
auto granted_permission = this->calculate_permission_value(permission::i_channel_subscribe_power, channel->channelId());
if((granted_permission.has_value && granted_permission.value == -1) || !channel->permission_granted(permission::i_channel_needed_subscribe_power, granted_permission, false)) {
if(!channel->permission_granted(permission::i_channel_needed_subscribe_power, granted_permission, false)) {
auto ignore_power = this->calculate_permission_value(permission::b_channel_ignore_subscribe_power, channel->channelId());
if(!ignore_power.has_value && ignore_power.value < 1)
if(!ignore_power.has_value || ignore_power.value < 1)
continue;
}
}