Il s'agit d'une simple protection anti ban offrant la possibilité de choisir entre différentes options lors du ban. Simple deop de l'user ayant posé le ban, kick, kickban ou bien multikick. Message et nombre de kicks étant paramétrable. (Merci à devorZ qui m'a fait l'optimisation au niveau de $devent pendant que je corrigeais autre chose.)
Source / Exemple :
;; AntiBan ;;
;2008-djul©
;
On *:LOAD:{
set %ab-msg i'm2fast4u
set %ab-nbk 5
set %ab-state ON
echo -at 3[AntiBan3] -
echo -at 3[AntiBan3] Add On 3Chargé.
echo -at 3[AntiBan3]-
.timerab 1 3 ab
}
On *:UNLOAD:{
unset %ab-*
echo -at 3[AntiBan3] -
echo -at 3[AntiBan3] Add On 4Déchargé.
echo -at 3[AntiBan3]-
}
alias Ab if (!$dialog(Ab)) dialog -m Ab Ab
dialog ab {
title "AntiBan /ab"
size -1 -1 70 142
option dbu
check "Activer la protection", 1, 5 5 69 10
box "Action", 2, 5 15 60 55
radio "Deop", 3, 10 25 50 10
radio "Kick", 4, 10 35 50 10
radio "Multi Kick", 5, 10 45 50 10
radio "Kick Ban", 6, 10 55 50 10
box "Options", 7, 5 75 60 45
text "Nombre Kick:", 8, 10 85 31 8
edit "", 9, 45 85 15 10, center
text "Raison kick:", 10, 10 95 30 8
edit "", 11, 10 105 50 10, center
button "Fermer", 12, 5 125 60 12, default flat ok
}
on *:dialog:ab:*:*:{
If ($devent == Init) {
did -a ab 9 %ab-nbk
did -a ab 11 %ab-msg
if (%ab-state = 1) did -c ab 1
if (%ab-action == dop) did -c ab 3
elseif (%ab-action == k) did -c ab 4
elseif (%ab-action == mk) did -c ab 5
elseif (%ab-action == kb) did -c ab 6
}
Elseif ($devent == Edit) {
if ($did == 9) set %ab-nbk $did(9)
if ($did == 11) set %ab-msg $did(11)
}
Elseif ($devent == Sclick) {
if ($did == 1) set %ab-state $did(1).state
if ($did == 3) set %ab-action dop
if ($did == 4) set %ab-action k
if ($did == 5) set %ab-action mk
if ($did == 6) set %ab-action kb
}
}
on @!*:ban:#:{
if (%ab-state = 1) {
if ($banmask iswm $ial($me)) {
if (%ab-action == dop) { set %ab-banmask $banmask | echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ ) | mode # -ob $nick %ab-banmask }
if (%ab-action == k) { set %ab-banmask $banmask | echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ ) | mode # -b %ab-banmask | kick # $nick %ab-msg }
if (%ab-action == kb) { set %ab-banmask $banmask | echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ ) | mode # -ob+b $nick %ab-banmask $wildsite | kick # $nick %ab-msg }
if (%ab-action == mk) {
echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ )
set %ab-tmp %ab-nbk
set %ab-banmask $banmask
set %ab-nick $address($nick,2)
set %ab-chan $chan
mode # -b %ab-banmask
kick # $nick %ab-msg
}
}
}
}
on *:JOIN:%ab-chan:{
if ( ( %ab-nick == $address($nick,2) ) && (%ab-tmp > 0) && (%ab-state = 1) ) { kick # $nick now cry... more %ab-tmp | dec %ab-tmp 1 }
}
Conclusion :
Vous avez peut être déjà vu ce type de source de nombreuses fois... c'est pas le cas de tous, à bon entendeur :]
Critiques constructives acceptées.
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.