The sajoin command may, depending on your network, support multiple targets, which means every channel can be separated with a comma. E.g. > /sajoin <channel,channel2,channel3,etc..>This way you won't forcibly join a user in a vertical fashion. It is less flood prone this way.
Here is the rewrite of what I mean:
alias mass_sajoin {
$iif($isfile(sajoin.txt),write -c sajoin.txt)
var %x $$?="How many rooms?",%y $$?="Name of victim:", %i 1
while %i <= %x { write -n sajoin.txt $+(#H3x-irc,$r(1,9999)) | inc %i }
var %z $regsubex($read(sajoin.txt,1),/(\43)/g,$+($chr(44),\1))
sajoin %y $regsubex(%z,/^\54/,)
}