Toujours dans les vieux trucs qu'on resort et qui servent bien j'ai trouvé ça. je n'en ai pas trouver d'aussi complet donc j'ai tout chamboulé mon vieux script pour retrouver celui là.
Source / Exemple :
Menu channel,nicklist {
[Modération]:Set %modo.channel $active | Set %modo.nick $1 | /dialog -m modo modo
}
dialog modo {
title "Modération"
size -1 -1 500 395
option pixels
tab "Modération chan", 11, 9 10 480 380
button "Masse Modes +", 995, 50 63 90 30, tab 11
button "Masse Modes-", 996, 160 63 90 30, tab 11
box "Channel Modes", 119, 20 35 260 170, tab 11
box "", 225, 32 102 57 92, tab 11
button "+c", 223, 35 110 26 20, tab 11
button "-c", 224, 62 110 26 20, tab 11
button "+i", 226, 35 130 26 20, tab 11
button "-i", 227, 62 130 26 20, tab 11
button "+m", 228, 35 150 26 20, tab 11
button "-m", 229, 62 150 26 20, tab 11
button "+p", 230, 35 170 26 20, tab 11
button "-p", 231, 62 170 26 20, tab 11
button "+s", 232, 95 110 26 20, tab 11
button "-s", 233, 122 110 26 20, tab 11
box "", 234, 92 102 57 92, tab 11
button "+u", 235, 95 130 26 20, tab 11
button "-u", 236, 122 130 26 20, tab 11
button "+iK", 237, 95 150 26 20, tab 11
button "-iK", 238, 122 150 26 20, tab 11
button "+nt", 239, 95 170 26 20, tab 11
button "-nt", 240, 122 170 26 20, tab 11
box "", 243, 152 102 57 92, tab 11
button "+C", 244, 155 112 26 20, tab 11
button "-C", 245, 182 112 26 20, tab 11
button "+G", 246, 155 132 26 20, tab 11
button "-G", 247, 182 132 26 20, tab 11
button "+N", 248, 155 152 26 20, tab 11
button "-N", 249, 182 152 26 20, tab 11
button "+O", 250, 155 172 26 20, tab 11
button "-O", 251, 182 172 26 20, tab 11
button "+R", 252, 215 112 26 20, tab 11
button "-R", 253, 242 112 26 20, tab 11
button "+S", 254, 215 132 26 20, tab 11
button "-S", 255, 242 132 26 20, tab 11
button "+T", 256, 215 152 26 20, tab 11
button "-T", 257, 242 152 26 20, tab 11
box "", 258, 212 102 57 92, tab 11
button "+V", 259, 215 172 26 20, tab 11
button "-V", 260, 242 172 26 20, tab 11
box "Channel Bans", 1010, 335 35 140 170, tab 11
button "Bloqueur de /me", 1013, 341 53 124 20, tab 11
button "Débloquer de /me", 1023, 341 78 124 20, tab 11
button "Changement pseudo +b", 1014, 341 103 124 20, tab 11
button "Changement pseudo -b", 1024, 341 128 124 20, tab 11
button "Ban silencieux", 1015, 341 153 124 20, tab 11
button "UnBan silencieux", 1025, 341 178 124 20, tab 11
box "Autres Modes", 2220, 20 212 260 160, tab 11
text "Input", 2223, 60 227 90 20, tab 11
edit %clé, 2224, 30 240 90 20, tab 11 autohs center
button "+k", 2225, 125 240 26 20, tab 11
button "-k", 2226, 155 240 26 20, tab 11
text "Clé", 2227, 205 240 80 20, tab 11
edit %limit, 2234, 30 265 90 20, tab 11 autohs center
button "+l", 2235, 125 265 26 20, tab 11
button "-l", 2236, 155 265 26 20, tab 11
text "Limite d'user", 2237, 205 265 80 20, tab 11
edit %ulimit, 2244, 30 290 90 20, tab 11 autohs center
button "+L", 2245, 125 290 26 20, tab 11
button "-L", 2246, 155 290 26 20, tab 11
text "Redirection", 2247, 205 290 80 20, tab 11
edit %fs, 2254, 30 315 90 20, tab 11 autohs center
button "+f", 2255, 125 315 26 20, tab 11
button "-f", 2256, 155 315 26 20, tab 11
text "Flood #:#", 2257, 205 315 80 20, tab 11
edit %js, 2264, 30 340 90 20, tab 11 autohs center
button "+j", 2265, 125 340 26 20, tab 11
button "-j", 2266, 155 340 26 20, tab 11
text "Joins #:#", 2267, 205 340 80 20, tab 11
box "Mass Bans", 330, 345 282 130 100, tab 11
button "Masse Bans +", 340, 365 307 90 30, tab 11
button "Masse Bans -", 350, 365 345 90 30, tab 11
check "Anti flood", 2, 352 227 100 20, tab 11
box "Protection", 4, 347 208 128 73, tab 11
check "Anti clone", 3, 352 247 100 20, tab 11
tab "Modération pseudo", 21
box "Modes Pseudo", 219, 20 35 120 230, tab 21
text "Voice", 1201, 25 58 40 20, tab 21
button "+v", 1202, 70 55 25 25, tab 21
button "-v", 1203, 100 55 25 25, tab 21
text "HalfOp", 1301, 25 88 40 20, tab 21
button "+h", 1302, 70 85 25 25, tab 21
button "-h", 1303, 100 85 25 25, tab 21
text "Op", 1401, 25 118 40 20, tab 21
button "+o", 1402, 70 115 25 25, tab 21
button "-o", 1403, 100 115 25 25, tab 21
text "Protect", 1501, 25 148 40 20, tab 21
button "+a", 1502, 70 145 25 25, tab 21
button "-a", 1503, 100 145 25 25, tab 21
text "Owner", 1601, 25 178 40 20, tab 21
button "+q", 1602, 70 175 25 25, tab 21
button "-q", 1603, 100 175 25 25, tab 21
text "Invite", 1701, 25 208 40 20, tab 21
button "+I", 1702, 70 205 25 25, tab 21
button "-I", 1703, 100 205 25 25, tab 21
text "Except", 1801, 25 238 40 20, tab 21
button "+e", 1802, 70 235 25 25, tab 21
button "-e", 1803, 100 235 25 25, tab 21
box "Ban Modes", 2001, 150 35 135 145, tab 21
text "Ban normal", 2007, 160 58 90 20, tab 21
button "+b", 2008, 220 55 25 25, tab 21
button "-b", 2009, 250 55 25 25, tab 21
text "Ban Pseudo", 2010, 165 88 90 20, tab 21
button "+b", 2011, 220 85 25 25, tab 21
button "-b", 2012, 250 85 25 25, tab 21
text "Ban silencieux", 2013, 160 118 90 20, tab 21
button "+b", 2014, 220 115 25 25, tab 21
button "-b", 2015, 250 115 25 25, tab 21
text "Kick Ban", 2016, 165 148 90 20, tab 21
button "+b", 2017, 220 145 25 25, tab 21
button "-b", 2018, 250 145 25 25, tab 21
box "Avertos / Kick / Ban", 100, 293 35 185 100, tab 21
text "Raison", 503, 305 50 90 20, tab 21
edit %raison1, 603, 305 65 160 20, tab 21 autohs center
button "Avertos", 1101, 305 88 42 40, tab 21
button "Kick", 1102, 366 88 40 40, tab 21
button "Ban", 1103, 427 88 40 40, tab 21
box "Invite", 101, 293 136 185 100, tab 21
text "Nick", 2503, 305 153 90 20, tab 21
edit %nick, 2504, 305 168 90 20, tab 21 autohs center
text "Channel", 2505, 305 195 90 20, tab 21
edit %channel, 2506, 305 210 90 20, tab 21 autohs center
button "Invite", 2507, 415 175 50 50, tab 21
combo 1, 293 245 185 100, tab 21
button "Rafraichir", 1111, 293 340 185 30, tab 21
box "Ignore / Silence", 123, 150 185 135 81, tab 21
button "I 15", 124, 155 200 30 25, tab 21
button "I 30", 125, 187 200 30 25, tab 21
button "I 45", 126, 219 200 30 25, tab 21
button "I 60", 127, 252 200 30 25, tab 21
button "S 15", 128, 155 235 30 25, tab 21
button "S 30", 129, 187 235 30 25, tab 21
button "S 45", 130, 219 235 30 25, tab 21
button "S 60", 131, 252 235 30 25, tab 21
box "Masse modes nick", 30, 20 270 120 100, tab 21
button "Masse Modes +", 31, 35 290 90 30, tab 21
button "Masse Modes -", 32, 35 330 90 30, tab 21
box "Masse Bans", 33, 150 270 135 100, tab 21
button "Masse Bans +", 34, 175 290 90 30, tab 21
button "Masse Bans -", 35, 175 330 90 30, tab 21
}
on *:dialog:modo:*:*:{
if ($devent == init) {
set %modo.channel $active
var %total = $nick($active,0) , %x = 1
while ( %x <= %total ) {
did -i $dname 1 %x $nick($active,%x)
inc %x }
}
if ($devent == sclick) {
var %total = $nick($active,0), %x = 1
if ($did == 1111) {
while ( %x <= %total ) {
did -r $dname 1 %x $nick($active,%x)
timer -h 1 1 did -o $dname 1 %x $nick($active,%x)
inc %x
}
}
elseif ($did == 31) mode $active + $+ $$?="Modes?" $$?="Nicks?"
elseif ($did == 32) mode $active - $+ $$?="Modes?" $$?="Nicks?"
elseif ($did == 34) mode $active + $+ $$?="Bans?" $$?="Nicks?"
elseif ($did == 35) mode $active - $+ $$?="Bans?" $$?="Nicks?"
elseif ($did == 124) { ignore $did(1).seltext | echo $active * $did(1).seltext $+ !*@* a été ajouter dans la liste des ignorer pendant 15 minutes | timer 1 900 switch -u | timer 1 902 echo $active * $did(1).seltext $+ !*@* a été effacer de la liste des ignorer }
elseif ($did == 125) { ignore $did(1).seltext | echo $active * $did(1).seltext $+ !*@* a été ajouter dans la liste des ignorer pendant 30 minutes | timer 1 1800 switch -u | timer 1 1802 echo $active * $did(1).seltext $+ !*@* à été effacer de la liste des ignorer }
elseif ($did == 126) { ignore $did(1).seltext | echo $active * $did(1).seltext $+ !*@* a été ajouter dans la liste des ignorer pendant 45 minutes | timer 1 2700 switch -u | timer 1 2702 echo $active * $did(1).seltext $+ !*@* a été effacer de la liste des ignorer }
elseif ($did == 127) { ignore $did(1).seltext | echo $active * $did(1).seltext $+ !*@* a été ajouter dans la liste des ignorer pendant 60 minutes | timer 1 3600 switch -u | timer 1 3602 echo $active * $did(1).seltext $+ !*@* a été effacer de la liste des ignorer }
elseif ($did == 128) { mode $active +b ~q: $+ $address($did(1).seltext,2) | timer 1 900 switch -u }
elseif ($did == 129) { mode $active +b ~q: $+ $address($did(1).seltext,2) | timer 1 1800 switch -u }
elseif ($did == 130) { mode $active +b ~q: $+ $address($did(1).seltext,2) | timer 1 2700 switch -u }
elseif ($did == 131) { mode $active +b ~q: $+ $address($did(1).seltext,2) | timer 1 3600 switch -u }
elseif ($did isnum 223-260) { mode $active $did(modo,$did) }
elseif ($did == 340) { mode $active + $+ $$?="Bans?" $$?="Nicks?" $did(340) }
elseif ($did == 350) { mode $active - $+ $$?="Bans?" $$?="Nicks?" $did(350) }
elseif ($did == 995) { mode $active + $+ $$?="Modes?" $did(995) }
elseif ($did == 996) { mode $active - $+ $$?="Modes?" $did(996) }
elseif ($did == 1013) { mode $active +b ~T:block:ACTION* $did(1013) }
elseif ($did == 1023) { mode $active -b ~T:block:ACTION* $did(1023) }
elseif ($did == 1014) { mode $active +b ~n:*!*@* $did(1014) }
elseif ($did == 1024) { mode $active -b ~n:*!*@* $did(1024) }
elseif ($did == 1015) { mode $active +b ~q:*!*@* $did(1015) }
elseif ($did == 1025) { mode $active -b ~q:*!*@* $did(1025) }
elseif ($did == 1101) { msg $active [Avertos] $did(1).seltext $+ : %raison1 $did(603) | timer 1 3 did -r $dname 603 | timer 1 5 unset -s %raison1 }
elseif ($did == 1102) { kick $active $did(1).seltext %raison1 $did(603) | did -r $dname 603 | unset -s %raison1 }
elseif ($did == 1103) { mode $active +b $address($did(1).seltext,2) | kick $active $did(1).seltext %raison1 $did(603) | did -r $dname 603 | unset -s %raison1 }
elseif ($did isnum 1203-1803) { mode $active $did(modo,$did) $did(1).seltext $did(modo,$did) }
elseif ($did == 2008) { mode $active +b $address($did(1).seltext,2) $did(2008) }
elseif ($did == 2009) { mode $active -b $address($did(1).seltext,2) $did(2009) }
elseif ($did == 2011) { mode $active +b ~n: $+ $address($did(1).seltext,2) $did(2011) }
elseif ($did == 2012) { mode $active -b ~n: $+ $address($did(1).seltext,2) $did(2012) }
elseif ($did == 2014) { mode $active +b ~q: $+ $address($did(1).seltext,2) $did(2014) }
elseif ($did == 2015) { mode $active -b ~q: $+ $address($did(1).seltext,2) $did(2015) }
elseif ($did == 2017) { mode $active +b $address($did(1).seltext,2) $did(2017) | kick $active $did(1).seltext }
elseif ($did == 2018) { mode $active -b $address($did(1).seltext,2) $did(2018) }
elseif ($did == 2225) { mode $active +k %clé $did(2224) | did -r $dname 2224 | unset -s %clé }
elseif ($did == 2226) { mode $active -k %clé $did(2224) | did -r $dname 2224 | unset -s %clé }
elseif ($did == 2235) { mode $active +l %limit $did(2234) | did -r $dname 2234 | unset -s %limit }
elseif ($did == 2236) { mode $active -l %limit $did(2234) | did -r $dname 2234 | unset -s %limit }
elseif ($did == 2245) { mode $active +L %ulimit $did(2244) | did -r $dname 2244 | unset -s %ulimit }
elseif ($did == 2246) { mode $active -L %ulimit $did(2244) | did -r $dname 2244 | unset -s %ulimit }
elseif ($did == 2255) { mode $active +f %fs $did(2254) | did -r $dname 2254 | unset -s %fs }
elseif ($did == 2256) { mode $active -f %fs $did(2254) | did -r $dname 2254 | unset -s %fs }
elseif ($did == 2265) { mode $active +j %js $did(2264) | did -r $dname 2264 | unset -s %js }
elseif ($did == 2266) { mode $active -j %js $did(2264) | did -r $dname 2264 | unset -s %js }
elseif ($did == 2507) { invite %nick %channel $did(2504) $did(2506) | did -r $dname 2504,2506 | unset -s %nick | unset -s %channel }
elseif ($did(2).state == 1) { flood } | else { halt }
elseif ($did(3).state == 1) { clonejoin } | else { halt }
}
}
}
alias flood {
on *:TEXT:*:#:{
inc -u3 %flood. [ $+ [ $nick ] ]
if (%flood. [ $+ [ $nick ] ] == 4) {
ban $chan $address($nick,1)
kick $chan $nick Le flood n'est pas autoriser dans $chan
}
}
on @*:JOIN:#:{
if ($ial == $false) {
.ial on
}
elseif ($chan(#).ial == $false) {
who #
halt
}
.timerclone $+ $nick $+ $chan 1 3 clonejoin $nick $chan $wildsite
}
alias clonejoin {
var %total = $ialchan($3,$2,0)
var %x 1
while (%x <= $ialchan($3,$2,0)) {
if ($left($ialchan($3,$2,%x).pnick,1) == @) {
goto end
}
else {
inc %x
}
}
if (%total > 1 && %total < 2) {
notice $1 $+($chr(2),Attention:,$chr(2)) $+($1,$chr(44)) Les clones ne sont pas autoriser dans $+($2,.) Ne prenez pas d'autre clones ou vous serez banni.
}
elseif (%total > 3) {
ban -u120 $2 $1 2
var %i = 0
while (%i < %total) {
inc %i
var %nick = $ialchan($3,$2,%i).nick
var %all.nicks = $addtok(%all.nicks,%nick,32)
if (%nick !isop $2) {
kick $2 %nick Avoir plus de 2 clones n'est pas autoriser dans # $+ .
}
}
echo 14 -a Attaque de clone détectée $3 $+ : %all.nicks
}
:end
}
Conclusion :
amélioration, bug, commentaires, dites le moi ;)
enjoy =D
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.