|
@@ -1683,7 +1683,7 @@ func listHandler(server *Server, client *Client, msg ircmsg.Message, rb *Respons
|
1683
|
1683
|
clientIsOp := client.HasRoleCapabs("sajoin")
|
1684
|
1684
|
if len(channels) == 0 {
|
1685
|
1685
|
for _, channel := range server.channels.Channels() {
|
1686
|
|
- if !clientIsOp && channel.flags.HasMode(modes.Secret) {
|
|
1686
|
+ if !clientIsOp && channel.flags.HasMode(modes.Secret) && !channel.hasClient(client) {
|
1687
|
1687
|
continue
|
1688
|
1688
|
}
|
1689
|
1689
|
if matcher.Matches(channel) {
|
|
@@ -1698,7 +1698,7 @@ func listHandler(server *Server, client *Client, msg ircmsg.Message, rb *Respons
|
1698
|
1698
|
|
1699
|
1699
|
for _, chname := range channels {
|
1700
|
1700
|
channel := server.channels.Get(chname)
|
1701
|
|
- if channel == nil || (!clientIsOp && channel.flags.HasMode(modes.Secret)) {
|
|
1701
|
+ if channel == nil || (!clientIsOp && channel.flags.HasMode(modes.Secret) && !channel.hasClient(client)) {
|
1702
|
1702
|
if len(chname) > 0 {
|
1703
|
1703
|
rb.Add(nil, server.name, ERR_NOSUCHCHANNEL, client.nick, utils.SafeErrorParam(chname), client.t("No such channel"))
|
1704
|
1704
|
}
|