separate commands from messages and properly support /me