mirror of https://github.com/fluffle/goirc
Merge pull request #17 from StalkR/chanmodes
state: parse +r/+Z channel modes
This commit is contained in:
commit
f4b53dfb24
|
@ -18,6 +18,7 @@ type Channel struct {
|
||||||
|
|
||||||
// A struct representing the modes of an IRC Channel
|
// A struct representing the modes of an IRC Channel
|
||||||
// (the ones we care about, at least).
|
// (the ones we care about, at least).
|
||||||
|
// http://www.unrealircd.com/files/docs/unreal32docs.html#userchannelmodes
|
||||||
type ChanMode struct {
|
type ChanMode struct {
|
||||||
// MODE +p, +s, +t, +n, +m
|
// MODE +p, +s, +t, +n, +m
|
||||||
Private, Secret, ProtectedTopic, NoExternalMsg, Moderated bool
|
Private, Secret, ProtectedTopic, NoExternalMsg, Moderated bool
|
||||||
|
@ -25,6 +26,9 @@ type ChanMode struct {
|
||||||
// MODE +i, +O, +z
|
// MODE +i, +O, +z
|
||||||
InviteOnly, OperOnly, SSLOnly bool
|
InviteOnly, OperOnly, SSLOnly bool
|
||||||
|
|
||||||
|
// MODE +r, +Z
|
||||||
|
Registered, AllSSL bool
|
||||||
|
|
||||||
// MODE +k
|
// MODE +k
|
||||||
Key string
|
Key string
|
||||||
|
|
||||||
|
@ -49,6 +53,8 @@ var ChanModeToString = map[string]string{
|
||||||
"InviteOnly": "i",
|
"InviteOnly": "i",
|
||||||
"OperOnly": "O",
|
"OperOnly": "O",
|
||||||
"SSLOnly": "z",
|
"SSLOnly": "z",
|
||||||
|
"Registered": "r",
|
||||||
|
"AllSSL": "Z",
|
||||||
"Key": "k",
|
"Key": "k",
|
||||||
"Limit": "l",
|
"Limit": "l",
|
||||||
}
|
}
|
||||||
|
@ -152,12 +158,16 @@ func (ch *Channel) ParseModes(modes string, modeargs ...string) {
|
||||||
ch.Modes.NoExternalMsg = modeop
|
ch.Modes.NoExternalMsg = modeop
|
||||||
case 'p':
|
case 'p':
|
||||||
ch.Modes.Private = modeop
|
ch.Modes.Private = modeop
|
||||||
|
case 'r':
|
||||||
|
ch.Modes.Registered = modeop
|
||||||
case 's':
|
case 's':
|
||||||
ch.Modes.Secret = modeop
|
ch.Modes.Secret = modeop
|
||||||
case 't':
|
case 't':
|
||||||
ch.Modes.ProtectedTopic = modeop
|
ch.Modes.ProtectedTopic = modeop
|
||||||
case 'z':
|
case 'z':
|
||||||
ch.Modes.SSLOnly = modeop
|
ch.Modes.SSLOnly = modeop
|
||||||
|
case 'Z':
|
||||||
|
ch.Modes.AllSSL = modeop
|
||||||
case 'O':
|
case 'O':
|
||||||
ch.Modes.OperOnly = modeop
|
ch.Modes.OperOnly = modeop
|
||||||
case 'k':
|
case 'k':
|
||||||
|
|
Loading…
Reference in New Issue