if ($me ison $2) { mode $2 +o $nick }

I guess it's a typo, but the isin operator only checks if the first string is embedded in the second string
Maybe it's even better to use isop, so that you won't try to op people when you can't