Flood control can be done several ways.. basically you halt the alias if the command has been used too many times within too many seconds..
my code is basic and I am certain that others have much more effective code that handles per channel and is shorter.
Basic Example:
;allows 3 commands per every 2 seconds, change numbers as you wish
on *:TEXT:Lol:#:{
;increments (adds +1) a flood variable that resets after 2 seconds
inc -u2 %lol.flood
;if the flood variable has not incremented 3 or more
if (%lol.flood <= 3) {
msg # $nick We are all laughing at you! not with you! I mean.. With you.. -AhemAhem-
}
}