Well, Robert, you'll have a better chance of getting help if you can just explain exactly what you want the script to do. If you change the ON TEXT to have the @ prefix, like "on @*:TEXT:*:#channelname: {" it will take action only in the 1 channel instead of being triggered in every channel. The @ prefix avoids the need to have the if() testing if itself is an op there. It's not obvious to a reader what's the difference between the blacklist files, or exactly how the treason4 file is supposed to be associated with the other blacklists if at all.

When hooking the 330 numeric, $1 is yourself, $2 is the nick being whois'ed, and $3 is the account name that's logged in, so you need to compare your access list against the $3. The $modespl identifier contains the max number of modes which can be combined together in the same command. When there are several if() statements which are true if the $1 is the same string, you should probably use elseif for the 2nd and 3rd if you don't want to have it take action against more than 1 of these.