|
@@ -767,7 +767,8 @@ func (channel *Channel) Join(client *Client, key string, isSajoin bool, rb *Resp
|
767
|
767
|
return errWrongChannelKey, forward
|
768
|
768
|
}
|
769
|
769
|
|
770
|
|
- if channel.flags.HasMode(modes.InviteOnly) &&
|
|
770
|
+ // #1901: +h and up exempt from all restrictions, but +v additionally exempts from +i:
|
|
771
|
+ if channel.flags.HasMode(modes.InviteOnly) && persistentMode == 0 &&
|
771
|
772
|
!channel.lists[modes.InviteMask].Match(details.nickMaskCasefolded) {
|
772
|
773
|
return errInviteOnly, forward
|
773
|
774
|
}
|