Merge pull request #6289 from rawtaz/fix-irc-nicklen

Make irc module accept the nick being shortened by the server.
This commit is contained in:
Michael DeHaan 2014-03-16 12:39:48 -05:00
commit 1211160cdb

View file

@ -39,7 +39,7 @@ options:
default: 6667
nick:
description:
- Nickname
- Nickname. May be shortened, depending on server's NICKLEN setting.
required: false
default: ansible
msg:
@ -122,7 +122,11 @@ def send_msg(channel, msg, server='localhost', port='6667',
start = time.time()
while 1:
motd += irc.recv(1024)
if re.search('^:\S+ 00[1-4] %s :' % nick, motd, flags=re.M):
# The server might send back a shorter nick than we specified (due to NICKLEN),
# so grab that and use it from now on (assuming we find the 00[1-4] response).
match = re.search('^:\S+ 00[1-4] (?P<nick>\S+) :', motd, flags=re.M)
if match:
nick = match.group('nick')
break
elif time.time() - start > timeout:
raise Exception('Timeout waiting for IRC server welcome response')