Doing it your way,
(!(oD|* isin $left($nick,3)))
(oD|* !iswm $nick)
Not really sure why I didn't do it with iswm, but either way works just fine.
Just so you understand, you need to use iswm for wildcards. And !iswm means it doesn't match. No need to throw parentheses around it like you did with a ! on the outside of it all.