Since you are you using /mode +x, here is how I would do it without bothering X.


on *:CONNECT: {
if ($network == undernet) {
.msg x@channels.undernet.org login mynick mypass
.mode $me +xi
if (%maskactivated) { join #channel1,#channel2,#channel3,#channel4,#etc }
else { jtimer }
}
}

alias -l jtimer timer 1 5 joinchan

alias -l joinchan {
if (%maskactivated) { join #channel1,#channel2,#channel3,#channel4,#etc }
else { jtimer }
}

raw 396:*: set %maskactivated 1 | echo 04 -s UNDERNET MASK ACTIVATED

on *:DISCONNECT: unset %maskactivated