Changeset 129 in code for trunk/upstream.go
- Timestamp:
- Mar 20, 2020, 9:11:27 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/upstream.go
r128 r129 135 135 } 136 136 137 func (uc *upstreamConn) isChannel(entity string) bool { 138 for _, r := range entity { 139 switch r { 140 // TODO: support upstream ISUPPORT channel prefixes 141 case '#', '&', '+', '!': 142 return true 143 } 144 break 145 } 146 return false 147 } 148 137 149 func (uc *upstreamConn) handleMessage(msg *irc.Message) error { 138 150 switch msg.Command { … … 144 156 return nil 145 157 case "MODE": 146 if msg.Prefix == nil {147 return fmt.Errorf("missing prefix")148 }149 150 158 var name, modeStr string 151 159 if err := parseMessageParams(msg, &name, &modeStr); err != nil { … … 153 161 } 154 162 155 if name == msg.Prefix.Name{ // user mode change163 if !uc.isChannel(name) { // user mode change 156 164 if name != uc.nick { 157 return fmt.Errorf("received MODE message for unknow nick %q", name)165 return fmt.Errorf("received MODE message for unknown nick %q", name) 158 166 } 159 167 return uc.modes.Apply(modeStr) 160 168 } else { // channel mode change 169 // TODO: handle MODE channel mode arguments 161 170 ch, err := uc.getChannel(name) 162 171 if err != nil {
Note:
See TracChangeset
for help on using the changeset viewer.