我正在制作一个机器人,它将根据用户输入(一个字符串)输出不同的信息。我想知道是否有更好的方法来解析输入并重定向到不同的结果:def query(msg: str):
if re.compile(r"moci(o|ó)?n(es)? de (procedimiento)s?", re.IGNORECASE).search(msg):
return open("mociones/mocion_procedimiento.txt", "r").read()
elif re.compile(r"moci(o|ó)?n(es)? de (ó|o)?rden(es)?", re.IGNORECASE).search(msg):
return open("mociones/mocion_orden.txt", "r").read()
elif re.compile(r"moci(o|ó)?n(es)? de duda(s)?", re.IGNORECASE).search(msg):
return open("mociones/mocion_duda.txt", "r").read()
elif re.compile(r"moci(o|ó)?n(es)? de privilegio(s)?", re.IGNORECASE).search(msg):
return open("mociones/mocion_privilegio.txt", "r").read()
...
elif re.compile(r"defender (el|los)? anteproyectos?", re.IGNORECASE).search(msg):
return open("debate_particular/index.txt", "r").read()
elif re.compile(r"anteproyectos?", re.IGNORECASE).search(msg):
return open("anteproyecto/index.txt", "r").read()
else:
return "_*ERROR*_\n\nNo search results were found for \n`{query}`".format(query=msg)