# ******************************************* # * * # * AntiPub.tcl * # * By TidZ` : Contact@EvilsNeT.Org * # * Irc.EvilsNeT.Org * # * * # ******************************************* # * * # * ~ Description Du Script ~ * # * * # * Ce script est très simple. Une liste de * # * mot "pubs" est définie. Si un mot de la * # * liste est pronocé dans une phrase sur * # * sur un salon où le bot à un accès, la * # * personne se fera devoice, kick ou ban. * # * * # ******************************************* # * * Configurations * * # * Indiquez ici la durée du dévoice (en secondes). * set devtime "60" # * Indiquez ici la durée du ban (en secondes). * set bantime "300" # * Choisissez votre type de sanction. # * Mettre à 1 pour avertissement # * Mettre à 2 pour dévoice # * Mettre à 3 pour kick # * Mettre à 4 pour ban set appuntype "2" # * Définissez les mots "pub". Continuer la liste sous la meme forme. * set pubs { "*#*" "*www.*" "*http:/*" "*h*t*t*p*:*/*/" "*https:/*" "*irc.*" "*irc:/*" "*.com*" "*.fr*" "*.be*" "*.org*" "*.net*" "*.ch*" "*.info*" "*.nl*" "*.ru*" "*.eu*" "*.ws*" "*.uk*" } # * # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # * Ne pas toucher au bas de cette ligne. Toutes modifications peuvent entrainer un mauvais fonctionnement * # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # * # * * Les Binds * * bind pub - !ap AntiPub:ap bind pubm - * pub:AntiPub # * * Les Procédures * * set ap "on" set flags "m|m" set file "scripts/compt.txt" if {![file exists $file]} { set nbk 0 } else { set rnum [open $file r] set nbk [read -nonewline $rnum] close $rnum } proc AntiPub:ap {nick uhost hand chan arg} { global ap appuntype puntime timepun typepun devtime bantime set qap [lindex $arg 0] if {$qap == "on"} { if {![isop $nick $chan]} { putserv "NOTICE $nick :\00314Access \0034refusé."; return } set ap "on" putserv "privmsg $chan :\00314AntiPub \0033Activé\00314!" } if {$qap == "off"} { if {![isop $nick $chan]} { putserv "NOTICE $nick :\00314Access \0034refusé."; return } set ap "off" putserv "privmsg $chan :\00314AntiPub \0034Désactivé\00314!" } if {$qap == "aide" || $qap =="help"} { if {![isop $nick $chan]} { putserv "notice $nick :\0034Aide AntiPub \00314- \0033!ap timepun \00314Donne le temps de sanction sur le type en cours." putserv "notice $nick :\0034Aide AntiPub \00314- \0033!ap typepun \00314Donne le type de sanction en cours." } if {[isop $nick $chan]} { putserv "notice $nick :\0034Aide AntiPub \00314- \0033!ap timepun \00314Donne le temps de sanction sur le type en cours." putserv "notice $nick :\0034Aide AntiPub \00314- \0033!ap typepun \00314Donne le type de sanction en cours." putserv "notice $nick :\0034Aide AntiPub \00314- \0033!ap on \00314Active l'AntiPub." putserv "notice $nick :\0034Aide AntiPub \00314- \0033!ap off \00314Désactive l'AntiPub." putserv "notice $nick :\0034Aide AntiPub \00314- \0033!ap puntime \00314Défini le temps de sanction du type en cours." putserv "notice $nick :\0034Aide AntiPub \00314- \0033!ap appuntype \00314Défini le type de sanction. (sans le n°, donne la liste des types)" } } if {$qap == "puntime"} { set timepun [lindex $arg 1] if {![isop $nick $chan]} { putserv "NOTICE $nick :\00314Access \0034refusé."; return } if {$ap == "off"} { putserv "NOTICE $nick :\00314L'AntiPub est actuellement \0034Désactivé\00314. Pour définir le temps de sanction, il doit être \0033activé\00314 !"; return } if {$timepun == ""} { putserv "privmsg $chan :\00314Tu dois définir le temps de sanction en \0033seconde\00314 !"; return } if {$timepun != "" && $appuntype == "1"} { putserv "notice $nick :\00314Le type de sanction est défini sur avertissement. Donc le temps n'as pas d'effet." } if {$timepun != "" && $appuntype == "2"} { set devtime "$timepun" putserv "privmsg $chan :\00314Le temps de dévoice est maintenant de\0033 [expr $devtime / 60] minutes\00314." } if {$timepun != "" && $appuntype == "3"} { putserv "notice $nick :\00314Le type de sanction est défini sur kick. Donc le temps n'as pas d'effet." } if {$timepun != "" && $appuntype == "4"} { set bantime "$timepun" putserv "privmsg $chan :\00314Le temps de ban est maintenant de\0033 [expr $bantime / 60] minutes\00314." } } if {$qap == "puntype"} { set typepun [lindex $arg 1] if {![isop $nick $chan]} { putserv "NOTICE $nick :\00314Access \0034refusé."; return } if {$ap == "off"} { putserv "NOTICE $nick :\00314L'AntiPub est actuellement \0034Désactivé\00314. Pour définir le type de sanction, il doit être \0033activé\00314 !"; return } if {$typepun == ""} { putserv "notice $nick :\00314Tu dois indiquer le type de sanction ! Elles sont :" putserv "notice $nick :\00314Pour l'avertissement, mets\0033 1" putserv "notice $nick :\00314Pour le dévoice, mets\0033 2" putserv "notice $nick :\00314Pour le kick, mets\0033 3" putserv "notice $nick :\00314Pour le ban, mets\0033 4" } if {$typepun == "1"} { set appuntype "1" putserv "privmsg $chan :\00314Le bot avertira lors d'une pub." } if {$typepun == "2"} { set appuntype "2" putserv "privmsg $chan :\00314Le bot dévoicera pendant \0033 [expr $devtime / 60] minutes\00314 lors d'une pub. Pour changer le temps du dévoice, tapes \0033!ap puntime \00314." } if {$typepun == "3"} { set appuntype "3" putserv "privmsg $chan :\00314Le bot kickera lors d'une pub." } if {$typepun == "4"} { set appuntype "4" putserv "privmsg $chan :\00314Le bot bannira pendant \0033 [expr $bantime / 60] minutes\00314 lors d'une pub. Pour changer le temps du ban, tapes \0033!ap puntime \00314." } } if {$qap == "typepun"} { if {$appuntype == "1"} { putserv "privmsg $chan :\00314La sanction actuelle est l'\0033Avertissement\00314." } if {$appuntype == "2"} { putserv "privmsg $chan :\00314La sanction actuelle est le\0033 Dévoice\00314." } if {$appuntype == "3"} { putserv "privmsg $chan :\00314La sanction actuelle est le\0033 Kick\00314." } if {$appuntype == "4"} { putserv "privmsg $chan :\00314La sanction actuelle est le\0033 Ban\00314." } } if {$qap == "timepun"} { if {$appuntype == "1"} { putserv "privmsg $chan :\00314Il n'y a pas de temps pour le type '\0033Avertissement\00314'." } if {$appuntype == "2"} { putserv "privmsg $chan :\00314Le temps de dévoice actuel est de\0033 [expr $devtime / 60] minutes\00314." } if {$appuntype == "3"} { putserv "privmsg $chan :\00314Il n'y a pas de temps pour le type '\0033Kick\00314'." } if {$appuntype == "4"} { putserv "privmsg $chan :\00314Le temps de ban actuel est de\0033 [expr $bantime / 60] minutes\00314." } } } proc pub:AntiPub {nick uhost hand chan arg} { global pubs flags banpub ap devchan banchan devtime bantime appuntype devnick nbdc nbdn file nbk set rest [ap:cf $arg] foreach pub $pubs { if {[isop $nick $chan] || [ishalfop $nick $chan]} { return } if {[matchattr $hand $flags $chan] || [matchattr $hand f|f $chan] || $ap == "off"} { return } if {[string match -nocase $pub [string tolower $rest]]} { if {$appuntype == "1"} { putserv "privmsg $chan :\0034Attention \0033$nick\00314, '\0033$pub\00314' est une \0033Pub\00314 fais attention, les pubs sont interdites et les opérateurs (\0034@\00314) peuvent t'expulser s'ils le souhaitent." return } if {$appuntype == "2"} { set devchan $chan set devnick $nick putquick "mode $chan -v $nick" putserv "privmsg $chan :\00314Pub détectée '\0033$pub\00314' Dévoice \0034 [expr $devtime / 60] minutes\00314." utimer $devtime [list proc:voice $nick $chan] return } if {$appuntype == "3"} { set nbk [expr $nbk + 1] putserv "kick $chan $nick \00314Pub détectée '\0033$pub\00314'. -\0033 $nbk \00314-" set wnum [open $file w] puts $wnum $nbk close $wnum return } if {$appuntype == "4"} { set banpub "*!*@[lindex [split $uhost @] 1]" set banchan $chan putquick "mode $chan +b *!*@[lindex [split $uhost @] 1]" set nbk [expr $nbk + 1] putserv "kick $chan $nick \00314Pub détectée '\0033$pub\00314'. Banni\0034 [expr $bantime / 60] minutes\00314. -\0033 $nbk \00314-" set wnum [open $file w] puts $wnum $nbk close $wnum utimer $devtime [list proc:unban $chan *!*@[lindex [split $uhost @] 1]] return } } } } proc ap:cf str { return [stripcodes bcruag $str] } proc proc:voice {nick chan} { putquick "mode $chan +v $nick" } proc proc:unban {chan uhost} { putquick "mode $chan -b *!*@[lindex [split $uhost @] 1]" }