elif ret['_verb'] == '401': # ERR_NOSUCHNICK
raise TargetUserOffline(ret['missing'])
elif ret['_verb'] == '432': # ERR_ERRONEOUSNICKNAME
- alert = 'nickname refused for bad format'
- if 'nick' not in ret:
- alert += ', giving up'
- self.close()
- self._alert(alert)
+ self._alert('nickname refused for bad format, '
+ + ('keeping current one' if 'nick' in ret
+ else 'giving up'))
elif ret['_verb'] == '433': # ERR_NICKNAMEINUSE
self._alert('nickname already in use, trying increment')
self.send('NICK', _NickUserHost(nick=ret['used']).incremented)
_MsgTok.SERVER,
('*',
_MsgTok.ANY, # bad one probably fails our NICKNAME tests
- _MsgTok.ANY)), # comment
+ _MsgTok.ANY), # comment
+ bonus_tasks=('do_close:',)),
_MsgParseExpectation(
'432', # ERR_ERRONEOUSNICKNAME
_MsgTok.SERVER,
> /nick @foo
1 .> NICK :@foo
0:1 .< :*.?.net 432 foo1 @foo :Erroneous nickname
-1 .!$ nickname refused for bad format
+1 .!$ nickname refused for bad format, keeping current one
# join channel, collect topic, residents; update me:user from JOIN message; ensure topic.who not affecting users DB
> /join #test