Refactorizar la funcion responses.filter()

La funcion responses.filter() necesita ser refactorizada para que pueda ser sostenible a largo plazo, deberia permitir extender los filtros para los comandos basado en un diccionario de patrones patrones = {"addquote" : "regex addquote", "quote": "regex quote", "help": "regex help", "addbirthday" : "regex addbirthday"}

Si filter(message:str) -> tuple[str, str] encuentra ! entonces deberia tomar la palabra subsequente a ! ex. filter("!quote") -> ("quote"), filter("!addquote 'quote' - author") -> ("addquote", "'quote' - author") mas generalmente filter(message:str) -> ("command", "cualquier texto despues del comando")

despues command_manager(command: tuple[str, str) -> str deberia tomar la tupla buscar en el diccionario de patrones y aplicar el regex correspondiente a dicho diccionario llamar la funcion que se necesite basada en el comando.