Repeat flood protection

Repeat flood protection

mIRC Snippet - repeat flood protection that check for repeated text and gives 4 warnings in a row.

Postat de Copyright Categorie Review user Vizualizari Data
BLKoldSUN Westor protections Cod testat 409 2024-08-03 16:50:46

ON @*:TEXT:*:#: {
  if ($nick isop #) { return }
  if ($chan == #botops) { return }
  if (!$window(@Botlog)) { window -n @Botlog }
  var %text = $strip($1-)
  if (!%text) { return }
  var %old = %rptext_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ]
  var %times = %rp_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ]
  var %total = %reps_ [ $+ [ $chan ] ]
  var %total = $calc(%total +1)
  if (%total == 8) {
    unset %rp_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ] %rptext_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ]
    return
  }
  if (!%times) { 
    set -eu30 %rp_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ] 1
    set -eu30 %rptext_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ] %text
    return
  }
  var %times = $calc(%times +1)
  if (%times) && (%old !== %text) { return }
  inc -eu30 %rp_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ]
  inc -eu30 %reps_ [ $+ [ $chan ] ]
  if (%times == 3) && (*german* !iswm $chan)  { notice $nick Please do not continue to repeat yourself. | aline -a @Botlog $timestamp [Repeat] $network - $chan - $nick - $fulladdress -  Repeating WARN. }
  if (%times == 3) && (*german* iswm $chan)  { notice $nick Bitte wiederhole dich nicht. | aline -a @Botlog $timestamp [Repeat] $network - $chan - $nick - $fulladdress -  Wiederholte Warnen. }
  if (%times == 4) && (*german* !iswm $chan)  { kick $chan $nick Please do not continue to repeat yourself. | aline -a @Botlog $timestamp [Repeat] $network - $chan - $nick - $fulladdress -  Repeating Kick. }
  if (%times == 4) && (*german* iswm $chan)  { kick $chan $nick Bitte wiederhole dich nicht. | aline -a @Botlog $timestamp [Repeat] $network - $chan - $nick - $fulladdress -  Wiederholte Kick. }
  if (%times == 5) && (*german* !iswm $chan) { aline -a @Botlog $timestamp [Repeat] $network - $chan - $nick - $fulladdress -  Repeating  Ban. | write Botlog.txt $timestamp [Repeat] $network - $chan - $nick - $fulladdress - Repeating  Ban. | ban -ku14400 $chan $nick 2 Banned: Please stop repeating. - [4hours banned] | unset %rptext_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ] %rp_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ] }
  if (%times == 5) && (*german* iswm $chan) { aline -a @Botlog $timestamp [Repeat] $network - $chan - $nick - $fulladdress -  Repeating  Ban. | write Botlog.txt $timestamp [Repeat] $network - $chan - $nick - $fulladdress - Repeating  Ban. | ban -ku14400 $chan $nick 2 Gebannt: Bitte wiederhole dich nicht. - [4 Stunden verboten] | unset %rptext_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ] %rp_ [ $+ [ $chan ] $+ ] _ [ $+ [ $nick ] ] }
}