Try this:

Code:
set %channels #channel1,#channel2,#channel3,#channel4,#channel5,#channel6

alias join-channels {
  var %cnt = 1
  var %ttl = $numtok(%channels,44)
  while (%cnt <= %ttl) {
    var %chan = $gettok(%channels,%cnt,44)
    .timer 1 3 join %chan
    .timer 1 4 mode %chan +is
    .timer 1 8 checkchan %chan 1
    inc %cnt
  }
}

alias checkchan {
;$1 = channel, $2 = attempt#

  if ($2 == $null) return

  .timer 1 5 checkchan $1 $calc($2 + 1)

  if ($me !ison $1) {
    if ($2 <= 1) join $1
    else checknotify $me is not on $1
    return 
  }

  var %cmode = $chan($1).mode

  if (i !isincs %cmode) {
    if ($2 <= 2) mode $1 +i
    else checknotify $1 is not set to +i 
  }

  if (s !isincs %cmode) {
    if ($2 <= 2) mode $1 +s
    else checknotify $1 is not set to +s 
  }
}

alias checknotify echo 4 -a $1-


(untested)

-genius_at_work