refactoring weird if/else, using IRCReponse struct instead of args