Antiban simple

Contenu du snippet

Me revoila avec tjrs mes snippets sur l'utilisation des hashtables :D
si vous pensez que l'on peut l'améliorer, rajouter des choses ou qu'il bug, je suis ouvert à toute proposition:)
- En voici un sshot:
http://membres.lycos.fr/xdbconcept/scripting/antiban.PNG

- Pour avoir le code non coupé à cause du nombre limite de char par ligne sur le site:
http://membres.lycos.fr/xdbconcept/scripting/antiban.txt

Source / Exemple :


menu * {
Antiban:/antiban
}

alias antiban dialog -m at at

dialog at {
  title "Antiban"
  size -1 -1 150 100
  option dbu
  tab "Activation", 1,2 1 145 95
  tab "Messages", 2,3 1 145 95
  text "Antiban by tofu\\", 3, 100 87 40 7, disable nowrap center tab 1
  text "Raison du revenge kick:", 4, 5 20 60 10,disable nowrap tab 2
  edit "" 5,65 19 80 10, autohs limit 900 tab 2
  text "Raison de l'Anti-Ban:", 6, 5 31 60 10,disable nowrap tab 2
  edit "" 7,65 30 80 10, autohs limit 900 tab 2
  text "Raison de l'Anti-Deop:", 8, 5 42 60 10,disable nowrap tab 2
  edit "" 9,65 41 80 10, autohs limit 900 tab 2
  box "Aide" , 10, 5 52 140 40, tab 2
  text "Vous n'avez qu'à taper la raison du revenge kick," , 11, 15 60 120 10, disable nowrap center tab 2
  text "de l'antiban et de l'antideop, elles s'enregistreront" , 12, 15 70 120 10,disable nowrap center tab 2
  text "automatiquement." , 13,15 80 120 10,disable nowrap center tab 2
  box "Activer" , 14, 5 18 140 40, tab 1
  check "Anti-Ban", 15, 10 28 35 10, tab 1
  check "Anti-Deop", 16, 10 42 35 10, tab 1
  check "Anti-(-e)", 17, 80 28 35 10, tab 1
  check "Revenge kick", 18, 80 42 43 10, tab 1
  box "Aide" , 19, 5 60 90 35, tab 1
  text "Cochez la/les case(s) que vous", 20,10 70 80 10, disable nowrap center tab 1
  text "voulez activer.", 21,25 80 50 10, disable nowrap center tab 1
  button "Ok", 23, 100 63 37 10, cancel flat tab 1
}
on *:DIALOG:at:*:*:{
  if ($devent == init) { if (!$hget(antiban)) { hmake antiban | hadd antiban rkmsg Revenge kick by tofu\\ | hadd antiban atmsg Anti ban by tofu\\ | hadd antiban dpmsg Anti deop by tofu\\ } |  if ($hget(antiban,checkat) == 1) { did -c $dname 15 1 }  | if ($hget(antiban,checkdp) == 1) { did -c $dname 16 1 } |  if ($hget(antiban,checke) == 1) { did -c $dname 17 1 } |  if ($hget(antiban,checkrk) == 1) { did -c $dname 18 1 } | $iif($hget(antiban,rkmsg),did -a $dname 5 $hget(antiban,rkmsg),did -a $dname 5 Revenge kick by tofu\\) | $iif($hget(antiban,atmsg),did -a $dname 7 $hget(antiban,atmsg),did -a $dname 7 Anti ban by tofu\\) | $iif($hget(antiban,dpmsg),did -a $dname 9 $hget(antiban,dpmsg),did -a $dname 9 Anti deop by tofu\\)  }
  if ($devent == edit) { 
    if ($did == 5) { hadd antiban rkmsg $did($dname,5) }
    if ($did == 7) { hadd antiban atmsg $did($dname,7) }
    if ($did == 9) { hadd antiban dpmsg $did($dname,9) }
  }
  if ($devent == sclick) { 
    if ($did($dname,15).state == 1) {  hadd antiban checkat 1 } 
    if ($did($dname,15).state == 0) { if ($hget(antiban)) { hdel antiban checkat } } 
    if ($did($dname,16).state == 1) {  hadd antiban checkdp 1 } 
    if ($did($dname,16).state == 0) { if ($hget(antiban)) { hdel antiban checkdp } }
    if ($did($dname,17).state == 1) {  hadd antiban checke 1 } 
    if ($did($dname,17).state == 0) { if ($hget(antiban)) { hdel antiban checke } }
    if ($did($dname,18).state == 1) {  hadd antiban checkrk 1 } 
    if ($did($dname,18).state == 0) { if ($hget(antiban)) { hdel antiban checkrk } }
  }
  if ($devent == close) { hsave -o antiban antiban.txt }
}
on 1:START: { hmake antiban | hload antiban antiban.txt }
on 1:EXIT: { if($hget(antiban)) { hsave -o antiban antiban.txt } }

on *:RAWMODE:#: {
  if ($nick == $me) { halt }
  if (-e isin $1-) && ($me isin $1-) && ($hget(antiban,checke) == 1) {
    raw -q mode $chan +e $me
  }
}
on 1:BAN:#: {
  if ($hget(antiban,checkat) == 1) && ($me isop $chan) {
    if ($banmask iswm $address($me,5)) {
      raw -q mode $chan -b-o $banmask $nick
      raw -q kick $chan $nick : $hget(antiban,atmsg)
      raw -q mode $chan +b $address($nick,2)
    }
  }
}
on 1:DEOP:#: {
  if ($nick == $me) { halt }
  if ($hget(antiban,checkdp) == 1) && ($opnick == $me) { 
    hadd antiban dpnick $nick
    .msg chanserv op $chan $me
  }
}
on 1:OP:#: {
  if ($hget(antiban,checkdp) == 1) && ($opnick == $me) && ($hget(antiban,dpnick) ison $chan) { 
    raw -q mode $chan -o+b $nick $address($nick,2)
    raw -q kick $chan $nick : $hget(antiban,dpmsg)
    hdel antiban dpnick
  }
  if ($hget(antiban,checkrk) == 1) && ($opnick == $me) && ($hget(antiban,rknick)) {
    raw -q mode $hget(antiban,rkchan) -o+b $hget(antiban,rknick)  $hget(antiban,rkhost)
    raw -q kick $hget(antiban,rkchan) $hget(antiban,rknick) : $hget(antiban,rkmsg)
    hdel antiban rknick
    hdel antiban rkhost
    hdel antiban rkchan
  }
}
on 1:KICK:#: { 
  if ($nick == $me) { halt }
  if ($hget(antiban,checkrk) == 1) && ($knick == $me) {
    hadd antiban rknick $nick
    hadd antiban rkchan $chan
    hadd antiban rkhost $address($nick,2)
  }
}

Conclusion :


voila :)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.