My Quote script. need spam protect. - 11/01/08 01:03 AM
Code:
;--------------------------------------------------------------------------------------------------------: ; ; - !Quotescript... ; on *:text:!quote*:*: { if ($level($address($nick,8)) == Quote.Ban) { return } else var %who = $nick if ($chan) { if (!$istok(#narkotika #paranormal #mensa #sirstargazer #quote #quotes #freethought #spiritual #4threich #normal #spirit! #asylum #♥ #astral #br1 #TheSpot #philosophy #philosophy! #Invision #ddayhome #shroomery #spiritualmaterialism #coders #TheTruth #immortal-technique #felles #tv.no #chemistry #filosofi #NanoTechnology #åndelig #ganja #Le·g·ion! #innvikling #Truth #Gudene #shamanism #christian #innsikt #2012 #utvikling #sms.no #tao #rytmeboksen #dreamt #3d_life #archangels #spiritual #ascension #ugdulf #dreaming #spirituality #buddhism #shrooms #psychedelics #spiritual #narkotika #filosofisk #filosofi #åndelighet,$chan,32)) { return } var %who = $chan if (%quote.delay) { .notice $nick Please try again after random delay of: $duration(%quote.delay) - Or use !"commands" in a PM. return } else { var %delay = $rand(5,25) set -u [ $+ [ %delay ] ] %quote.delay %delay } } if ($2) { if ($2 !isnum) { window -h @quote.search loadbuf -r @quote.search quotes.txt var %quote.temp $fline(@quote.search,$+(*,$2-,*),0) if (%quote.temp isnum 1-20) { var %i = 1,%quote.match while ($fline(@quote.search,$+(*,$2-,*),%i)) { %quote.match = $addtok(%quote.match,$v1,44) inc %i } msg $chan Matches for $2 --> %quote.match window -c @quote.search } elseif (%quote.temp == 0) { msg $chan No match found. } else { msg $chan More than 20 matches found, please narrow your search down } } else { if ($lines(quotes.txt) < $2) { msg %who Quote $chr(35) $+ $2 doesn't exist. | return } msg %who $read(quotes.txt,$2) } } elseif ($1 == !quotes) { msg %who Total quotes: $lines(quotes.txt) } else msg %who $read(quotes.txt) } on *:text:!addquote*:*: { if ($2 == $null) { .notice $nick You need to include a quote to add. } else write quotes.txt $2- } menu nicklist { !Quote Ban: auser Quote.Ban $address($snick($chan,1),8) } on *:input:*: { if ($1 == !quote) { var %who = $iif($chan,$chan,$me) if ($chan) { if (!$istok(#narkotika #paranormal #sirstargazer #♥ #freethought #quote #quotes #spiritual #mensa #asylum #4threich #spirit! #normal #astral #br1 #TheSpot #philosophy #philosophy! #Invision #ddayhome #shroomery #spiritualmaterialism #coders #TheTruth #felles #immortal-technique #felles #tv.no #chemistry #filosofi #NanoTechnology #åndelig #ganja #Le·g·ion! #innvikling #Truth #Gudene #shamanism #christian #innsikt #2012 #utvikling #sms.no #tao #rytmeboksen #dreamt #3d_life #archangels #spiritual #ascension #ugdulf #dreaming #spirituality #buddhism #shrooms #psychedelics #spiritual #narkotika #filosofisk #filosofi #åndelighet,$chan,32)) { return } if (%quote.delay) { echo -a Please try again after $duration(%quote.delay) or use !quote in a PM. return } else { var %delay = $rand(3,5) set -u [ $+ [ %delay ] ] %quote.delay %delay } } if ($2) { if ($2 !isnum) { window -h @quote.search loadbuf -r @quote.search quotes.txt var %quote.temp $fline(@quote.search,$+(*,$2-,*),0) if (%quote.temp isnum 1-20) { var %i = 1,%quote.match while ($fline(@quote.search,$+(*,$2-,*),%i)) { %quote.match = $addtok(%quote.match,$v1,44) inc %i } msg $chan Matches for $2 --> %quote.match window -c @quote.search } elseif (%quote.temp == 0) { msg $chan No match found. } else { msg $chan More than 20 matches found, please narrow your search down } } else { if ($lines(quotes.txt) < $2) { msg %who Quote $chr(35) $+ $2 doesn't exist. | return } msg %who $read(quotes.txt,$2) } } else msg %who $read(quotes.txt) } elseif ($1 == !quotes) { msg %who Total quotes: $lines(quotes.txt) } elseif ($1 == !addquote) { if ($2 == $null) { echo -a You need to include a quote to add. } else write quotes.txt $2- } } on *:text:!help:#: { msg $nick Available commands: !quote, !quotes, !quote "number", and !addquote "quote" - Author. And: !quote "word" to search... } :----------------------------------
So, that is the script. Made by you nice people. And edited by me. It works perfectly.
But, recently some dude has started spamming me in the /msg with so many bot's and ident's, that I loos connection. I do not even know who it is, but it should be an easy fixs?
How would I make it so that one can get 1 quote, and then have to wait for 5 minutes for the next quote, with a message saying; "please wait 5 minutes for the next quote due to bandwidth" or something.. ..and then just like the ban function, have an 'allow' function, so that people I trust can use it as much as they like, with out no limit if I 'allow' them just like I can ban now.
The ban seems to work when I test it on my self, but this person might have found a loop hole.
Anywas, thank you for even reading this mess, I hope I managed to make sense. And I am very gratefull for any help/advice.