Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #---------------------------------------------------------------#
- # -#
- # Gestion 1.2 Corriger et optimiser quelque option -#
- # seront en plus dedans par rapport a la version 1 -#
- # amélioration du système,système de protection pour -#
- # les master par exemple :) -#
- # alias_angelius -#
- # -#
- #---------------------------------------------------------------#
- ##############
- ### NIUBOT ###
- ##############
- # Votre pass Niubot
- set niubotz(pass) "r3gas9dt"
- # Indiquez vos numéros de niubot suivi du nom de salon et séparés par un espace
- # comme cet exemple :"33#Trip 61#Op-Trp 55#revolution"
- set niubotz(infos) "33#Trip 61#Op-Trip 55#revolution"
- ##################################################
- # La config est terminée, si vous avez bien compris ce qui était demandé #
- # vous devriez avoir autant de salons que de numéros Niubot ;-) enjoy it !!!! #
- ##################################################
- proc niubot_chanset { } {
- global niubotz
- foreach niuz $niubotz(infos) {
- set niunick "Niubot[lindex [split "$niuz" "\#"] 0]"
- set niuchan "#[lindex [split $niuz "\#"] 1]"
- channel set $niuchan need-op "niubot_need op $niunick $niuchan" ;
- channel set $niuchan need-invite "niubot_need invite $niunick $niuchan" ;
- }}
- utimer 30 niubot_chanset ;
- bind pub o .nban niubot_ban
- bind pub o .-nban niubot_unban
- proc niubot_ban {nick host hand chan arg} {
- # protec isop
- if {![isop $nick $chan]} {
- puthelp "notice $nick :vous n' êtes pas op sur $chan ;-]"
- return 0
- }
- #recup l host
- set hostban [getchanhost $arg]
- if {![string match "*@*.*" $hostban]} {
- putserv "NOTICE $nick :$arg n`est pas un Pseudo present sur $chan --> SYNTAXE: .nban Pseudo"
- return 0
- }
- foreach n [chanlist $chan] {
- if {[string match -nocase "niubot??" $n]} {
- putquick "privmsg $n :ban *!*@[lindex [split $hostban "@"] 1] $chan 0"
- }}}
- proc niubot_unban {nick host hand chan arg} {
- if {![isop $nick $chan]} {
- puthelp "notice $nick :vous n' êtes pas op sur $chan ;-]"
- return 0
- }
- foreach n [chanlist $chan] {
- if {[string match -nocase "niubot??" $n]} {
- putquick "privmsg $n :unban $arg $chan"
- }}}
- proc niubot_need { cmd nick chan } {
- global niubotz
- if {[string equal -nocase $cmd "op"] && [string match -nocase "niubot??" $nick]} {
- putquick "PRIVMSG $nick :op $niubotz(pass)"
- return 0
- }
- if {[string equal -nocase $cmd "invite"] && [string match -nocase "niubot??" $nick]} {
- putquick "PRIVMSG $nick :invite $niubotz(pass) $chan"
- return 0
- }}
- #######
- # 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é !"
- putserv "privmsg $::log :\00314Commande \0036Auth par \0031: \0034$hand"
- 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é !"
- putserv "privmsg $::log :\00314Commande \0036Deauth par \0031: \0034$hand"
- 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."
- putserv "privmsg $::log :\00314Commande \0036Addsuspend ajouté par \0031: \0034$hand pour $login"
- }
- ##########
- # 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."
- putserv "privmsg $::log :\00314Commande \0036Delsuspend retiré par \0031: \0034$hand pour $login"
- }
- ##########
- # Deauth Part #
- ##########
- bind part -|o * proc:partdeauth
- proc proc:partdeauth { nick uhost hand chan {msg ""}} {
- if [matchattr $hand |o $chan]&&[isauth $hand] {
- setuser $hand XTRA AUTH OFF
- putquick "notice $nick :Déauthentification suite a votre part du salon.."
- putserv "privmsg $::log :\00314Déauthentification \0036suite au part de \0031: \0034$hand"
- }}
- ##########
- # Deauth Quit #
- ##########
- bind sign -|o * proc:quitdeauth
- proc proc:quitdeauth { nick uhost hand chan {msg ""}} {
- if [matchattr $hand |o $chan]&&[isauth $hand] {
- setuser $hand XTRA AUTH OFF
- putserv "privmsg $::log :\00314Déauthentification \0036suit au quit de \0031: \0034$hand"
- }}
- #####
- # 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
- }
- ###########
- # Add blacklist #
- ###########
- bind pub n .+blacklist +bl
- proc +bl {nick uhost hand chan args} {
- set verifexempt "[split [lindex $args 0] |]"
- set nickverife "[lindex $verifexempt 0]"
- if {[lindex $args 0]!=""} {
- if {[progfile blacklist icr $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2$nickverife\2 est déjà dans la Blacklist ou ne peux etre Blackliste."
- return 0
- }
- if {[progfile exempt icr $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2$nickverife\2 Ne peux être ajouter a la Blackliste."
- return 0
- }
- progfile blacklist add $nickverife
- putserv "notice $nick :Le Nick: \2$nickverife\2 a bien été ajouté à la blacklist."
- putquick "PRIVMSG $chan :\00314Le pseudo\002\0031 $nickverife\002 \00314a bien était ajouter au pseudo des (\0034Blackliste\00314)"
- putserv "privmsg $::log :\00314Commande \0036Blacklist ajouté par \0031: \0034$hand"
- return
- } else {
- puthelp "PRIVMSG $chan :Il faut une victime"
- return
- }}
- ###########
- # Del Blacklist #
- ###########
- bind pub n .-blacklist -bl
- proc -bl {nick uhost hand chan args} {
- set verifexempt "[split [lindex $args 0] |]"
- set nickverife "[lindex $verifexempt 0]"
- if {[lindex $args 0]!=""} {
- if {[progfile blacklist del $nickverife]!="1"} {
- putserv "notice $nick :Attention le Nick: \2$nickverife\2 n'est pas dans la Blacklist."
- return 0
- }
- progfile blacklist del $nickverife
- putserv "notice $nick :Le Nick: \2$nickverife\2 a bien été supprimé de la blacklist."
- putquick "PRIVMSG $chan :\00314Le pseudo\002\0031 $nickverife\002 \00314a bien était retiré au pseudo des (\0034Blackliste\00314)"
- putserv "privmsg $::log :\00314Commande \0036Blacklist retiré par \0031: \0034$hand"
- return
- } else {
- puthelp "PRIVMSG $chan :Il faut une victime"
- return
- }}
- ###########
- # List Blacklist #
- ###########
- 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!="" && $nickb==""} {
- putserv "notice $nick :\2Nick:\2 $bluser"
- } elseif [string match -nocase $nickb $bluser] {
- putserv "notice $nick :\2Nick:\2 $bluser."
- }
- }
- putserv "notice $nick :\2Fin de la Blacklist\2."
- putserv "privmsg $::log :\00314Commande \0036Blacklist par \0031: \0034$hand"
- close $blusers
- putserv "notice $nick :\2\2"
- }
- ##########
- # Add Exempt #
- ##########
- bind pub n .+exempt +exempt
- proc +exempt {nick uhost hand chan args} {
- set verifexempt "[split [lindex $args 0] |]"
- set nickverife "[lindex $verifexempt 0]"
- if {[lindex $args 0]!=""} {
- if {[progfile exempt icr $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2$nickverife\2 est déjà dans la liste des protégés."
- return 0
- }
- progfile exempt add $nickverife
- putserv "notice $nick :Le Nick: \2$nickverife\2 a bien été ajouté à la liste des protégés."
- putquick "PRIVMSG $chan :\00314Le pseudo\002\0031 $nickverife\002 \00314a bien était ajouter au pseudo des (\0034Protégés\00314)"
- putserv "privmsg $::log :\00314Commande \0036Exempt ajouté par \0031: \0034$hand"
- return
- } else {
- puthelp "PRIVMSG $chan :Il faut une victime"
- return
- }}
- ##########
- # Del Exempt #
- ##########
- bind pub n .-exempt -exempt
- proc -exempt {nick uhost hand chan args} {
- set verifexempt "[split [lindex $args 0] |]"
- set nickverife "[lindex $verifexempt 0]"
- if {[lindex $args 0]!=""} {
- if {[progfile exempt del $nickverife]!="1"} {
- putserv "notice $nick :Attention le Nick: \2$nickverife\2 n'est pas dans la liste des protégés."
- return 0
- }
- progfile exempt del $nickverife
- putserv "notice $nick :Le Nick: \2$nickverife\2 a bien été supprimé de la listes des protégés."
- putquick "PRIVMSG $chan :\00314Le pseudo\002\0031 $nickverife\002 \00314a bien était retiré au pseudo des (\0034Protégés\00314)"
- putserv "privmsg $::log :\00314Commande \0036Exempt retiré par \0031: \0034$hand"
- return
- } else {
- puthelp "PRIVMSG $chan :Il faut une victime"
- return
- }}
- ##########
- # List Exempt #
- ##########
- bind pub n .exempt elist
- proc elist {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!="" && $nickb==""} {
- putserv "notice $nick :\2Nick:\2 $bluser"
- } elseif [string match -nocase $nickb $bluser] {
- putserv "notice $nick :\2Nick:\2 $bluser."
- }
- }
- putserv "notice $nick :\2Fin de la ExemptList\2."
- putserv "privmsg $::log :\00314Commande \0036Exempt par \0031: \0034$hand"
- close $blusers
- putserv "notice $nick :\2\2"
- }
- #####
- # Join #
- #####
- bind join - "*" proc:xbl
- proc proc:xbl {n u h c} {
- set k [lindex [split $n |] 0]
- if {$n=="$::botnick"} {
- putserv "PRIVMSG $c :\0034Réinitialisation access, tout les authentifiées ont etait deauth par sécurité.\0034"
- foreach user [userlist * $c] {
- setuser $user XTRA AUTH OFF
- }
- }
- 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 #
- #########
- ############
- # Kick Protection #
- ############
- bind kick - * proc:kickpro
- proc proc:kickpro { nick uhost hand chan target reason } {
- global auth
- set verifexempt "[split [lindex $target 0] |]"
- set nickverife "[lindex $verifexempt 0]"
- set host [lindex [split $uhost @] 1]
- set vnick [lindex $target 0]
- if {[progfile exempt icr $nickverife]!="0"} {
- putquick "mode $chan +b *!*@$host"
- putserv "kick $chan $nick :Attention le Nick: \2[lindex $target 0]\2 est dans la liste des protégés."
- return 0
- }}
- ###############
- # Devoice Protection #
- ###############
- bind mode - "* -v" prodev
- proc prodev { nick uhost hand chan mc target } {
- set verifexempt "[split [lindex $target 0] |]"
- set nickverife "[lindex $verifexempt 0]"
- set host [lindex [split $uhost @] 1]
- set vnick [lindex $target 0]
- if {[progfile exempt icr $nickverife]!="0"} {
- putquick "mode $chan +b *!*@$host"
- putserv "kick $chan $nick :Attention le Nick: \2[lindex $target 0]\2 est dans la liste des protégés."
- return 0
- }}
- #############
- # Deop Protection #
- #############
- bind mode - "* -o" prodev
- proc prodev { nick uhost hand chan mc target } {
- set verifexempt "[split [lindex $target 0] |]"
- set nickverife "[lindex $verifexempt 0]"
- set host [lindex [split $uhost @] 1]
- set vnick [lindex $target 0]
- if {[progfile exempt icr $nickverife]!="0"} {
- putquick "mode $chan +b *!*@$host"
- putserv "kick $chan $nick :Attention le Nick: \2[lindex $target 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"
- }}}}
- #############
- # 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]]||![matchattr $hand o|] {
- "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."
- putserv "privmsg $::log :\00314Commande \0036Access par \0031: \0034$hand"
- return
- }}
- ########
- # Newpass #
- ########
- bind msg - newpass proc:newpass
- proc proc:newpass { nick uhost hand text } {
- global auth
- set pseudo [split $nick |]
- set pseudo [lindex $pseudo 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 {$text==""} {
- putquick "NOTICE $nick :Ancien mot de passe incorrect ! Veuillez respecter la syntaxe suivante : /msg $::botnick newpass <ancien-pass> <nouveau-pass> !"
- }
- if {[getuser $hand PASS]==""} {
- setuser $hand PASS [lindex $text 0]
- putquick "NOTICE $nick :Mot de passe défini : [lindex $text 0] !"
- return
- }
- if {[passwdok $hand [lindex $text 0]]} {
- if {[llength $text]>1} {
- setuser $hand PASS [lindex $text 1]
- putquick "NOTICE $nick :Nouveau mot de passe défini : [lindex $text 1] !"
- putserv "privmsg $::log :\00314Commande \0036Newpass par \0031: \0034$hand"
- return
- }}}
- ########################
- # Addop/Addmaster/Addowner Msg #
- ########################
- 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]||![matchattr $hand o|] {
- 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 !"
- putserv "privmsg $::log :\00314Commande \0036Addop par \0031: \0034$hand"
- }
- ##########
- # 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 ![matchattr $hand |n $chan]||![matchattr $hand o|] {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande (Owner sur $chan requis) !"
- 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] !"
- putserv "privmsg $::log :\00314Commande \0036Addmaster par \0031: \0034$hand"
- 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 ![matchattr $hand |n $chan]||![matchattr $hand o|] {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande (Owner sur $chan requis) !"
- 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] !"
- putserv "privmsg $::log :\00314Commande \0036Addowner par \0031: \0034$hand"
- 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]||![matchattr $hand o|] {
- 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] !"
- putserv "privmsg $::log :\00314Commande \0036Delop par \0031: \0034$hand"
- 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 |n $chan]||![matchattr $hand o|] {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande (Owner 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] !"
- putserv "privmsg $::log :\00314Commande \0036Delmaster par \0031: \0034$hand"
- 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 |n $chan]||![matchattr $hand o|] {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande (Owner 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] !"
- putserv "privmsg $::log :\00314Commande \0036Delowner par \0031: \0034$hand"
- 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]||![matchattr $hand o|]} {
- 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]"
- putserv "privmsg $::log :\00314Commande \0036Op par \0031: \0034$hand"
- return
- }
- if [isop [join $nick] $chan] {
- putserv "NOTICE $nick :Vous êtes déjà @ sur $chan !"
- return
- }
- putquick "mode $chan +o [join $nick]"
- putserv "privmsg $::log :\00314Commande \0036Op par \0031: \0034$hand"
- }
- ######
- # Deop #
- ######
- bind PUB -|- .deop deop
- proc deop { nick host hand chan text } {
- global auth
- set pseudo [split $nick |]
- set verifexempt "[split [lindex $text 0] |]"
- set nickverife "[lindex $verifexempt 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 ![matchattr $hand |o $chan]||![matchattr $hand o|] {
- 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 $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des protégés."
- return
- }
- putquick "mode $chan -oooooo [join $text]"
- putserv "privmsg $::log :\00314Commande \0036Deop par \0031: \0034$hand"
- return
- }
- if {![isop [join $nick] $chan]} {
- putserv "NOTICE $nick :Vous n'êtes pas @ sur $chan !"
- return
- }
- putquick "mode $chan -o [join $nick]"
- putserv "privmsg $::log :\00314Commande \0036Deop par \0031: \0034$hand"
- }
- ######
- # 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]||![matchattr $hand o|]} {
- 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]"
- putserv "privmsg $::log :\00314Commande \0036Voice par \0031: \0034$hand"
- return
- }
- if [isvoice [join $nick] $chan] {
- putserv "NOTICE $nick :Vous êtes déjà voice sur $chan !"
- return
- }
- putquick "mode $chan +v [join $nick]"
- putserv "privmsg $::log :\00314Commande \0036Voice par \0031: \0034$hand"
- }
- ########
- # Devoice #
- ########
- bind PUB -|- .devoice devoice
- proc devoice { nick host hand chan text } {
- global auth
- set pseudo [split $nick |]
- set verifexempt "[split [lindex $text 0] |]"
- set nickverife "[lindex $verifexempt 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 {![matchattr $hand |o $chan]||![matchattr $hand o|]} {
- 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 $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des protégés."
- return 0
- }
- if {$text!=""} {
- putquick "mode $chan -vvvvvv [join $text]"
- putserv "privmsg $::log :\00314Commande \0036Devoice par \0031: \0034$hand"
- return
- }
- if {![isvoice [join $nick] $chan]} {
- putserv "NOTICE $nick :Vous êtes déjà devoice sur $chan !"
- return
- }
- putquick "mode $chan -v [join $nick]"
- putserv "privmsg $::log :\00314Commande \0036Devoice par \0031: \0034$hand"
- }
- #####################
- # 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]]||![matchattr $hand o|] {
- 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]]"
- putserv "privmsg $::log :\00314Commande \0036Op par \0031: \0034$hand"
- 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]"
- putserv "privmsg $::log :\00314Commande \0036Op par \0031: \0034$hand"
- }
- ######
- # Deop #
- ######
- bind MSG -|- deop proc:deop
- proc proc:deop { nick host hand text } {
- global auth
- set pseudo [split $nick |]
- set verifexempt "[split [lindex $text 1] |]"
- set nickverife "[lindex $verifexempt 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 #* [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]]||![matchattr $hand o|]} {
- 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 $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2$nickverife\2 est dans la liste des protégés."
- return 0
- }
- if {[lindex $text 1] !=""} {
- putquick "mode [lindex $text 0] -oooooo [join [lrange $text 1 end]]"
- putserv "privmsg $::log :\00314Commande \0036Deop par \0031: \0034$hand"
- 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]"
- putserv "privmsg $::log :\00314Commande \0036Deop par \0031: \0034$hand"
- }
- ######
- # 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]]||![matchattr $hand o|]} {
- 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]]"
- putserv "privmsg $::log :\00314Commande \0036Voice par \0031: \0034$hand"
- 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]"
- putserv "privmsg $::log :\00314Commande \0036Voice par \0031: \0034$hand"
- }
- ########
- # Devoice #
- ########
- bind MSG -|- devoice proc:devoice
- proc proc:devoice { nick host hand text } {
- global auth
- set pseudo [split $nick |]
- set verifexempt "[split [lindex $text 1] |]"
- set nickverife "[lindex $verifexempt 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 #* [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]]||![matchattr $hand o|]} {
- 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 $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2$nickverife\2 est dans la liste des protégés."
- return 0
- }
- if {[lindex $text 1] !=""} {
- putquick "mode [lindex $text 0] -vvvvvv [join [lrange $text 1 end]]"
- putserv "privmsg $::log :\00314Commande \0036Devoice par \0031: \0034$hand"
- 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]"
- putserv "privmsg $::log :\00314Commande \0036Devoice par \0031: \0034$hand"
- }
- #######################
- # Ban/Kick/Unban/Kickban Chan #
- #######################
- #####
- # Ban #
- #####
- bind PUB - .ban ban
- proc ban { nick host hand chan text } {
- global auth
- set pseudo [split $nick |]
- set verifexempt "[split [lindex $text 0] |]"
- set nickverife "[lindex $verifexempt 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 {![matchattr $hand |o $chan]||![matchattr $hand o|]} {
- 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 {[progfile exempt icr $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des protégés."
- return
- }
- if {[string match *!*@* [lindex $text 0]]} {
- putquick "mode $chan +b [lindex $text 0]"
- putserv "privmsg $::log :\00314Commande \0036Ban par \0031: \0034$hand"
- return
- }
- if {[llength [getchanhost [lindex $text 0]]]!=0} {
- set host [lindex [split [getchanhost [lindex $text 0]] @] 1]
- putquick "mode $chan +b *!*@$host"
- putserv "privmsg $::log :\00314Commande \0036Ban par \0031: \0034$hand"
- 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 |]
- set verifexempt "[split [lindex $text 0] |]"
- set nickverife "[lindex $verifexempt 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 {![matchattr $hand |o $chan]||![matchattr $hand o|]} {
- 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 $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des protégés."
- return 0
- }
- if {[lindex $text 1] != ""} {
- putquick "kick $chan [lindex $text 0] :[join [lrange $text 1 end]]"
- putserv "privmsg $::log :\00314Commande \0036Kick par \0031: \0034$hand"
- return
- }
- if {[lindex $text 1] == ""} {
- putquick "kick $chan [lindex $text 0] :Vous venez d'être kické par $nick !"
- putserv "privmsg $::log :\00314Commande \0036Kick par \0031: \0034$hand"
- 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]||![matchattr $hand o|]} {
- 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]"
- putserv "privmsg $::log :\00314Commande \0036Unban par \0031: \0034$hand"
- return
- }
- if {[llength [getchanhost [lindex $text 0]]]!=0} {
- set host [lindex [split [getchanhost [lindex $text 0]] @] 1]
- putquick "mode $chan -b *!*@$host"
- putserv "privmsg $::log :\00314Commande \0036Unban par \0031: \0034$hand"
- return
- }}
- ########
- # Kickban #
- ########
- bind PUB - .kickban kickban
- proc kickban { nick uhost hand chan text } {
- global auth
- set pseudo [split $nick |]
- set verifexempt "[split [lindex $text 0] |]"
- set nickverife "[lindex $verifexempt 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 {![matchattr $hand |o $chan]||![matchattr $hand o|]} {
- 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 $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 0]\2 est dans la liste des protégés."
- 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"
- putserv "privmsg $::log :\00314Commande \0036Kickban par \0031: \0034$hand"
- 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]
- set verifexempt "[split [lindex $arg 1] |]"
- set nickverife "[lindex $verifexempt 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 ("[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]||![matchattr $hand o|]} {
- 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"
- putserv "privmsg $::log :\00314Commande \0036Ban par \0031: \0034$hand"
- return
- }
- if {[progfile exempt icr $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2$cible\2 est dans la liste des protégés."
- return 0
- }
- if {[llength [getchanhost $cible]]!=0} {
- set host [lindex [split [getchanhost $cible] @] 1]
- putquick "mode $chan +b *!*@$host"
- putserv "privmsg $::log :\00314Commande \0036Ban par \0031: \0034$hand"
- 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 text } {
- global auth
- set chan [lindex $text 0]
- set cible [lindex $text 1]
- set pseudo [lindex [split $nick |] 0]
- set verifexempt "[split [lindex $text 1] |]"
- set nickverife "[lindex $verifexempt 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 $text 0]]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick kick <#salon> (pseudo(s)) )"
- return
- }
- if {![validchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé le salon n'est pas un salon enregistré !"
- return
- }
- if {![matchattr $hand |o $chan]||![matchattr $hand o|]} {
- 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 $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 suis pas op sur $chan !"
- return
- }
- if {![onchan $cible $chan]} {
- putquick "NOTICE $nick :Le pseudo [lindex $text 1] n'est pas sur [lindex $text 0] !"
- return
- }
- if {[progfile exempt icr $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $text 1]\2 est dans la liste des protégés."
- return 0
- }
- if {[lindex $text 2] !=""} {
- putquick "kick [lindex $text 0] [lindex $text 1] :[join [lrange $text 2 end]]"
- putserv "privmsg $::log :\00314Commande \0036Kick par \0031: \0034$hand"
- return
- }
- if {[onchan [join [lindex $text 1]] [lindex $text 0]]} {
- putquick "kick [lindex $text 0] [lindex $text 1] :Vous venez d'être kické par $nick !"
- putserv "privmsg $::log :\00314Commande \0036Kick par \0031: \0034$hand"
- 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]||![matchattr $hand o|]} {
- 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]"
- putserv "privmsg $::log :\00314Commande \0036Unban par \0031: \0034$hand"
- 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 |]
- set verifexempt "[split [lindex $arg 1] |]"
- set nickverife "[lindex $verifexempt 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 {![matchattr $hand |o $chan]||![matchattr $hand o|]} {
- 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 $nickverife]!="0"} {
- putserv "notice $nick :Attention le Nick: \2[lindex $arg 1]\2 est dans la liste des protégés."
- 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"
- putserv "privmsg $::log :\00314Commande \0036Kickban par \0031: \0034$hand"
- 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]||![matchattr $hand o|]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Master sur [lindex $text 0] requis.) !"
- return
- }
- foreach bsyntaxe [chanbans $chan] {
- putquick "mode $chan -b [lindex $bsyntaxe 0]"
- putserv "privmsg $::log :\00314Commande \0036Clearbans par \0031: \0034$hand"
- }}
- ######
- # 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]||![matchattr $hand o|]} {
- 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"
- putserv "privmsg $::log :\00314Commande \0036Mode par \0031: \0034$hand"
- }}
- ################
- # Clearbans/Mode Msg #
- ################
- #########
- # Clearbans #
- #########
- bind msg - clearbans proc:clearbans
- proc proc:clearbans { nick host hand text } {
- global auth
- set chan [lindex $text 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 {![string match #* [lindex $text 0]]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick clearbans <#salon>)"
- return
- }
- if {![validchan [lindex $text 0]]} {
- putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
- return
- }
- if {![matchattr $hand |m [lindex $text 0]]||![matchattr $hand o|]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Master sur [lindex $text 0] requis) !"
- 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 clearbans je suis deop !"
- return
- }
- foreach bsyntaxe [chanbans $chan] {
- putquick "mode $chan -b [lindex $bsyntaxe 0]"
- }
- putserv "privmsg $::log :\00314Commande \0036Clearbans par \0031: \0034$hand"
- }
- ######
- # Mode #
- ######
- bind msg - mode proc:mode
- proc proc:mode { nick host hand text } {
- global auth
- set chan [lindex $text 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 {![string match #* [lindex $text 0]]} {
- putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick mode <#salon> <mode(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 |m [lindex $text 0]]||![matchattr $hand o|]} {
- putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Master sur [lindex $text 0] requis) !"
- 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 Mode je suis deop !"
- return
- }
- putquick "mode $chan [lindex $text 1]"
- putserv "privmsg $::log :\00314Commande \0036Mode par \0031: \0034$hand"
- }}
- ###########
- # 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 \0031: \0034Permet de vous identifer auprès du Robot $::botnick en MSG !"
- putserv "privmsg $nick :\00314Op \0031: \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 \0031: \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 \0031: \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 \0031: \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 \0031: \0034Permet de Kick quelqun sur le salon ou en MSG !"
- putserv "privmsg $nick :\00314Kickban \0031: \0034Permet de Kickban quelqun sur le salon ou en MSG !"
- putserv "privmsg $nick :\00314Ban \0031: \0034Permet de Ban quelqun sur le salon ou en MSG !"
- putserv "privmsg $nick :\00314Unban \0031: \0034Permet de Unban quelqun sur le salon ou en MSG !"
- putserv "privmsg $nick :\00314Access \0031: \0034Permet de regarder la liste d'acces en MSG !"
- putserv "privmsg $nick :\00314Deauth \0031: \0034Permet de vous déauthentifer auprès du Robot $::botnick en MSG !"
- putserv "privmsg $nick :\00314Newpass \0031: \0034Permet de changer votre mot de pass 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 \0031: \0034Permet de mettre un user Opérateur sur un salon défini en MSG !"
- putserv "privmsg $nick :\00314Delop \0031: \0034Permet de retiré le level Opérateur sur un salon défini en MSG !"
- putserv "privmsg $nick :\00314Clearbans \0031: \0034Permet de Clearbans tout les ban sur le salon ou en MSG !"
- putserv "privmsg $nick :\00314Mode \0031: \0034Permet de mettre ou retirer un Mode sur le salon ou en MSG !"
- putserv "privmsg $nick :"
- break
- }}
- foreach c [channels] {
- if [matchattr $hand |n $c] {
- putserv "privmsg $nick :\0031\037Level \002Owner\002 :\037"
- putserv "privmsg $nick :\00314Addmaster \0031: \0034Permet de mettre un user ou un Opérateur d'un salon le level Master en MSG !"
- putserv "privmsg $nick :\00314Addowner \0031: \0034Permet de mettre un user ou Opérateur ou un Master le level Owner en MSG !"
- putserv "privmsg $nick :\00314Delmaster \0031: \0034Permet de retiré le level Master sur un salon défini en MSG !"
- putserv "privmsg $nick :\00314Delowner \0031: \0034Permet de retiré le level Owner sur un salon défini en MSG !"
- putserv "privmsg $nick :\00314Blacklist \0031: \0034Permet de mettre/retirer/regarder la Blacklist sur un salon défini !"
- putserv "privmsg $nick :\00314Exempt \0031: \0034Permet de mettre/retirer/regarder les pseudos protégés sur un salon défini !"
- 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"
- putserv "privmsg $::log :\00314Commande \0036Help par \0031: \0034$hand"
- }
- switch -- $commande {
- "op" {
- puthelp "privmsg $nick :\00314Commande Op Chan \0031: \0034.op \0031ou \0034.op <pseudo>"
- puthelp "privmsg $nick :\00314Commande Op Msg \0031: \0034/msg $::botnick op <#salon> \0031ou \0034/msg $::botnick op <#salon> <pseudo>"
- }
- "deop" {
- puthelp "privmsg $nick :\00314Commande Deop Chan \0031: \0034.deop \0031ou \0034.deop <pseudo>"
- puthelp "privmsg $nick :\0031Commande Deop Chan \0031: \0034/msg $::botnick deop <#salon> \0031ou \0034/msg $::botnick deop <#salon> <pseudo>"
- }
- "voice" {
- puthelp "privmsg $nick :\00314Commande Voice Chan \0031: \0034.voice \0031ou \0034.voice <pseudo>"
- puthelp "privmsg $nick :\00314Commande Voice Msg \0031: \0034/msg $::botnick <voice> <#salon> \0031ou \0034/msg $::botnick <voice> <#salon> <pseudo>"
- }
- "devoice" {
- puthelp "privmsg $nick :\00314Commande Devoice Chan \0031: \0034.devoice \0031ou \0034.devoice <pseudo>"
- puthelp "privmsg $nick :\00314Commande Devoice Msg \0031: \0034/msg $::botnick <devoice> <#salon> \0031ou \0034/msg $::botnick devoice <#salon> <pseudo>"
- }
- "kick" {
- puthelp "privmsg $nick :\00314Commande Kick Chan \0031: \0034.kick <pseudo> \0031ou \0034.kick <pseudo> <raison>"
- puthelp "privmsg $nick :\00314Commande Kick Msg \0031: \0034/msg $::botnick kick <#salon> <pseudo> \0031ou \0034/msg $::botnick kick <#salon> <pseudo> <raison>"
- }
- "kickban" {
- puthelp "privmsg $nick :\00314Commande Kickban Chan \0031: \0034.kickban <pseudo> \0031ou \0034.kickban <pseudo> <raison>"
- puthelp "privmsg $nick :\00314Commande Kickban Msg \0031: \0034/msg $::botnick kickban <#salon> <pseudo> \0031ou \0034/msg $::botnick kickban <#salon> <pseudo> <raison>"
- }
- "ban" {
- puthelp "privmsg $nick :\00314Commande Ban Chan \0031: \0034.ban <pseudo> \0031ou \0034.ban <host>"
- puthelp "privmsg $nick :\00314Commande Ban Msg \0031: \0034/msg $::botnick ban <#salon> <host>"
- }
- "unban" {
- puthelp "privmsg $nick :\00314Commande Unban Chan \0031: \0034.unban <pseudo> \ou \0034.unban <host>"
- puthelp "privmsg $nick :\00314Commande Unban Msg \0031: \0034/msg $::botnick unban <#salon> <host>"
- }
- "access" {
- puthelp "privmsg $nick :\00314Commande Access Msg \0031: \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 \0031: \0034/msg $::botnick addop <pseudo> <#salon>"
- }
- "addmaster" {
- puthelp "privmsg $nick :\00314Commande Addmaster Msg \0031: \0034/msg $::botnick addmaster <pseudo> <#salon>"
- }
- "addowner" {
- puthelp "privmsg $nick :\00314Commande Addowner Msg \0031: \0034/msg $::botnick addowner <pseudo> <#salon>"
- }
- "delop" {
- puthelp "privmsg $nick :\00314Commande Delop Msg \0031: \0034 /msg $::botnick delop <pseudo> <#salon>"
- }
- "delmaster" {
- puthelp "privmsg $nick :\00314Commande Delmaster Msg \0031: \0034/msg $::botnick delmaster <pseudo> <#salon>"
- }
- "delowner" {
- puthelp "privmsg $nick :\00314Commande Delowner Msg \0031: \0034/msg $::botnick delowner <pseudo> <#salon>"
- }
- "clearbans" {
- puthelp "privmsg $nick :\00314Commande Clearbans Chan \0031: \0034.clearbans"
- puthelp "privmsg $nick :\00314Commande Clearbans MSG \0031: \0034/msg $::botnick clearbans <#salon>"
- }
- "mode" {
- puthelp "privmsg $nick :\00314Commande Mode Chan \0031: \0034.mode <le-mode>"
- puthelp "privmsg $nick :\00314Commande Mode Msg \0031: \0034/msg $::botnick mode <#salon> <mode>"
- }
- "blacklist" {
- puthelp "privmsg $nick :\00314Commande Blacklist Chan \0031: \0034.blacklist"
- puthelp "privmsg $nick :\00314Commande Blacklist Chan \0031: \0034.+blacklist <pseudo>"
- puthelp "privmsg $nick :\00314Commande Blacklist Chan \0031: \0034.-blacklist <pseudo>"
- return
- }
- "exempt" {
- puthelp "privmsg $nick :\00314Commande Exempt Chan \0031: \0034.exempt"
- puthelp "privmsg $nick :\00314Commande Exempt Chan \0031: \0034.+exempt <pseudo>"
- puthelp "privmsg $nick :\00314Commande Exempt Chan \0031: \0034.-exempt <pseudo>"
- }
- "newpass" {
- puthelp "privmsg $nick :\00314Commande Newpass MSG : \0034/msg $::botnick newpass <ancien-pass> <nouveau-pass>"
- }}}
- ###########
- # 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 ""
- }}}
- ######
- # Elyia #
- ######
- bind join - "*" infoline
- proc infoline { nick uhost hand chan } {
- set info1 "alias_angelius"
- if {$nick=="$info1"} {
- putserv "PRIVMSG $chan :\2\[$info1\]\2 \0034Avec IRC... J'ai pas la quote avec les filles... Pourtant je m'habille a la /mode... j'ai pas d' /ame... je fume des /join... la /list est longue... Alors !kick que tu sois , respecte moi :)"
- return 0
- }
- set info2 "Elyia"
- if {$nick=="$info2"} {
- putserv "PRIVMSG $chan :\2\[$info2\]\2 \0037if string match \0036*sex* return \00313/query coquine hello!\00313"
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement