Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #######
- # Config #
- #######
- set log "#Op-Trip"
- ######
- # Auth #
- ######
- bind MSG - auth proc:auth
- proc proc:auth {nick host hand arg} {
- set arg [split $arg]
- set pseudo [lindex $arg 0]
- set password [lindex $arg 1]
- if {$pseudo eq ""||$password eq ""} {
- putquick "NOTICE $nick :\002Erreur :\002 /msg $::botnick auth <pseudo> <pass>"
- return
- }
- if {![validuser $pseudo]} {
- putquick "NOTICE $nick :\002Erreur :\002 $pseudo n'a aucun access sur le robot."
- return
- }
- if {![passwdok $pseudo $password]} {
- putquick "NOTICE $nick :\002Erreur :\002 Votre mot de pass ou/et votre pseudo est/sont incorrect(s) !"
- return
- }
- if {![string match -nocase [lindex [getuser $pseudo HOSTS] 0] $nick!$host]} {
- putquick "NOTICE $nick :\002Erreur :\002 Votre host ne correspond pas avec votre access !"
- return
- }
- if {[getuser $pseudo XTRA AUTH] eq "ON"} {
- putquick "NOTICE $nick :\002Erreur :\002 Vous êtes déjà authentifier !"
- return
- }
- if {[getuser $hand XTRA SUSPEND] eq "ON"} {
- putquick "NOTICE $nick :\002Erreur :\002 Vous êtes suspendu !"
- return
- }
- putquick "NOTICE $nick :\0031\[AUTHENTIFICATION REUSSIE\]\0031 Vous êtes maintenant authentifié !"
- putquick "PRIVMSG $::log :$nick vient de ce auth sur le bot"
- putquick "INVITE $nick $::log"
- setuser $pseudo XTRA AUTH ON;
- setuser $hand XTRA SEEN [clock format [clock seconds] -format "le %d/%m/%Y à %Hh%M"]
- save
- return
- }
- ########
- # Deauth #
- ########
- bind MSG - deauth proc:deauth
- proc proc:deauth { nick host hand arg } {
- if {[getuser $hand XTRA auth] eq "ON"} {
- putquick "NOTICE $nick :\0031\[DEAUTHENTIFICATION REUSSIE\]\0031 Vous êtes maintenant deauthentifié !"
- putquick "PRIVMSG $::log : DEAUTHENTIFICATION REUSSIE pour $nick"
- setuser $hand XTRA AUTH OFF;
- save
- return
- }}
- #######
- # Isauth #
- #######
- proc isauth {hand} {
- if {[getuser $hand XTRA AUTH] eq "OFF"} {return 0}
- if {[getuser $hand XTRA AUTH] eq "ON"} {return 1}
- }
- ###########
- # Addsuspend #
- ##########
- bind msg - addsuspend addsuspend
- proc addsuspend {nick host hand arg} {
- global botnick
- if {![matchattr $hand n|n]} {
- putquick "PRIVMSG $::log :\0033\[ADDSUSPEND\]\0033 \002$hand\002 a essayé d'utiliser cette commande mais il n'a pas les flags nécessaire."
- putserv "NOTICE $nick :\002Accès refusé\002 Vous n'avez pas access à cette commande."
- return 0
- }
- set arg [split $arg]
- set login [lindex $arg 0]
- if {$login==""} {
- putquick "NOTICE $nick :\002/msg $botnick addsuspend\002<login>"
- putquick "NOTICE $nick :\002Exemple :\002/msg $botnick addsuspend alias_angelius"
- return 0
- }
- if {![validuser $login]} {
- putquick "NOTICE $nick :\002ADDSUSPEND\002: Le login \002$login\002 a aucun accès."
- return 0
- }
- if {[getuser $login XTRA suspend]=="ON"} {
- putquick "NOTICE $nick :\002ADDSUSPEND\002: Le login \002$login\002 est déjà suspendu."
- return 0
- }
- setuser $login XTRA SUSPEND ON
- putquick "NOTICE $nick :\002ADDSUSPEND\002: \002$login\002 a été suspendu."
- putquick "PRIVMSG $::log :\002\[ADDSUSPEND\]\002: \002$hand\002 a suspendu le login \002$login\002."
- }
- ##########
- # Delsuspend #
- ##########
- bind msg - delsuspend delsuspend
- proc delsuspend {nick host hand arg} {
- global botnick
- if {![matchattr $hand n|n]} {
- putquick "PRIVMSG $::log :\0033\[DELSUSPEND\]\0036 \002$hand\002 a essayé d'utiliser cette commande mais il n'a pas les flags nécessaire."
- putquick "NOTICE $nick :\002Accès refusé\002 Vous n'avez pas access à cette commande."
- return 0
- }
- set arg [split $arg]
- set login [lindex $arg 0]
- if {$login==""} {
- putquick "NOTICE $nick :\002/msg $botnick delsuspend\002<login>"
- putquick "NOTICE $nick :\002Exemple :\002/msg $botnick delsuspend alias_angelius"
- return 0
- }
- if {![validuser $login]} {
- putquick "NOTICE $nick :\002DELSUSPEND\002 : Le login \002$login\002 a aucun accès."
- return 0
- }
- if {[getuser $login XTRA suspend]=="OFF"} {
- putquick "NOTICE $nick :\002DELSUSPEND\002 : Le login \002$login\002 n'est pas suspendu."
- return 0
- }
- setuser $login XTRA SUSPEND OFF
- putquick "NOTICE $nick :\002DELSUSPEND\002 : \002$login\002 n'est plus suspendu."
- putquick "PRIVMSG $::log :\002DELSUSPEND\002 : \002$hand\002 a retiré le suspend de \002$login\002."
- }
- ##########
- # Deauth Part #
- ##########
- bind part -|o * proc:partdeauth
- proc proc:partdeauth { nick uhost handle chan {msg ""}} {
- if [matchattr $handle |o $chan]&&[isauth $handle] {
- setuser $handle XTRA AUTH OFF
- putquick "notice $nick :Déauthentification suite a votre part du salon.."
- putquick "privmsg $::log :Déauthentification suite au part de $handle"
- }}
- ##########
- # Deauth Quit #
- ##########
- bind sign -|o * proc:quitdeauth
- proc proc:quitdeauth { nick uhost handle chan {msg ""}} {
- if [matchattr $handle |o $chan]&&[isauth $handle] {
- setuser $handle XTRA AUTH OFF
- putquick "privmsg $::log :Déauthentification suite au quit de $handle"
- }}
- ########
- # Connect #
- ########
- #bind evnt - init-server evnt:init_server
- #proc evnt:init_server { hand } {
- #global botnick auth
- #setuser $hand XTRA AUTH OFF
- #}
- #####
- # test #
- #####
- bind pub - !destin pub_destin
- proc pub_destin { nick uhost handle channel arg } {
- set userlist [chanlist $channel]
- set userlist [lreplace $userlist [lsearch $nick $userlist] [lsearch $nick $userlist]]
- set userlist [lreplace $userlist [lsearch $::botnick $userlist] [lsearch $::botnick $userlist]]
- if {[llength $userlist]>0} {
- putserv "PRIVMSG $channel :$nick, tu es destiné ? » [lindex $userlist [rand [llength $userlist]]]"
- } else {
- putserv "PRIVMSG $channel :$nick, tu joues tout seul!"
- }
- return 0
- }
- ########
- # Blacklist #
- ########
- #################
- # Création et Gestion Db #
- #################
- if {![file exist database/blacklist.db]} {
- set load [open database/blacklist.db w+]
- close fcreate
- putlog "\2Je créé le blacklist.db\2"
- }
- if {![file exist database/exempt.db]} {
- set load [open database/exempt.db w+]
- close fcreate
- putlog "\2Je créé le exempt.db\2"
- }
- proc progfile {file action arg} {
- set return 0
- set dbr [open database/$file.db r+]
- set dbw [open tmp.tmp w+]
- while {![eof $dbr]} {
- set r [gets $dbr]
- if {$r!=""} {puts $dbw $r}
- }
- close $dbr
- close $dbw
- set dbr [open tmp.tmp r+]
- set dbw [open database/$file.db w+]
- while {![eof $dbr]} {
- set r [gets $dbr]
- if {$action=="add"} {
- if {$r!=""} {
- puts $dbw $r
- } else {
- puts $dbw $arg
- }
- set return 1
- }
- if {$action=="del"} {
- if {$r!=""} {
- if {![string match -nocase $arg [lindex $r 0]] && ![string match -nocase $arg [lindex $r 1]]} {
- puts $dbw $r
- } else {
- set return 1
- }
- }
- }
- if {$action=="chk"} {
- if {$r!=""} {
- puts $dbw $r
- if [string match -nocase [lindex $arg 0] [lindex $r 1]] {
- set return [lindex $r 0]
- if ![string match -nocase [lindex $arg 1] [lindex $r 2]] {set return 2}
- if ![string match [lindex $arg 2] [lindex $r 3]] {set return 3}
- }
- }
- }
- if {$action=="icr"} {
- if {$r!=""} {
- puts $dbw $r
- if [string match -nocase $arg [lindex $r 0]] {
- set return 1
- }
- }
- }
- if {$action=="cf"} {
- if {$r!=""} {
- puts $dbw $r
- if [string match -nocase [lindex $r 0] $arg] {
- set return 1
- }
- }
- }
- if {$action=="ibr"} {
- if {$r!=""} {
- puts $dbw $r
- if [string match -nocase $arg [lindex $r 1]] {
- set return 1
- }
- }
- }
- }
- close $dbr
- close $dbw
- return $return
- }
- bind pub n .+blacklist +bl
- proc +bl {nick uhost hand chan args} {
- if {[lindex $args 0]!=""} {
- if {[progfile blacklist icr [lindex $args 0]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $args 0]\2 est déjà dans la Blacklist ou ne peux etre Blackliste."
- return 0
- }
- if {[progfile exempt icr [lindex $args 0]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $args 0]\2 Ne peux etre ajouter a la Blackliste."
- return 0
- }
- progfile blacklist add [lindex $args 0]
- putserv "notice $nick :Le Nick: \2[lindex $args 0]\2 a bien été ajouté à la blacklist."
- set vnick [lindex $args 0]
- putquick "PRIVMSG $chan :\00314Le pseudo\002\0031 $vnick\002 \00314a bien était ajouter au pseudo des (\0034Blackliste\00314)"
- return
- } else {
- puthelp "PRIVMSG $chan :Il faut une victime"
- return
- }}
- bind pub n .-blacklist -bl
- proc -bl {nick uhost hand chan args} {
- if {[lindex $args 0]!=""} {
- if {[progfile blacklist del [lindex $args 0]]!="1"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $args 0]\2 n'est pas dans la Blacklist."
- return 0
- }
- progfile blacklist del [lindex $args 0]
- putserv "notice $nick :Le Nick: \2[lindex $args 0]\2 a bien été supprimé de la blacklist."
- putquick "PRIVMSG $chan :\00314Le pseudo\002\0031 [lindex $args 0]\002 \00314a bien était retiré au pseudo des (\0034Blackliste\00314)"
- return
- } else {
- puthelp "PRIVMSG $chan :Il faut une victime"
- return
- }}
- bind pub n .blacklist blist
- proc blist {nick uhost hand chan args} {
- set nickb [lindex $args 0]
- set blusers [open database/blacklist.db r]
- putserv "notice $nick :\2Voici la Blacklist:\2"
- putserv "notice $nick :\2\2"
- while {![eof $blusers]} {
- set bluser [gets $blusers]
- if {$bluser!=""} {
- if {$nickb==""} {
- putserv "notice $nick :\2Nick:\2 $bluser"
- } else {
- if [string match -nocase $nickb $bluser] {
- putserv "notice $nick :\2Nick:\2 $bluser."
- }}}}
- putserv "notice $nick :\2Fin de la Blacklist\2."
- close $bluser
- putserv "notice $nick :\2\2"
- }
- bind pub n .+exempt +exempt
- proc +exempt {nick uhost hand chan args} {
- set vnick [lindex $args 0]
- if {[lindex $args 0]!=""} {
- if {[progfile exempt icr [lindex $args 0]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $args 0]\2 est déjà dans la liste des proteger."
- return 0
- }
- progfile exempt add [lindex $args 0]
- putserv "notice $nick :Le Nick: \2[lindex $args 0]\2 a bien été ajouté à la liste des proteger."
- set vnick [lindex $args 0]
- putquick "PRIVMSG $chan :\00314Le pseudo\002\0031 $vnick\002 \00314a bien était ajouter au pseudo des (\0034Proteger\00314)"
- return
- } else {
- puthelp "PRIVMSG $chan :Il faut une victime"
- return
- }}
- bind pub n .-exempt -exempt
- proc -exempt {nick uhost hand chan args} {
- if {[lindex $args 0]!=""} {
- if {[progfile exempt del [lindex $args 0]]!="1"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $args 0]\2 n'est pas dans la liste des proteger."
- return 0
- }
- progfile exempt del [lindex $args 0]
- putserv "notice $nick :Le Nick: \2[lindex $args 0]\2 a bien été supprimé de la blacklist."
- putquick "PRIVMSG $chan :\00314Le pseudo\002\0031 [lindex $args 0]\002 \00314a bien était retiré au pseudo des (\0034Proteger\00314)"
- return
- } else {
- puthelp "PRIVMSG $chan :Il faut une victime"
- return
- }}
- bind pub n .exempt exemptlist
- proc exemptlist {nick uhost hand chan args} {
- set nickb [lindex $args 0]
- set blusers [open database/exempt.db r]
- putserv "notice $nick :\2Voici la ExemptList:\2"
- putserv "notice $nick :\2\2"
- while {![eof $blusers]} {
- set bluser [gets $blusers]
- if {$bluser!=""} {
- if {$nickb==""} {
- putserv "notice $nick :\2Nick:\2 $bluser"
- } else {
- if [string match -nocase $nickb $bluser] {
- putserv "notice $nick :\2Nick:\2 $bluser."
- }}}}
- putserv "notice $nick :\2Fin de la ExempList\2."
- close $bluser
- putserv "notice $nick :\2\2"
- }
- #####
- # Join #
- #####
- bind join - "*" proc:xbl
- proc proc:xbl {n u h c} {
- set k [lindex [split $n |] 0]
- if {[progfile blacklist cf $k]=="1"} {
- set vnick $n
- set hostmask "[split [getchanhost $vnick $c] @]"
- set hostmask "!*@*[lindex $hostmask 1]"
- putquick "MODE $c +bbb $hostmask $k!*@* $k|*!*@*"
- putquick "KICK $c $vnick : \00312/\0034!\00312\\ \00312$n \0034Tu es banni du salon. Blackliste"
- }}
- #########
- # Protection #
- #########
- bind kick - * protect:kick
- proc protect:kick { nick uhost hand chan target text } {
- global auth
- if {[progfile exempt icr [nick2hand [lindex $text 0]]]!="0"} {
- putserv "kick $nick $chan :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des protégés."
- return 0
- }}
- ####################
- # Addchan/Delchan/Listchan #
- ####################
- bind pub -|m !auto joinsalon
- set chans "#Op-Trip"
- proc joinsalon {nick host hand channel arg} {
- global botnick chans
- set cmd [lindex $arg 0]
- set salon [lindex $arg 1]
- if {[string match -nocase $chans $channel]} {
- if {[string index $salon 0]!="#" && $cmd!="list"} {
- putquick "NOTICE $nick : \0032Syntax !!\0033 !join \[add/del/list\] #Salon"
- return
- }}
- switch $cmd {
- "" {
- if {[string match -nocase $chans $channel]} {
- putquick "NOTICE $nick : \0032Syntax !!\003 !join \[add/del/list\] #Salon"
- }}
- "add" {
- if {[string match -nocase $chans $channel]} {
- if {[lsearch [channels] $salon]==-1} {
- channel add $salon
- savechannels
- putquick "privmsg $chans :\0033 $salon \00312 ajouter a la liste des joins\0034 Par $hand"
- } else {
- putquick "privmsg $chans :\0033 $salon \00312 existe déja dans la liste des joins"
- }}}
- "del" {
- if {[string match -nocase $chans $channel]} {
- if {[lsearch [channels] $salon]!=-1} {
- channel remove $salon
- savechannels
- putquick "privmsg $chans :\0033 $salon \0037 supprimer de la liste des joins\0034 Par $hand"
- } else {
- putquick "privmsg $chans :\0033 $salon \00312 n'existe pas dans la liste des joins"
- }}}
- "list" {
- if {[string match -nocase $chans $channel]} {
- set as 1
- putquick "privmsg $chans :\0034\[Liste Salons\]"
- foreach liste [channels] {
- putquick "privmsg $chans :\0037=>\0032 $as \0037<= \0033 $liste"
- incr as 1
- }
- putquick "privmsg $chans :\0036\[Fin De Liste\]"
- } else {putquick "privmsg $nick $host"}
- }
- default {
- if {[string match -nocase $chans $channel]} {
- putquick "NOTICE $nick :\0032Syntax !!\003 !join \[add/del/list\] #Salon"
- }}}}
- ########
- # Proteck #
- ########
- set nk_protect "test"
- bind join - * nk:add
- bind nick - * nk:change
- bind kick - * nk:kick
- proc nk:add {nick host hand chan} {
- if {![matchattr [nick2hand $::nk_protect] +m $chan]} {
- lappend $::nk_protect $hand
- }
- return 0
- }
- proc nk:change {nick host hand chan newnick} {
- set index [lsearch $::nk_protect $nick]
- if {$index>=0} {
- lreplace $::nk_protect $index 1 $newnick
- }
- return 0
- }
- proc nk:kick {nick host hand chan victim reason} {
- set index [lsearch $::nk_protect $victim]
- set host [lindex [split $host @] 1]
- if {$index>=0} {
- lreplace $::nk_protect $index 1 ""
- pushmode $chan -o $nick
- newchanban $chan *!*@$host $::botnick "On ne kick pas un master.."
- }
- return 0
- }
- #############
- # Access/Newpass #
- #############
- bind MSG - access proc:access
- proc proc:access { nick host hand text } {
- global auth
- set chan [lindex $text 0]
- set pseudo [split $nick |]
- set mask [lindex $text 1]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if ![string match #* $chan] {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $::botnick access <#channel> <mask> )"
- return
- }
- if {$mask==""} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $::botnick access <#channel> <mask> )"
- return
- }
- if ![validchan $chan] {
- putquick "NOTICE $nick :Désolé, ce salon n'est pas enregistré !"
- return
- }
- if {![matchattr $hand |o [lindex $text 0]]} {
- "putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
- return
- }
- putserv "PRIVMSG $nick :Liste des access de $chan correspondant à \0031\[ \0034$mask \0031\] :"
- foreach user [userlist |n $chan] {
- if [string match -nocase $mask $user] {
- putserv "PRIVMSG $nick :Owner $user"
- }}
- foreach user [userlist |m $chan] {
- if ![matchattr $user |n $chan]&&[string match -nocase $mask $user] {
- putserv "PRIVMSG $nick :Master $user"
- }}
- foreach user [userlist |o $chan] {
- if ![matchattr $user |m $chan]&&[string match -nocase $mask $user] {
- putserv "PRIVMSG $nick :Operateur $user"
- }}
- putserv "PRIVMSG $nick :Fin de la liste d'access."
- }
- ########
- # Newpass #
- ########
- #####################
- # Addop/Addmaster/Addowner #
- #####################
- bind MSG - addop proc:addop
- proc proc:addop { nick host hand text } {
- global auth chan
- set vhand [lindex [split [lindex $text 0] |] 0]
- set chan [lindex $text 1]
- set pseudo [lindex [split $nick |] 0]
- if ![validuser $pseudo] {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if ![isauth $hand] {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* $chan]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $::botnick addop <pseudo> <#channel> )"
- return
- }
- if ![validchan $chan] {
- putquick "NOTICE $nick :Désolé, ce salon n'est pas enregistré !"
- return
- }
- if ![matchattr $hand |m $chan] {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande (Master sur $chan requis) !"
- return
- }
- if [matchattr $vhand |n $chan] {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Owners sur $chan !"
- return
- }
- if [matchattr $vhand |m $chan] {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Masters sur $chan !"
- return
- }
- if [matchattr $vhand |o $chan] {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Opérateurs sur $chan !"
- return
- }
- if [matchattr $vhand |m $chan] {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Masters sur $chan !"
- return
- }
- adduser $vhand $vhand!*@*
- setuser $vhand HOSTS $vhand|*!*@*
- chattr $vhand -h|+o $chan
- putquick "NOTICE $nick :$vhand a bien été ajouté(e) en tant qu'opérateur sur $chan !"
- }
- ##########
- # Addmaster #
- ##########
- bind MSG - addmaster proc:addmaster
- proc proc:addmaster { nick uhost hand text } {
- global auth
- set vhand [lindex [split [lindex $text 0] |] 0]
- set chan [lindex $text 1]
- set pseudo [lindex [split $nick |] 0]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* $chan]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $::botnick addmaster <pseudo> <#channel> )"
- return
- }
- if ![validchan $chan] {
- putquick "NOTICE $nick :Désolé, ce salon n'est pas enregistré !"
- return
- }
- if {[validuser [lindex $text 0]]} {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List
- return
- }
- adduser $vhand [lindex $text 0]!*@*
- setuser $vhand HOSTS [lindex $text 0]|*!*@*
- chattr $vhand -h|+om [lindex $text 1]
- putquick "NOTICE $nick :[lindex $text 0] a bien été ajouté(e) en tant que Master sur [lindex $text 1] !"
- return
- }
- #########
- # Addowner #
- #########
- bind MSG - addowner proc:addowner
- proc proc:addowner { nick uhost hand text } {
- global auth
- set vhand [lindex [split [lindex $text 0] |] 0]
- set chan [lindex $text 1]
- set pseudo [lindex [split $nick |] 0]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* $chan]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $::botnick addowner <pseudo> <#channel> )"
- return
- }
- if ![validchan $chan] {
- putquick "NOTICE $nick :Désolé, ce salon n'est pas enregistré !"
- return
- }
- if {[validuser [lindex $text 0]]} {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List"
- return
- }
- adduser $vhand [lindex $text 0]!*@*
- setuser $vhand HOSTS [lindex $text 0]|*!*@*
- chattr $vhand -h|+on [lindex $text 1]
- putquick "NOTICE $nick :[lindex $text 0] a bien été ajouté(e) en tant que Owner sur [lindex $text 1] !"
- return
- }
- ####################
- # Delop/Delmaster/Delowner #
- ####################
- ######
- # Delop #
- ######
- bind MSG - delop proc:delop
- proc proc:delop { nick uhost hand text } {
- global auth chan
- set vhand [lindex [split [lindex $text 0] |] 0]
- set chan [lindex $text 1]
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* $chan]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $::botnick delop <pseudo> <#channel> )"
- return
- }
- if ![validchan $chan] {
- putquick "NOTICE $nick :Désolé, ce salon n'est pas enregistré !"
- return
- }
- if ![matchattr $hand |m $chan] {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande (Master sur $chan requis) !"
- return
- }
- if ![matchattr $vhand |o $chan] {
- putquick "NOTICE $nick :Ce pseudo ne figure pas dans l'Access-List de $chan !"
- return
- }
- if [matchattr $vhand |n $chan] {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Owners sur $chan !"
- return
- }
- if [matchattr $vhand |m $chan] {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Masters sur $chan !"
- return
- }
- delchanrec $vhand $chan
- putquick "NOTICE $nick :[lindex $text 0] a bien été supprimé(e) de l'Access-List Opérateurs sur [lindex $text 1] !"
- foreach c [channels] {
- if [haschanrec $vhand $c] {
- return
- }}
- deluser $vhand
- }
- #########
- # Delmaster #
- #########
- bind MSG - delmaster proc:delmaster
- proc proc:delmaster { nick uhost hand text } {
- global auth chan
- set vhand [lindex [split [lindex $text 0] |] 0]
- set chan [lindex $text 1]
- set pseudo [lindex [split $nick |] 0]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* $chan]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $::botnick delmaster <pseudo> <#channel> )"
- return
- }
- if ![validchan $chan] {
- putquick "NOTICE $nick :Désolé, ce salon n'est pas enregistré !"
- return
- }
- if ![matchattr $hand |m $chan] {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande (Master sur $chan requis) !"
- return
- }
- if ![matchattr $vhand |o $chan] {
- putquick "NOTICE $nick :Ce pseudo ne figure pas dans l'Access-List de $chan !"
- return
- }
- if [matchattr $vhand |n $chan] {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Owners sur $chan !"
- return
- }
- if ![matchattr $vhand |m $chan] {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Masters sur $chan !"
- return
- }
- delchanrec $vhand $chan
- putquick "NOTICE $nick :[lindex $text 0] a bien été supprimé(e) de l'Access-List Master sur [lindex $text 1] !"
- foreach c [channels] {
- if [haschanrec $vhand $c] {
- return
- }}
- deluser $vhand
- }
- #########
- # Delowner #
- #########
- bind MSG - delowner proc:delowner
- proc proc:delowner { nick uhost hand text } {
- global auth chan
- set vhand [lindex [split [lindex $text 0] |] 0]
- set chan [lindex $text 1]
- set pseudo [lindex [split $nick |] 0]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* $chan]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $::botnick delowner <pseudo> <#channel> )"
- return
- }
- if ![validchan $chan] {
- putquick "NOTICE $nick :Désolé, ce salon n'est pas enregistré !"
- return
- }
- if ![matchattr $hand |m $chan] {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande (Master sur $chan requis) !"
- return
- }
- if ![matchattr $vhand |o $chan] {
- putquick "NOTICE $nick :Ce pseudo ne figure pas dans l'Access-List de $chan !"
- return
- }
- if ![matchattr $vhand |n $chan] {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Owners sur $chan !"
- return
- }
- if ![matchattr $vhand |m $chan] {
- putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Master sur $chan !"
- return
- }
- delchanrec $vhand $chan
- putquick "NOTICE $nick :[lindex $text 0] a bien été supprimé(e) de l'Access-List Owner sur [lindex $text 1] !"
- foreach c [channels] {
- if [haschanrec $vhand $c] {
- return
- }}
- deluser $vhand
- }
- #####################
- # op/deop/voice/devoice chan #
- #####################
- ####
- # op #
- ####
- bind PUB - .op op
- proc op { nick host hand chan text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {$text!=""} {
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- putquick "mode $chan +oooooo [join $text]"
- return
- }
- if [isop [join $nick] $chan] {
- putserv "NOTICE $nick :Vous êtes déjà @ sur $chan !"
- return
- }
- putquick "mode $chan +o [join $nick]"
- }
- ######
- # deop #
- ######
- bind PUB -|- .deop deop
- proc deop { nick host hand chan text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {$text!=""} {
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Master sur $chan requis.) !"
- return
- }
- if {[progfile exempt icr [nick2hand [lindex $text 0]]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des proteger."
- return 0
- }
- putquick "mode $chan -oooooo [join $text]"
- return
- }
- if {![isop [join $nick] $chan]} {
- putserv "NOTICE $nick :Vous n'êtes pas @ sur $chan !"
- return
- }
- putquick "mode $chan -o [join $nick]"
- }
- ######
- # Voice #
- ######
- bind PUB -|- .voice voice
- proc voice { nick host hand chan text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {$text!=""} {
- putquick "mode $chan +vvvvvv [join $text]"
- return
- }
- if [isvoice [join $nick] $chan] {
- putserv "NOTICE $nick :Vous êtes déjà voice sur $chan !"
- return
- }
- putquick "mode $chan +v [join $nick]"
- }
- ########
- # Devoice #
- ########
- bind PUB -|- .devoice devoice
- proc devoice { nick host hand chan text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {[progfile exempt icr [nick2hand [lindex $text 0]]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des proteger."
- return 0
- }
- if {$text!=""} {
- putquick "mode $chan -vvvvvv [join $text]"
- return
- }
- if {![isvoice [join $nick] $chan]} {
- putserv "NOTICE $nick :Vous êtes déjà devoice sur $chan !"
- return
- }
- putquick "mode $chan -v [join $nick]"
- }
- #####################
- # op/deop/voice/devoice MSG #
- #####################
- #####
- # Op #
- #####
- bind MSG -|- op proc:op
- proc proc:op { nick uhost hand text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* [lindex $text 0]]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick op #channel (pseudo(s)) )"
- return
- }
- if {![validchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {$text!=""} {
- if [matchattr $hand |o [lindex $text 0]] {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
- return
- }
- if {![onchan $nick [lindex $text 0]]} {
- putquick "NOTICE $nick :Vous n'êtes pas sur [lindex $text 0] !"
- return
- }
- if {![botonchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {![botisop [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je ne peux te mettre op je suis deop !"
- return
- }
- if {![matchattr $hand |o [lindex $text 0]]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
- return
- }
- putquick "mode [lindex $text 0] +oooooo [join [lrange $text 1 end]]"
- return
- }
- if {[isop [join $nick] [lindex $text 0]]} {
- putquick "NOTICE $nick :Vous êtes déjà @ sur [lindex $text 0] !"
- return
- }
- putquick "mode [lindex $text 0] +o [join $nick]"
- }
- ######
- # Deop #
- ######
- bind MSG -|- deop proc:deop
- proc proc:deop { nick host hand text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* [lindex $text 0]]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $::botnick deop #channel (pseudo(s)) )"
- return
- }
- if {![validchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {![matchattr $hand |o [lindex $text 0]]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
- return
- }
- if {![onchan $nick [lindex $text 0]]} {
- putquick "NOTICE $nick :Vous n'êtes pas sur [lindex $text 0] !"
- return
- }
- if {![botonchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {![botisop [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je ne peux te mettre deop je suis deop !"
- return
- }
- if {[progfile exempt icr [nick2hand [lindex $text 1]]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des proteger."
- return 0
- }
- if {[lindex $text 1] !=""} {
- putquick "mode [lindex $text 0] -oooooo [join [lrange $text 1 end]]"
- return
- }
- if ![isop [join $nick] [lindex $text 0]] {
- putquick "NOTICE $nick :Vous êtes déjà deop sur [lindex $text 0] !"
- return
- }
- putquick "mode [lindex $text 0] -o [join $nick]"
- }
- ######
- # Voice #
- ######
- bind MSG -|- voice proc:voice
- proc proc:voice { nick uhost hand text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* [lindex $text 0]]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick voice #channel (pseudo(s)) )"
- return
- }
- if {![validchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {![matchattr $hand |o [lindex $text 0]]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
- return
- }
- if {![onchan $nick [lindex $text 0]]} {
- putquick "NOTICE $nick :Vous n'êtes pas sur [lindex $text 0] !"
- return
- }
- if {![botonchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {![botisop [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je ne peux te mettre voice je suis deop !"
- return
- }
- if {[lindex $text 1] !=""} {
- putquick "mode [lindex $text 0] +vvvvvv [join [lrange $text 1 end]]"
- return
- }
- if {![isop [join $nick] [lindex $text 0]]} {
- putquick "NOTICE $nick :Vous êtes déjà voice sur [lindex $text 0] !"
- return
- }
- putquick "mode [lindex $text 0] +v [join $nick]"
- }
- ########
- # Devoice #
- ########
- bind MSG -|- devoice proc:devoice
- proc proc:devoice { nick host hand text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* [lindex $text 0]]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick devoice #channel (pseudo(s)) )"
- return
- }
- if {![validchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {![matchattr $hand |o [lindex $text 0]]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
- return
- }
- if {![onchan $nick [lindex $text 0]]} {
- putquick "NOTICE $nick :Vous n'êtes pas sur [lindex $text 0] !"
- return
- }
- if {![botonchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {![botisop [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je ne peux te mettre devoice je suis deop !"
- return
- }
- if {[progfile exempt icr [nick2hand [lindex $text 1]]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des proteger."
- return 0
- }
- if {[lindex $text 1] !=""} {
- putquick "mode [lindex $text 0] -vvvvvv [join [lrange $text 1 end]]"
- return
- }
- if ![isop [join $nick] [lindex $text 0]] {
- putquick "NOTICE $nick :Vous êtes déjà devoice sur [lindex $text 0] !"
- return
- }
- putquick "mode [lindex $text 0] -v [join $nick]"
- }
- #######################
- # Ban/Kick/Unban/Kickban CHAN #
- #######################
- #####
- # Ban #
- #####
- bind PUB - .ban ban
- proc ban { nick host hand chan text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {$text == ""} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( .ban pseudo/host )"
- return
- }
- if {[string match *!*@* [lindex $text 0]]} {
- putquick "mode $chan +b [lindex $text 0]"
- return
- }
- if {[progfile exempt icr [nick2hand [lindex $text 0]]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des proteger."
- return 0
- }
- if {[llength [getchanhost [lindex $text 0]]]!=0} {
- set host [lindex [split [getchanhost [lindex $text 0]] @] 1]
- putquick "mode $chan +b *!*@$host"
- return
- }
- putquick "NOTICE $nick :Le pseudo [lindex $text 0] n'est pas sur un de mes salons, je ne peux récupérer son host !"
- }
- #####
- # Kick #
- #####
- bind pub -|- .kick kick
- proc kick { nick uhost hand chan text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {$text == ""} {
- putquick "NOTICE $nick :Syntaxe : .kick <pseudo> <raison>"
- return
- }
- if {$text != ""} {
- if {![onchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Le pseudo [lindex $text 0] n'est pas sur $chan"
- return
- }
- if {[progfile exempt icr [nick2hand [lindex $text 0]]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des proteger."
- return 0
- }
- if {[lindex $text 1] != ""} {
- putquick "kick $chan [lindex $text 0] :[join [lrange $text 1 end]]"
- return
- }
- if {[lindex $text 1] == ""} {
- putquick "kick $chan [lindex $text 0] :Vous venez d'être kické par $nick !"
- return
- }}}
- #######
- # Unban #
- #######
- bind pub - .unban unban
- proc unban { nick uhost hand chan text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {$text == ""} {
- putquick "NOTICE $nick :Syntaxe : .unban <host>"
- return
- }
- if {[string match *!*@* [lindex $text 0]]} {
- putquick "mode $chan -b [lindex $text 0]"
- return
- }
- if {[llength [getchanhost [lindex $text 0]]]!=0} {
- set host [lindex [split [getchanhost [lindex $text 0]] @] 1]
- putquick "mode $chan -b *!*@$host"
- return
- }}
- ########
- # Kickban #
- ########
- bind PUB - .kickban kickban
- proc kickban { nick uhost hand chan text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {$text == ""} {
- putquick "NOTICE $nick :Syntaxe : .kickban <pseudo>"
- return
- }
- if {![onchan [lindex $text 0] $chan]} {
- putquick "NOTICE $nick :Le pseudo [lindex $text 0] n'est pas sur $chan"
- return
- }
- if {![botisop [lindex $chan]]} {
- putquick "NOTICE $nick :Désolé je ne peux kickban je suis deop !"
- return
- }
- if {[progfile exempt icr [nick2hand [lindex $text 0]]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des proteger."
- return 0
- }
- set host [lindex [split [getchanhost [lindex $text 0]] @] 1]
- putquick "mode $chan +b *!*@$host"
- putquick "kick $chan [lindex $text 0] :[join [lrange $text 1 end]] (Exclu(e) de $chan"
- return
- }
- ######################
- # Ban/Kick/Unban/Kickban MSG #
- ######################
- #####
- # Ban #
- #####
- bind msg -|- ban proc:ban
- proc proc:ban { nick uhost hand arg } {
- global auth
- set pseudo [lindex [split $nick |] 0]
- set chan [lindex $arg 0]
- set cible [lindex $arg 1]
- if {![validuser $pseudo]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if ("[llength $arg]"!="2")||![string match -nocase #* $chan] {
- putquick "NOTICE $nick :Syntaxe incorrect ( /msg $::botnick ban <#salon> <pseudo/host> )"
- return
- }
- if {![validchan [lindex $arg 0]]} {
- putquick "NOTICE $nick :Désolé le salon n'est pas un salon enregistré !"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {![botonchan [lindex $arg 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {![botisop [lindex $arg 0]]} {
- putquick "NOTICE $nick :Désolé je ne suis pas op sur $chan !"
- return
- }
- if {[string match *!*@* $cible]} {
- putquick "mode $chan +b $cible"
- return
- }
- if {[progfile exempt icr [nick2hand $cible]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2$cible\2 est dans la liste des proteger."
- return 0
- }
- if {[llength [getchanhost $cible]]!=0} {
- set host [lindex [split [getchanhost $cible] @] 1]
- putquick "mode $chan +b *!*@$host"
- return
- }
- putquick "NOTICE $nick :Le pseudo $cible n'est pas sur un de mes salons, je ne peux récupérer son host !"
- }
- ######
- # kick #
- ######
- bind MSG -|- kick proc:kick
- proc proc:kick { nick uhost hand arg } {
- global auth
- set chan [lindex $arg 0]
- set cible [lindex $arg 1]
- set pseudo [lindex [split $nick |] 0]
- if {![validuser $pseudo]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![string match #* [lindex $arg 0]]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick kick <#salon> (pseudo(s)) )"
- return
- }
- if {![validchan [lindex $arg 0]]} {
- putquick "NOTICE $nick :Désolé le salon n'est pas un salon enregistré !"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {![onchan $nick [lindex $arg 0]]} {
- putquick "NOTICE $nick :Vous n'êtes pas sur [lindex $arg 0] !"
- return
- }
- if {![botonchan [lindex $arg 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {![botisop [lindex $arg 0]]} {
- putquick "NOTICE $nick :Désolé je ne suis pas op sur $chan !"
- return
- }
- if {![onchan $cible $chan]} {
- putquick "NOTICE $nick :Le pseudo [lindex $arg 1] n'est pas sur [lindex $arg 0] !"
- return
- }
- if {[progfile exempt icr [nick2hand [lindex $arg 1]]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $arg 1]\2 est dans la liste des proteger."
- return 0
- }
- if {![onchan [join [lindex $arg 1]] [lindex $arg 0]]} {
- putquick "kick [lindex $arg 0] [lindex $arg 1] :Vous venez d'être kické par $nick !"
- return
- }
- if {[lindex $arg 2] !=""} {
- putquick "kick [lindex $arg 0] [lindex $arg 1] :[join [lrange $arg 2 end]]"
- return
- }}
- #######
- # Unban #
- #######
- bind msg -|- unban proc:unban
- proc proc:unban { nick uhost hand arg } {
- global auth
- set chan [lindex $arg 0]
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {![string match #* [lindex $arg 0]]} {
- putquick "NOTICE $nick :Syntaxe : /msg $::botnick unban <#salon> <host>"
- return
- }
- if {[string match *!*@* [lindex $arg 1]]} {
- putquick "mode $chan -b [lindex $arg 1]"
- return
- }
- if {[llength [getchanhost [lindex $arg 0]]]!=0} {
- set host [lindex [split [getchanhost [lindex $arg 0]] @] 1]
- putquick "mode $chan -b *!*@$host"
- return
- }}
- ########
- # Kickban #
- ########
- bind msg -|- kickban proc:kickban
- proc proc:kickban { nick uhost hand arg } {
- global auth
- set chan [lindex $arg 0]
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![matchattr $hand |o $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur $chan requis.) !"
- return
- }
- if {![string match #* [lindex $arg 0]]} {
- putquick "NOTICE $nick :Syntaxe : /msg $::botnick kickban <#salon> <pseudo> <raison>"
- return
- }
- if {[progfile exempt icr [nick2hand [lindex $arg 1]]]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $arg 1]\2 est dans la liste des proteger."
- return 0
- }
- if {[llength [getchanhost [lindex $arg 1]]]!=0} {
- set host [lindex [split [getchanhost [lindex $arg 1]] @] 1]
- putquick "mode $chan +b *!*@$host"
- putquick "kick [lindex $arg 0] [lindex $arg 1] :[join [lrange $arg 2 end]] (Exclu(e) de $chan"
- return
- }}
- ################
- # Clearban/Mode Chan #
- ################
- #########
- # Clearban #
- #########
- bind PUB - .clearbans clearbans
- proc clearbans { nick uhost hand chan text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {![matchattr $hand |m $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Master sur $chan requis.) !"
- return
- }
- foreach xunban [chanbans $chan] {
- putquick "mode $chan -b [lindex $xunban 0]"
- }}
- ######
- # Mode #
- ######
- bind PUB - .mode mod
- proc mod { nick uhost hand chan text } {
- global auth
- set pseudo [split $nick |]
- if {![validuser [lindex $pseudo 0]]} {
- putquick "NOTICE $nick :Vous n'avez aucun access dans $::botnick !"
- return
- }
- if {![isauth $hand]} {
- putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $::botnick auth <pseudo> <pass> )"
- return
- }
- if {$text!=""} {
- if {![matchattr $hand |m $chan]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Master sur $chan requis.) !"
- return
- }
- putquick "mode $chan $text"
- }}
- ###########
- # Notice-Chan #
- ##########
- bind notc - * nonotice_chanoff
- proc nonotice_chanoff { nick host hand text dest } {
- global botnick
- if ("$nick"=="")||("$dest"=="$botnick") {return 0}
- if [validuser [finduser $nick!*@*]]&&[matchattr $hand |o $dest] {return 0}
- if [isop $nick $dest]||[isvoice $nick $dest] {return 0}
- if ![botisop $dest] {return 0}
- if [string match -nocase niubot?? $nick] {return 0}
- set host [lindex [split $host @] 1]
- putquick "mode $dest +b *!*@$host"
- putquick "kick $dest $nick :~ Exp/Notice-Chan ~ Pas de notice salon svp"
- }
- #####
- # Help #
- #####
- bind msg - help proc:help
- proc proc:help { nick host hand arg } {
- set commande [lindex $arg 1]
- set commande [stripcodes abcu [lindex $arg 0]]
- if {$commande == ""} {
- putserv "privmsg $nick :\00314Commande Help du Robot \002\0034$::botnick\002\0034"
- putserv "privmsg $nick :"
- foreach c [channels] {
- if [matchattr $hand |o $c] {
- putserv "privmsg $nick :\0031\037Level \002Opérateur\002 :\0037"
- putserv "privmsg $nick :"
- putserv "privmsg $nick :\00314Auth : \0034Permet de vous identifer auprès du Robot $::botnick en MSG !"
- putserv "privmsg $nick :\00314Op : \0034Permet de te mettre Opérateur \0031(\00312@\0031) \0034 ou de deop sur le salon ou en MSG. et pour le faire sur quelqun aussi !"
- putserv "privmsg $nick :\00314Deop : \0034Permet de te mettre Deop \0031(\00312-@\0031) \0034 sur le salon ou en MSG. et pour le faire sur quelqun aussi !"
- putserv "privmsg $nick :\00314Voice : \0034Permet de te mettre voice \0031(\0033+v\0031) \0034 sur le salon ou en MSG. et pour le faire sur quelqun aussi !"
- putserv "privmsg $nick :\00314Devoice : \0034Permet de te mettre Devoice \0031(\0033-v\0031) \0034 sur le salon ou en MSG. et pour le faire sur quelqun aussi !"
- putserv "privmsg $nick :\00314Kick : \0034Permet de Kick quelqun sur le salon ou en MSG !"
- putserv "privmsg $nick :\00314Kickban : \0034Permet de Kickban quelqun sur le salon ou en MSG !"
- putserv "privmsg $nick :\00314Ban : \0034Permet de Ban quelqun sur le salon ou en MSG !"
- putserv "privmsg $nick :\00314Unban : \0034Permet de Unban quelqun sur le salon ou en MSG !"
- putserv "privmsg $nick :\00314Access : \0034Permet de regarder la liste d'acces en MSG !"
- putserv "privmsg $nick :\00314Deauth : \0034Permet de vous désauthentifer auprès du Robot $::botnick en MSG !"
- putserv "privmsg $nick :"
- break
- }}
- foreach c [channels] {
- if [matchattr $hand |m $c] {
- putserv "privmsg $nick :\0031\037Level \002Master\002 :\037"
- putserv "privmsg $nick :"
- putserv "privmsg $nick :\00314Addop : \0034Permet de mettre un user Opérateur sur un salon défini en MSG !"
- putserv "privmsg $nick :\00314Addmaster : \0034Permet de mettre un user ou un Opérateur d'un salon le level Master en MSG !"
- putserv "privmsg $nick :\00314Addowner : \0034Permet de mettre un user ou Opérateur ou un Master le level Owner en MSG !"
- putserv "privmsg $nick :\00314Delop : \0034Permet de retiré le level Opérateur sur un salon défini en MSG !"
- putserv "privmsg $nick :\00314Delmaster : \0034Permet de retiré le level Master sur un salon défini en MSG !"
- putserv "privmsg $nick :\00314Delowner :\00314Permet de retiré le level Owner sur un salon défini en MSG !"
- putserv "privmsg $nick :\00314Clearbans : \0034Permet de Clearbans tout les ban sur le salon !"
- putserv "privmsg $nick :\00314Mode : \0034Permet de mettre ou retirer un Mode sur le salon !"
- putserv "privmsg $nick :"
- break
- }}
- foreach c [channels] {
- if [matchattr $hand |n $c] {
- putserv "privmsg $nick :\0031\037Level \002Owner\002 :\037"
- putserv "privmsg $nick :\00314Blacklist : \0034Permet de mettre/retirer/regarder la Blacklist sur le salon !"
- break
- }}
- putserv "privmsg $nick :"
- putserv "privmsg $nick :\00314Exemple de commande a taper pour avoir de l'aide plus detailler\00314"
- putserv "privmsg $nick :\0034/msg $::botnick help op\0034"
- putserv "privmsg $nick :"
- putserv "privmsg $nick :\0031\037\002Fin du Help !\002"
- break
- }
- switch -- $commande {
- "op" {
- puthelp "privmsg $nick :\00314Commande Op Chan : \0034.op \0031ou \0034.op <pseudo>"
- puthelp "privmsg $nick :\00314Commande Op Msg : \0034/msg $::botnick op <#salon> \0031ou \0034/msg $::botnick op <#salon> <pseudo>"
- }
- "deop" {
- puthelp "privmsg $nick :\00314Commande Deop Chan : \0034.deop \0031ou \0034.deop <pseudo>"
- puthelp "privmsg $nick :\0031Commande Deop Chan : \0034/msg $::botnick deop <#salon> \0031ou \0034/msg $::botnick deop <#salon> <pseudo>"
- }
- "voice" {
- puthelp "privmsg $nick :\00314Commande Voice Chan : \0034.voice \0031ou \0034.voice <pseudo>"
- puthelp "privmsg $nick :\00314Commande Voice Msg : \0034/msg $::botnick <voice> <#salon> \0031ou \0034/msg $::botnick <voice> <#salon> <pseudo>"
- }
- "devoice" {
- puthelp "privmsg $nick :\00314Commande Devoice Chan : \0034.devoice \0031ou \0034.devoice <pseudo>"
- puthelp "privmsg $nick :\00314Commande Devoice Msg : \0034/msg $::botnick <devoice> <#salon> \0031ou \0034/msg $::botnick devoice <#salon> <pseudo>"
- }
- "kick" {
- puthelp "privmsg $nick :\00314Commande Kick Chan : \0034.kick <pseudo> \0031ou \0034.kick <pseudo> <raison>"
- puthelp "privmsg $nick :\00314Commande Kick Msg : \0034/msg $::botnick kick <#salon> <pseudo> \0031ou \0034/msg $::botnick kick <#salon> <pseudo> <raison>"
- }
- "kickban" {
- puthelp "privmsg $nick :\00314Commande Kickban Chan : \0034.kickban <pseudo> \0031ou \0034.kickban <pseudo> <raison>"
- puthelp "privmsg $nick :\00314Commande Kickban Msg : \0034/msg $::botnick kickban <#salon> <pseudo> \0031ou \0034/msg $::botnick kickban <#salon> <pseudo> <raison>"
- }
- "ban" {
- puthelp "privmsg $nick :\00314Commande Ban Chan : \0034.ban <pseudo> \0031ou \0034.ban <host>"
- puthelp "privmsg $nick :\00314Commande Ban Msg : \0034/msg $::botnick ban <#salon> <host>"
- }
- "unban" {
- puthelp "privmsg $nick :\00314Commande Unban Chan : \0034.unban <pseudo> \ou \0034.unban <host>"
- puthelp "privmsg $nick :\00314Commande Unban Msg : \0034/msg $::botnick unban <#salon> <host>"
- }
- "access" {
- puthelp "privmsg $nick :\00314Commande Access Msg : \0034/msg $::botnick access <#salon> * \0031ou \0034/msg $::botnick access <#salon> al* \0037Ceci et un exemple le al* cherchera tout les access ayant dans le pseudo (al)"
- }
- "addop" {
- puthelp "privmsg $nick :\00314Commande Addop Msg : \0034/msg $::botnick addop <pseudo> <#salon>"
- }
- "addmaster" {
- puthelp "privmsg $nick :\00314Commande Addmaster Msg : \0034/msg $::botnick addmaster <pseudo> <#salon>"
- }
- "addowner" {
- puthelp "privmsg $nick :\00314Commande Addowner Msg : \0034/msg $::botnick addowner <pseudo> <#salon>"
- }
- "delop" {
- puthelp "privmsg $nick :\00314Commande Delop Msg : \0034 /msg $::botnick delop <pseudo> <#salon>"
- }
- "delmaster" {
- puthelp "privmsg $nick :\00314Commande Delmaster Msg : \0034/msg $::botnick delmaster <pseudo> <#salon>"
- }
- "delowner" {
- puthelp "privmsg $nick :\00314Commande Delowner Msg :\0034/msg $::botnick delowner <pseudo> <#salon>"
- }
- "clearbans" {
- puthelp "privmsg $nick :\00314Commande Clearbans Chan : \0034.clearbans"
- }
- "mode" {
- puthelp "privmsg $nick :\00314Commande Mode Chan : \0034.mode <le-mode>"
- }
- "blacklist" {
- puthelp "privmsg $nick :\00314Commande Blacklist Chan : \0034.blacklist\0031,\0034.+blacklist <pseudo>\0031,\0034.-blacklist <pseudo>"
- }}}
- ###########
- # Anti-Mass-Hl #
- ##########
- bind pubm - * masshl
- proc masshl { nick uhost hand chan text } {
- set ::nbhl 0
- if {[llength [chanlist $chan]] <= 4} {
- return
- }
- set ::nbhl 0
- foreach mot [join [regul $text]] {
- if {[lsearch [join [chanlist $chan]] [join $mot]] != -1} {
- incr ::nbhl 1
- } }
- if {[llength [chanlist $chan]] <= 6} {
- if {$::nbhl >= [expr [llength [chanlist $chan]] - 2]} {
- putserv "PRIVMSG $chan :Mass HL détecté !"
- newchanban $chan *!$uhost $::botnick { Le Mass HL est interdit ! Vous êtes banni 5 minutes ! } 5
- set ::nbhl 0
- }
- return
- }
- if {[llength [chanlist $chan]] <= 10} {
- if {$::nbhl >= [expr [llength [chanlist $chan]] - 4]} {
- putserv "PRIVMSG $chan :Mass HL détecté !"
- newchanban $chan *!$uhost $::botnick { Le Mass HL est interdit ! Vous êtes banni 5 minutes ! } 5
- set ::nbhl 0
- }
- } else {
- if {$::nbhl >= 7} {
- putserv "PRIVMSG $chan :Mass HL détecté !"
- newchanban $chan *!$uhost $::botnick { Le Mass HL est interdit ! Vous êtes banni 5 minutes ! } 5
- set ::nbhl 0
- }}}
- proc regul {arg} {
- set arg [stripcodes abcugr $arg]
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all {"} {$arg} "" arg
- set arg [stripcodes abcugr $arg]
- return $arg
- }
- #########
- # Animation #
- #########
- proc regul {arg} {
- set arg [stripcodes abcugr $arg]
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- regsub -all "" $arg "" arg
- set arg [stripcodes abcugr $arg]
- return $arg
- }
- bind EVNT - init-server proc:initjeu
- proc proc:initjeu { type } {
- #### salon sur lequel se déroule le jeu #####
- set ::salon "#Trip"
- #############################################
- #### temps minimum entre deux phrases #####
- set ::temps "30"
- ########################
- #### temps aléatoire max à ajouter au temps minimum ####
- set ::add_temps "5"
- ############################################
- #### Phrases à faire répéter #####
- set ::phrases {
- "Ne jamais monter sa tente quand son oncle n'est pas loin"
- "Si t'es sincere, dessere les !"
- "La virginité ...c'est comme une mouche sur le dos d'une vache, Un coup de queue ...et oupps!!!"
- "Mieux vaut habiter une maison en L, qu'un chateau hanté!"
- "COucou ça vaaaaaaaaa????"
- "Je préfère de belles souris que Déborah"
- "Si tu as la colique, evite de tousser"
- "Quand l'orage gronde, le tempête"
- "Des tresses à chien sont aussi ridicules que des Natacha"
- "La boisson a été faite pour que même les laids baisent"
- "C'est quand on a vu ta tête que l'on a inventé la cagoule !"
- "tu peux PAS test!"
- "Si une femme est paniquée, ca ne veut pas dire qu'elle cherche un homme"
- "Mieux vaut rater un baiser, que baiser un raté"
- "Le vin d'ici est meilleur que l'au delà"
- "Un pinailleur n'est pas forcement un mari infidèle."
- "Si tu n'as qu'une parole, ne la donne à personne"
- "Le sexe masculin est ce qu'il y a de plus léger au monde ; une simple pensée le soulève !"
- "Quand les dents se déchaussent on a mauvaise haleine"
- "C'est parsque la vitesse de la lumière est supérieure à celle du son que certains hommes paraissent brillants avant d'avoir l'air con"
- "Je suis pour l'égalité des sexes. Je prendrai moi-même les mesures"
- "Si la violence ne règle rien c'est que tu ne frappe pas assez fort"
- "Il ne faut pas boire au volant, il vaut mieux boire à la bouteille"
- "les etudiants c'est comme le linge : quand il fait beau , ça seche"
- "Noël au balcon, enrhumé comme un con."
- "Si l'argent n'achète pas l'amour, ça facilite nettement les négociations"
- "les profs c'est comme les éviers, plus c'est vieux plus c'est bouché"
- "vaut mieux être bourré que con,ça dure moins longtemps."
- "Tousse pour un, rhume pour tous !"
- "Qui ne pète ni ne rote est voué à l'explosion."
- "L'éternité, c'est long, surtout vers la fin"
- "Il vaut mieux une grande propre qu'une petite salle"
- "Evitez la langue de bois, ça laisse des échardes"
- "Quéquette en Décembre, layette en Septembre"
- "Qui boit sans soif vomira sans effort."
- "Quand c'est la débandade chez les hommes, les femmes sont paniquées"
- }
- ############################################
- ####### Fin de la config ###################
- set ::active 0
- }
- bind pub -|o !active onn
- proc onn { nick uhost hand chan arg } {
- if [info exists ::active]&&($::active==1) {
- putserv "PRIVMSG $::salon :Le jeu est déjà activé, veuillez d'abord le désactivé avant de le relancer !"
- return
- }
- putserv "PRIVMSG $::salon :Le jeu est activé !"
- active
- }
- bind pub -|o !inactive off
- proc off { nick uhost hand chan arg } {
- if ![info exists ::active]||($::active==0) {
- putserv "PRIVMSG $::salon :Le jeu est déjà déactivé !"
- return
- }
- putserv "PRIVMSG $::salon :Le jeu est désactivé !"
- set ::active 0
- foreach t [timers] {
- if {[lindex $t 1] == " active "} {
- killtimer [lindex $t 2]
- }}}
- proc active {} {
- set ::active 1
- set ::phrase [lindex $::phrases [rand [llength $::phrases]]]
- set ::kickerz ""
- set ::voicerz ""
- putserv "PRIVMSG $::salon :KiKiDiiiiiit : \"$::phrase\" !?"
- set ::act 1
- timer [expr $::temps + [rand $::add_temps]] { active }
- }
- bind PUBM - * detect
- proc detect { nick uhost hand chan text } {
- if [info exists ::phrase]&&[info exists ::active]&&[info exists ::act] {
- if { $::active eq 1 } {
- if [string match -nocase *$::phrase* [regul $text]] {
- if { [rand 10] <= 5 } {
- set ::kickerz $nick
- putserv "PRIVMSG $::salon :Bravo, $nick ! Tu as gagné le droit de kicker quelqu'un ! tape !kicker pseudo !"
- unset ::act
- return
- }
- set ::voicerz $nick
- putserv "PRIVMSG $::salon :Bravo, $nick ! Tu as gagné le droit de voicer/devoicer quelqu'un ! tape !voicer ou !devoicer pseudo !"
- unset ::act
- }}}}
- bind pub - !kicker kickerz
- proc kickerz { nick uhost hand chan arg } {
- if {[string tolower $chan] eq [string tolower $::salon]} {
- if {$nick eq $::kickerz} {
- putquick "kick $chan [lindex $arg 0] :Tu as été kické par $nick, le plus rapide du jeux KiKiDiiiiiit !"
- set ::kickerz ""
- }}}
- bind pub - !voicer voicerz
- proc voicerz { nick uhost hand chan arg } {
- if {[string tolower $chan] eq [string tolower $::salon]} {
- if {$nick eq $::voicerz} {
- putquick "mode $chan +v [lindex $arg 0]"
- putquick "NOTICE [lindex $arg 0] :Tu as été voicé par $nick, le plus rapide du jeux KiKiDiiiiiit !"
- set ::voicerz ""
- }}}
- bind pub - !devoicer devoicerz
- proc devoicerz { nick uhost hand chan arg } {
- if {[string tolower $chan] eq [string tolower $::salon]} {
- if {$nick eq $::voicerz} {
- putquick "mode $chan -v [lindex $arg 0]"
- putquick "NOTICE [lindex $arg 0] :Tu as été dévoicé par $nick, le plus rapide du jeux KiKiDiiiiiit !"
- set ::voicerz ""
- }}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement