If you use unrealircd channels modes +f and +j can effictively protect against the three this script does.
/mode # +j 5:20
would allow any single nick join 5 times in 20 seconds. this prevents revolving doors or join/part floods
-=-
/mode # +f [20j#i5,70m#m2,15n#N5]:15
-=-
:15 = In 15 seconds
-=-
20j#i5 = 20joins in :15 seconds leads to +i invite only for 5 minutes
this is helpful against a mass join flood.
-=-
70m#m2 = 70 channel messages in :15 seconds leads to +m voice only for 2 minutes
-=-
15n#N5 = 15 nick changes in :15 seconds leads to +N no nick changes for 5 minutes
You could also use +f [20j#R5]:15 which set mode +R instead of i. this would allow registered users only to join.