Well, you can just try and use it by typing /kanaler and then you will understand what it does ;P. I don't understand the point of keeping the channels in a txt file. I'm not sure I understand why you need to part all channels before joining, but this should do that anyways..
This has a 10 sec delay on joining chans, I don't know if parting channels too fast is something you can get banned for.. probably is =D
ON *:CONNECT: if ($network == NameOfNetwork) kanaler
alias kanaler {
var %y = 1
while ($chan(%y)) {
part $chan(%y)
inc %y
}
var %list = #test111 #test222 #test333 #test444 #test555
var %i = 1
while (%i <= $numtok(%list,32)) {
var %sec = $calc(%i * 10)
if ($me !ison $gettok(%list,%i,32)) { .timer 1 %sec join $gettok(%list,%i,32) }
inc %i
}
}