Changeset 42 in code for trunk/upstream.go
- Timestamp:
- Feb 7, 2020, 11:19:42 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/upstream.go
r40 r42 39 39 40 40 registered bool 41 nick string 41 42 closed bool 42 43 modes modeSet … … 113 114 114 115 if name == msg.Prefix.Name { // user mode change 115 if name != c. upstream.Nick {116 if name != c.nick { 116 117 return fmt.Errorf("received MODE message for unknow nick %q", name) 117 118 } … … 152 153 c.channelModesWithParam = msg.Params[5] 153 154 } 155 case "NICK": 156 if len(msg.Params) < 1 { 157 return newNeedMoreParamsError(msg.Command) 158 } 159 newNick := msg.Params[0] 160 161 if msg.Prefix.Name == c.nick { 162 c.logger.Printf("changed nick from %q to %q", c.nick, newNick) 163 c.nick = newNick 164 } 165 166 for _, ch := range c.channels { 167 if membership, ok := ch.Members[msg.Prefix.Name]; ok { 168 delete(ch.Members, msg.Prefix.Name) 169 ch.Members[newNick] = membership 170 } 171 } 172 173 c.user.forEachDownstream(func(dc *downstreamConn) { 174 dc.messages <- msg 175 }) 154 176 case "JOIN": 155 177 if len(msg.Params) < 1 { … … 158 180 159 181 for _, ch := range strings.Split(msg.Params[0], ",") { 160 if msg.Prefix.Name == c. upstream.Nick {182 if msg.Prefix.Name == c.nick { 161 183 c.logger.Printf("joined channel %q", ch) 162 184 c.channels[ch] = &upstreamChannel{ … … 182 204 183 205 for _, ch := range strings.Split(msg.Params[0], ",") { 184 if msg.Prefix.Name == c. upstream.Nick {206 if msg.Prefix.Name == c.nick { 185 207 c.logger.Printf("parted channel %q", ch) 186 208 delete(c.channels, ch) … … 296 318 defer c.Close() 297 319 320 c.nick = c.upstream.Nick 298 321 c.messages <- &irc.Message{ 299 322 Command: "NICK",
Note:
See TracChangeset
for help on using the changeset viewer.