Alias module: avoid infinite recursion if an alias substitute by the same command

This commit is contained in:
nemunaire 2014-09-15 07:55:35 +02:00
parent 73acc00762
commit edbfac2943

View File

@ -153,12 +153,18 @@ def treat_variables(res):
@hook("pre_PRIVMSG_cmd")
def treat_alias(msg):
if msg.cmds[0] in DATAS.getNode("aliases").index:
oldcmd = msg.cmds[0]
msg.text = msg.text.replace(msg.cmds[0],
DATAS.getNode("aliases").index[msg.cmds[0]]["origin"], 1)
msg.qual = "def"
msg.parse_content()
return treat_alias(msg)
# Avoid infinite recursion
if oldcmd == msg.cmds[0]:
return msg
else:
return treat_alias(msg)
else:
msg.text = replace_variables(msg.text, msg)