Many networks won't get you flooded if you do a delay of 1000 or 1250. However, if you might also be saying other things at the same time, then is where you may get flooded at the lower delays. So 1750 or 2000 is safer, but also takes longer. If you have a lot of lines to display, 2 seconds per line makes a 30 line file take a minute to display, which becomes problematic.
As for your !join script, I see you still aren't listening to advice given to you multiple times. You don't need /'s and you should use ELSEIF when two or more IF statements will not ever both be true (such as $3 == $null and $3 != $null). Of course, in that case, it's only 2 possibilities so you can just use ELSE instead of ELSEIF for that one. Also, you shouldn't use HALT when it isn't needed. You'll only need to halt the script on the first IF and you should use RETURN instead of HALT there. The other two do not need to be halted and should use ELSE as mentioned for the last IF.
As to why it won't work, what are you testing and what isn't working?