I would do exactly as you did; nest an eval, which handles an if/else, inside other variables. You should also know that Nightbot allows up to 2 levels of variable nesting. Beyond that, variables don’t evaluate properly. If I wanted to write a command which involves logic that absolutely must go beyond 2 levels of nesting, I would use command aliases, which I think is what you must do if you still want to output different text based on the result of the if/else.