|
@@ -101,6 +101,7 @@ const (
|
101
|
101
|
LocalOperator Mode = 'O'
|
102
|
102
|
Operator Mode = 'o'
|
103
|
103
|
Restricted Mode = 'r'
|
|
104
|
+ RegisteredOnly Mode = 'R'
|
104
|
105
|
ServerNotice Mode = 's'
|
105
|
106
|
TLS Mode = 'Z'
|
106
|
107
|
UserRoleplaying Mode = 'E'
|
|
@@ -110,7 +111,7 @@ const (
|
110
|
111
|
var (
|
111
|
112
|
// SupportedUserModes are the user modes that we actually support (modifying).
|
112
|
113
|
SupportedUserModes = Modes{
|
113
|
|
- Away, Invisible, Operator, ServerNotice, UserRoleplaying,
|
|
114
|
+ Away, Invisible, Operator, RegisteredOnly, ServerNotice, UserRoleplaying,
|
114
|
115
|
}
|
115
|
116
|
// supportedUserModesString acts as a cache for when we introduce users
|
116
|
117
|
supportedUserModesString = SupportedUserModes.String()
|
|
@@ -127,9 +128,9 @@ const (
|
127
|
128
|
Moderated Mode = 'm' // flag
|
128
|
129
|
NoOutside Mode = 'n' // flag
|
129
|
130
|
OpOnlyTopic Mode = 't' // flag
|
130
|
|
- RegisteredOnly Mode = 'r' // flag
|
131
|
|
- Secret Mode = 's' // flag
|
132
|
|
- UserLimit Mode = 'l' // flag arg
|
|
131
|
+ // RegisteredOnly mode is reused here from umode definition
|
|
132
|
+ Secret Mode = 's' // flag
|
|
133
|
+ UserLimit Mode = 'l' // flag arg
|
133
|
134
|
)
|
134
|
135
|
|
135
|
136
|
var (
|
|
@@ -281,7 +282,7 @@ func (client *Client) applyUserModeChanges(force bool, changes ModeChanges) Mode
|
281
|
282
|
|
282
|
283
|
for _, change := range changes {
|
283
|
284
|
switch change.mode {
|
284
|
|
- case Invisible, WallOps, UserRoleplaying, Operator, LocalOperator:
|
|
285
|
+ case Invisible, WallOps, UserRoleplaying, Operator, LocalOperator, RegisteredOnly:
|
285
|
286
|
switch change.op {
|
286
|
287
|
case Add:
|
287
|
288
|
if !force && (change.mode == Operator || change.mode == LocalOperator) {
|