Browse Source

Allow +v users to talk in +R channels.

tags/v2.8.0-rc1
Alex Jaspersen 2 years ago
parent
commit
ff3f959d52
2 changed files with 3 additions and 2 deletions
  1. 1
    1
      docs/MANUAL.md
  2. 2
    1
      irc/channel.go

+ 1
- 1
docs/MANUAL.md View File

@@ -815,7 +815,7 @@ If this mode is unset, users who aren't on your channel can send messages to it.
815 815
 
816 816
 If this mode is set, only users that have logged into an account will be able to join and speak on the channel. If this is set and a regular, un-logged-in user tries to join, they will be rejected.
817 817
 
818
-Unregistered users already joined to the channel will no longer be able to send messages to it, but they will not be kicked automatically. If they leave, they would not be allowed to rejoin.
818
+Unregistered users already joined to the channel will not be kicked automatically. They will no longer be able to send messages to the channel, unless they have been voiced (+v). If they leave, they would not be allowed to rejoin.
819 819
 
820 820
 To set this mode:
821 821
 

+ 2
- 1
irc/channel.go View File

@@ -1231,7 +1231,8 @@ func (channel *Channel) CanSpeak(client *Client) (bool, modes.Mode) {
1231 1231
 	if channel.flags.HasMode(modes.Moderated) && clientModes.HighestChannelUserMode() == modes.Mode(0) {
1232 1232
 		return false, modes.Moderated
1233 1233
 	}
1234
-	if channel.flags.HasMode(modes.RegisteredOnly) && client.Account() == "" {
1234
+	if channel.flags.HasMode(modes.RegisteredOnly) && client.Account() == "" &&
1235
+		clientModes.HighestChannelUserMode() == modes.Mode(0) {
1235 1236
 		return false, modes.RegisteredOnly
1236 1237
 	}
1237 1238
 	if channel.flags.HasMode(modes.RegisteredOnlySpeak) && client.Account() == "" &&

Loading…
Cancel
Save