i would suggest if your opering on connect, or indeed using any script to oper up, you authenticate via. SSL Certs. rather than a password. This avoids the possibility of your password being leaked if you paste the script to someone
you can use "echo -t" that will echo the line prefixed with $timestamp, so you dont need to add $timestamp manually.
also you may want to look at $nick().pnick instead of repeatedly checking if $nick isop, ishop, isvoice etc. (remember you have $left() and $right() :P )
You also have a random privmsg command on line 110, but other than that looking good :)
This is a very basic one, should cover what you need tho :) Unforunatly you cant check if a nick isop without joining the channel. The reason the check is on a timer is because the IAL isnt updated until the join event ends, so if you check if $nick isop before the join event has ended it wont see them as an op.