tcl
###########################################################
# Ce TCL est entièrement fait par Kaneda modifier par alias_angelius et il est #
# fait pour tout faire :) #
###########################################################
#################
# Configuration #
#################
# Votre channel principale
set kaneda "#salon"
# Choisissez le caractere devant les commandes Ex.: ! @ ? $
set prefixcmd "!"
# Message de bienvenue aux joins (par défault) ? OUI ou NON
set welcome "NON"
set welcometexte "Bienvenue sur $chan Nous te shouaitont un agréable t'chat en notre compagnie en respectant les règles du salon ! Owner du salon [userlist |n $chan]"
# PS: Si vous mettez la commande [userlist |n $chan] dans le texte, il dira les owners du chan.
# Détecteur de clone ? OUI ou NON
set clonedetect "NON"
############
# Services #
############
# Est-ce que votre eggdrop est pour un service (Ex.: Orange Service) ? OUI ou NON
set service "OUI"
set servicechan "#salon"
set servicebackchan "#ops.salon"
# Voulez-vous un message spécial lorsque quelqu'un join votre channel ? OUI ou NON
set servicewelcome "NON"
set servicewelcometext "Vous venez d`entrer dans un canal privé A vos risques et perils !!! :)"
# Mentionner lorsque le eggdrop est opé ou déopé ? OUI ou NON
set serviceopdeop "NON"
###################################
# Commandes #
# recommendé de pas toucher #
# Risque: faire planté le eggdrop #
###################################
### Op, Deop, Voice, Devoice, Kick, Ban, Unban, Topic, Addowner, Addmaster,
### Addop, Addvoice, Addauto-op, Delauto-op, Deluser, Delowner, Delmaster, Delop,
### Delvoice, Join, Cycle, Remove, Mode, Addbot, Delbot, Help, List.
# Op #
bind pub o|o [string trim $prefixcmd]op pub_op
proc pub_op {nick uhost hand chan text} {
global botnick kaneda
if {[matchattr $hand S] == 1} {
return 0
}
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {![botisop $chan]} {
puthelp "NOTICE $nick : Je vais maintenant prendre controle de ton salon."
return 0
}
if {[lindex $text 0]!=""} {
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
pushmode $chan +o [lindex $text 0]
return 0
}
pushmode $chan +o $nick
}
# Deop #
bind pub o|o [string trim $prefixcmd]deop pub_deop
proc pub_deop {nick uhost hand chan text} {
global botnick kaneda
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
putserv "KICK $chan $nick Oups... me suis tromper :P"
return 0
}
if {[lindex $text 0]!=""} {
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
pushmode $chan -o [lindex $text 0]
return 0
}
pushmode $chan -o $nick
}
# Voice #
bind pub o|o [string trim $prefixcmd]voice pub_voice
proc pub_voice {nick uhost hand chan text} {
global botnick kaneda
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0]!=""} {
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
pushmode $chan -o [lindex $text 0]
pushmode $chan +v [lindex $text 0]
return 0
}
pushmode $chan -o $nick
pushmode $chan +v $nick
}
# Devoice #
bind pub o|o [string trim $prefixcmd]devoice pub_devoice
proc pub_devoice {nick uhost hand chan text} {
global botnick kaneda
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0]!=""} {
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
pushmode $chan -v [lindex $text 0]
return 0
}
pushmode $chan -v $nick
}
# Kick #
bind pub o|o [string trim $prefixcmd]kick pub_kick
proc pub_kick {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
putserv "KICK $chan $nick Oups... me suis tromper :P"
return 0
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]kick <nick> \[message\]"
return 0
}
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
if {[lindex $text 0]!=""} {
if {[matchattr [lindex $text 0] |m $chan] == 0} {
putserv "kick $chan [lindex $text 0] [lrange $text 1 end]"
return 0
}
if {[matchattr [lindex $text 0] |m $chan] == 1} {
if {[matchattr $hand |m $chan] == 0} {
if {[matchattr $hand o] != 1} {
puthelp "NOTICE $nick :Tu ne peux pas kicker un superieur c'est pas disney-land !"
return 0
}
}
putserv "kick $chan [lindex $text 0] [lrange $text 1 end]"
}
}
}
# Ban #
bind pub o|o [string trim $prefixcmd]ban pub_ban
proc pub_ban {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
putserv "KICK $chan $nick Oups... me suis tromper :P"
return 0
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]ban <nick> \[message\]"
return 0
}
if {[onchan [lindex $text 0] $chan] == 0} {
putserv "MODE $chan +b [lindex $text 0]"
return 0
}
if {[lindex $text 0]!=""} {
append userhost [lindex $text 0] "!*" [getchanhost [lindex $text 0] $chan]
set hostmask [maskhost $userhost]
if {[matchattr [lindex $text 0] |m $chan] == 0} {
putserv "mode $chan +b $hostmask"
putserv "kick $chan [lindex $text 0] [lrange $text 1 end]"
return 0
}
if {[matchattr [lindex $text 0] |m $chan] == 1} {
if {[matchattr $hand |m $chan] == 0} {
if {[matchattr $hand o] != 1} {
puthelp "NOTICE $nick :Tu ne peux pas bannir un superieur c'est pas disney-land !"
return 0
}
}
putserv "mode $chan +b $hostmask"
putserv "kick $chan [lindex $text 0] [lrange $text 1 end]"
}
}
}
# Unban #
bind pub o|o [string trim $prefixcmd]unban pub_unban
proc pub_unban {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]unban <hostmask>"
return 0
}
if {[lindex $text 0]!=""} {
putserv "mode $chan -b [lindex $test 0]"
}
}
# Topic #
bind pub o|o [string trim $prefixcmd]topic pub_topic
proc pub_topic {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]topic <texte>"
return 0
}
putserv "TOPIC $chan [lrange $text 0 end]"
}
# Addowner #
bind pub n|n [string trim $prefixcmd]addowner pub_addowner
proc pub_addowner {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0]==""} {
if {[matchattr $hand n] == 1} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addowner <nick> \[all\]"
return 0
}
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addowner <nick>"
return 0
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Salut. On va faire une équipe."
return 0
}
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand n] == 1} {
if {[validuser [lindex $text 0]] == 0} {
adduser [lindex $text 0] [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] +n
puthelp "NOTICE $nick :[lindex $text 0] est maintenant global owner."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant global owner."
puthelp "NOTICE [lindex $text 0] :Tu dois setter ton pass (/msg $botnick pass <password_voulu>)"
return 0
}
if {[validuser [lindex $text 0]] == 1} {
chattr [lindex $text 0] +n
puthelp "NOTICE $nick :[lindex $text 0] est maintenant global owner."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant global owner."
return 0
}
}
}
if {[validuser [lindex $text 0]] == 0} {
adduser [lindex $text 0] [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] |+n $chan
puthelp "NOTICE $nick :[lindex $text 0] est maintenant owner de $chan."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant owner de $chan."
puthelp "NOTICE [lindex $text 0] :Tu dois setter ton pass (/msg $botnick pass <password_voulu>)"
putserv "MODE $chan +o [lindex $text 0]"
return 0
}
if {[validuser [lindex $text 0]] == 1} {
chattr [lindex $text 0] |+n $chan
puthelp "NOTICE $nick :[lindex $text 0] est maintenant owner de $chan."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant owner de $chan."
putserv "MODE $chan +o [lindex $text 0]"
}
}
# Addmaster #
bind pub n|n [string trim $prefixcmd]addmaster pub_addmaster
proc pub_addmaster {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick :l Salut. On va faire une équipe."
return 0
}
if {[lindex $text 0]==""} {
if {[matchattr $hand n] == 1} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addmaster <nick> \[all\]"
return 0
}
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addmaster <nick>"
return 0
}
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand n] == 1} {
if {[validuser [lindex $text 0]] == 0} {
adduser [lindex $text 0] [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] +m
puthelp "NOTICE $nick :[lindex $text 0] est maintenant global master."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant global master."
puthelp "NOTICE [lindex $text 0] :Tu dois setter ton pass (/msg $botnick pass <password_voulu>)"
return 0
}
if {[validuser [lindex $text 0]] == 1} {
chattr [lindex $text 0] +m
puthelp "NOTICE $nick :[lindex $text 0] est maintenant global master."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant global master."
return 0
}
}
}
if {[validuser [lindex $text 0]] == 0} {
adduser [lindex $text 0] [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] |+m $chan
puthelp "NOTICE $nick :[lindex $text 0] est maintenant master de $chan."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant master de $chan."
puthelp "NOTICE [lindex $text 0] :Tu dois setter ton pass (/msg $botnick pass <password_voulu>)"
putserv "MODE $chan +o [lindex $text 0]"
return 0
}
if {[validuser [lindex $text 0]] == 1} {
chattr [lindex $text 0] -|+m $chan
puthelp "NOTICE $nick :[lindex $text 0] est maintenant master de $chan."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant master de $chan."
putserv "MODE $chan +o [lindex $text 0]"
}
}
# Addop #
bind pub m|m [string trim $prefixcmd]addop pub_addop
proc pub_addop {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Salut. Bienvenue dans notre équipe."
return 0
}
if {[lindex $text 0]==""} {
if {[matchattr $hand m] == 1} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addop <nick> \[all\]"
return 0
}
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addop <nick>"
return 0
}
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand m] == 1} {
if {[validuser [lindex $text 0]] == 0} {
adduser [lindex $text 0] [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] +o
puthelp "NOTICE $nick :[lindex $text 0] est maintenant global operateur."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant global operateur."
puthelp "NOTICE [lindex $text 0] :Tu dois setter ton pass (/msg $botnick pass <password_voulu>)"
return 0
}
if {[validuser [lindex $text 0]] == 1} {
chattr [lindex $text 0] +o
puthelp "NOTICE $nick :[lindex $text 0] est maintenant global operateur."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant global operateur."
return 0
}
}
}
if {[validuser [lindex $text 0]] == 0} {
adduser [lindex $text 0] [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] |+o $chan
puthelp "NOTICE $nick :[lindex $text 0] est maintenant operateur de $chan."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant operateur de $chan."
puthelp "NOTICE [lindex $text 0] :Tu dois setter ton pass (/msg $botnick pass <password_voulu>)"
putserv "MODE $chan +o [lindex $text 0]"
return 0
}
if {[validuser [lindex $text 0]] == 1} {
chattr [lindex $text 0] |+o $chan
puthelp "NOTICE $nick :[lindex $text 0] est maintenant operateur de $chan."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant operateur de $chan."
putserv "MODE $chan +o [lindex $text 0]"
}
}
# Addvoice #
bind pub o|o [string trim $prefixcmd]addvoice pub_addvoice
proc pub_addvoice {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Bienvenue parmi les Actifs du salon."
return 0
}
if {[lindex $text 0]==""} {
if {[matchattr $hand o] == 1} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addvoice <nick> \[all\]"
return 0
}
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addvoice <nick>"
return 0
}
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand o] == 1} {
if {[validuser [lindex $text 0]] == 0} {
adduser [lindex $text 0] [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] +v
puthelp "NOTICE $nick :[lindex $text 0] est maintenant global voice."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant global voice."
puthelp "NOTICE [lindex $text 0] :Tu dois setter ton pass (/msg $botnick pass <password_voulu>)"
return 0
}
if {[validuser [lindex $text 0]] == 1} {
chattr [lindex $text 0] +v
puthelp "NOTICE $nick :[lindex $text 0] est maintenant global voice."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant global voice."
return 0
}
}
}
if {[validuser [lindex $text 0]] == 0} {
adduser [lindex $text 0] [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] |+v $chan
puthelp "NOTICE $nick :[lindex $text 0] est maintenant voice de $chan."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant voice de $chan."
puthelp "NOTICE [lindex $text 0] :Tu dois setter ton pass (/msg $botnick pass <password_voulu>)"
putserv "MODE $chan +v [lindex $text 0]"
return 0
}
if {[validuser [lindex $text 0]] == 1} {
chattr [lindex $text 0] |+v $chan
puthelp "NOTICE $nick :[lindex $text 0] est maintenant voice de $chan."
puthelp "NOTICE [lindex $text 0] :Tu es maintenant voice de $chan."
putserv "MODE $chan +v [lindex $text 0]"
}
}
# Addauto-op #
bind pub m|m [string trim $prefixcmd]addauto-op pub_addauto-op
proc pub_addauto-op {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : A toi de jouer!"
return 0
}
if {[lindex $text 0]==""} {
if {[matchattr $hand m] == 1} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addauto-op <nick> \[all\]"
return 0
}
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addauto-op <nick>"
return 0
}
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand m] == 1} {
if {[validuser [lindex $text 0]] == 0} {
adduser [lindex $text 0] [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] +a
puthelp "NOTICE $nick :[lindex $text 0] a maintenant un global auto-op."
puthelp "NOTICE [lindex $text 0] :Tu as maintenant un global auto-op."
puthelp "NOTICE [lindex $text 0] :Tu dois setter ton pass (/msg $botnick pass <password_voulu>)"
return 0
}
if {[validuser [lindex $text 0]] == 1} {
chattr [lindex $text 0] +a
puthelp "NOTICE $nick :[lindex $text 0] a maintenant un global auto-op."
puthelp "NOTICE [lindex $text 0] :Tu as maintenant un global auto-op."
return 0
}
}
}
if {[validuser [lindex $text 0]] == 0} {
adduser [lindex $text 0] [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] |+a $chan
puthelp "NOTICE $nick :[lindex $text 0] a maintenant un auto-op sur $chan."
puthelp "NOTICE [lindex $text 0] :Tu as maintenant un auto-op sur $chan."
puthelp "NOTICE [lindex $text 0] :Tu dois setter ton pass (/msg $botnick pass <password_voulu>)"
putserv "MODE $chan +o [lindex $text 0]"
return 0
}
if {[validuser [lindex $text 0]] == 1} {
chattr [lindex $text 0] |+a $chan
puthelp "NOTICE $nick :[lindex $text 0] a maintenant un auto-op sur $chan."
puthelp "NOTICE [lindex $text 0] :Tu as maintenant un auto-op sur $chan."
putserv "MODE $chan +o [lindex $text 0]"
}
}
# Delauto-op #
bind pub m|m [string trim $prefixcmd]delauto-op pub_delauto-op
proc pub_delauto-op {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Tu as trop joué avec nous et voilà, reste au bas."
return 0
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]delauto-op <nick>"
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand m] == 1} {
if {[matchattr [lindex $text 0] a] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'a pas de global auto-op."
return 0
}
chattr [lindex $text 0] -a
puthelp "NOTICE $nick :[lindex $text 0] n'a plus de global auto-op."
puthelp "NOTICE [lindex $text 0] :Tu n'as plus de global auto-op."
return 0
}
}
if {[matchattr [lindex $text 0] |a $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'a pas d'auto-op sur $chan."
return 0
}
chattr [lindex $text 0] |-a $chan
puthelp "NOTICE $nick :[lindex $text 0] n'a plus d'auto-op sur $chan."
puthelp "NOTICE [lindex $text 0] :Tu n'as plus d'auto-op sur $chan."
}
# Deluser #
bind pub n|n [string trim $prefixcmd]deluser pub_deluser
proc pub_deluser {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Tu n'es plus un Membre de notre équipe. Tchao!"
return 0
}
if {[lindex $text 0]==""} {
if {[matchattr $hand n] == 1} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]deluser <nick> \[all\]"
return 0
}
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]deluser <nick>"
return 0
}
if {[validuser [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'a pas d'access"
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand n] == 1} {
deluser [lindex $text 0]
puthelp "NOTICE $nick :[lindex $text 0] est enlever de ma userlist."
puthelp "NOTICE [lindex $text 0] :Tu est enlever de ma userlist."
return 0
}
}
chattr [lindex $text 0] |-nmofv $chan
puthelp "NOTICE $nick :[lindex $text 0] est enlever de ma userlist de $chan."
puthelp "NOTICE [lindex $text 0] :Tu est enlever de ma userlist de $chan."
}
# Delowner #
bind pub n|n [string trim $prefixcmd]delowner pub_delowner
proc pub_delowner {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Tu méritais mieux! :["
return 0
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]delowner <nick>"
return 0
}
if {[validuser [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'a pas d'access"
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand n] == 1} {
if {[matchattr [lindex $text 0] n] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas global owner."
return 0
}
chattr [lindex $text 0] -n
puthelp "NOTICE $nick :[lindex $text 0] n'est plus global owner."
puthelp "NOTICE [lindex $text 0] :Tu n'est plus global owner."
return 0
}
}
if {[matchattr [lindex $text 0] |n $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas owner de $chan."
return 0
}
chattr [lindex $text 0] |-n $chan
puthelp "NOTICE $nick :[lindex $text 0] n'est plus owner de $chan."
putserv "MODE $chan -o [lindex $text 0]"
}
# Delmaster #
bind pub n|n [string trim $prefixcmd]delmaster pub_delmaster
proc pub_delmaster {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Tu l'as bien mérité :)"
return 0
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]delmaster <nick>"
return 0
}
if {[validuser [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'a pas d'access"
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand n] == 1} {
if {[matchattr [lindex $text 0] m] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas global master."
return 0
}
chattr [lindex $text 0] -m
puthelp "NOTICE $nick :[lindex $text 0] n'est plus global master."
puthelp "NOTICE [lindex $text 0] :Tu n'est plus global master."
return 0
}
}
if {[matchattr [lindex $text 0] |m $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas master de $chan."
return 0
}
chattr [lindex $text 0] |-m $chan
puthelp "NOTICE $nick :[lindex $text 0] n'est plus master de $chan."
putserv "MODE $chan -o [lindex $text 0]"
}
# Delop #
bind pub m|m [string trim $prefixcmd]delop pub_delop
proc pub_delop {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Tu fais pas ton boulot comme prévue!"
return 0
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]delop <nick>"
return 0
}
if {[validuser [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'a pas d'access"
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand m] == 1} {
if {[matchattr [lindex $text 0] o] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas global operateur."
return 0
}
chattr [lindex $text 0] -o
puthelp "NOTICE $nick :[lindex $text 0] n'est plus global operateur."
puthelp "NOTICE [lindex $text 0] :Tu n'est plus global operateur."
return 0
}
}
if {[matchattr [lindex $text 0] |o $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas operateur de $chan."
return 0
}
chattr [lindex $text 0] |-o $chan
puthelp "NOTICE $nick :[lindex $text 0] n'est plus operateur de $chan."
putserv "MODE $chan -o [lindex $text 0]"
}
# Delvoice #
bind pub o|o [string trim $prefixcmd]delvoice pub_delvoice
proc pub_delvoice {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Trop de Idle n'est pas accepté."
return 0
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]delvoice <nick>"
return 0
}
if {[validuser [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'a pas d'access."
return 0
}
if {[lindex $text 1] == "all"} {
if {[matchattr $hand o] == 1} {
if {[matchattr [lindex $text 0] v] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas global voice."
return 0
}
chattr [lindex $text 0] -v
puthelp "NOTICE $nick :[lindex $text 0] n'est plus global voice."
puthelp "NOTICE [lindex $text 0] :Tu n'est plus global voice."
return 0
}
}
if {[matchattr [lindex $text 0] |v $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas voice de $chan."
return 0
}
chattr [lindex $text 0] |-v $chan
puthelp "NOTICE $nick :[lindex $text 0] n'est plus voice de $chan."
putserv "MODE $chan -v [lindex $text 0]"
}
# Join #
bind pub n|n [string trim $prefixcmd]join pub_join
proc pub_join {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]join <#channel>"
return 0
}
if {[validchan [lindex $text 0]]} {
puthelp "NOTICE $nick :Je suis deja sur [lindex $text 0]."
return 0
}
puthelp "NOTICE $nick :Je garde maintenant [lindex $text 0]."
channel add [lindex $text 0]
putserv "JOIN [lindex $text 0]"
}
# Cycle #
bind pub n|n [string trim $prefixcmd]cycle pub_cycle
proc pub_cycle {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]cycle <#channel>"
return 0
}
if {[validchan [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :Je ne suis pas sur [lindex $text 0]."
return 0
}
puthelp "NOTICE $nick :Je fait un cycle sur [lindex $text 0]."
putserv "PART [lindex $text 0]"
}
# Remove #
bind pub n|n [string trim $prefixcmd]remove pub_remove
proc pub_remove {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]remove <#channel>"
return 0
}
if {[validchan [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :Je ne suis pas sur [lindex $text 0]."
return 0
}
puthelp "NOTICE $nick :Je ne protege plus [lindex $text 0]."
channel remove [lindex $text 0]
putserv "PART [lindex $text 0]"
}
# Mode #
bind pub o|o [string trim $prefixcmd]mode pub_mode
proc pub_mode {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]mode <modes>"
return 0
}
putserv "MODE $chan [lrange $text 0 end]"
}
# Addbot #
bind pub n|n [string trim $prefixcmd]addbot pub_addbot
proc pub_addbot {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Nous sommes frères.. Je t'aime mon frère !!"
return 0
}
if {[lindex $text 0]=="" || [lindex $text 1]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]addbot <nick> <port>"
return 0
}
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
return 0
}
if {[validuser [lindex $text 0]] == 1} {
puthelp "NOTICE $nick :Ce bot existe deja !"
return 0
}
if {[validuser [lindex $text 0]] == 0} {
addbot [lindex $text 0] [lindex [split [getchanhost [lindex $text 0] $chan] "@"] 1]:[lindex $text 1]
setuser [lindex $text 0] hosts [maskhost [getchanhost [lindex $text 0] $chan]]
chattr [lindex $text 0] +o
puthelp "NOTICE $nick :Ce bot est bien ajouter."
}
}
# Delbot #
bind pub n|n [string trim $prefixcmd]delbot pub_delbot
proc pub_delbot {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id <password>)"
return 0
}
}
if {[lindex $text 0] == $botnick} {
puthelp "NOTICE $nick : Je me suis trompé!"
return 0
}
if {[lindex $text 0]==""} {
puthelp "NOTICE $nick :\002Quick HELP: [string trim $prefixcmd]delbot <nick>"
return 0
}
if {[validuser [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas un bot valid."
return 0
}
deluser [lindex $text 0]
puthelp "NOTICE $nick :Ce bot est bien enlever."
}
# List #
bind pub f|f [string trim $prefixcmd]list pub_list
proc pub_list {nick uhost hand chan rest} {
global prefixcmd
if {[lindex $rest 0] == ""} {
puthelp "NOTICE $nick :Voici la liste des \002GLOBALS\002 utilisateurs:"
puthelp "NOTICE $nick :\002OWNER:\002 [userlist n] ([llength [userlist +n]])"
puthelp "NOTICE $nick :\002MASTER:\002 [userlist m] ([llength [userlist +m]])"
puthelp "NOTICE $nick :\002OP:\002 [userlist o] ([llength [userlist +o]])"
puthelp "NOTICE $nick :\002Auto-op:\002 [userlist a] ([llength [userlist +a]])"
puthelp "NOTICE $nick :\002VOICE:\002 [userlist v] ([llength [userlist +v]])"
}
if {[lindex $rest 0] != ""} {
if {[validchan [lindex $rest 0]] == 0} {
puthelp "NOTICE $nick :Je ne suis pas sur [lindex $rest 0]."
return 0
}
puthelp "NOTICE $nick :Voici la liste des utilisateurs du channel \002[lindex $rest 0]\002:"
puthelp "NOTICE $nick :\002OWNER:\002 [userlist |n [lindex $rest 0]] ([llength [userlist |n [lindex $rest 0]]])"
puthelp "NOTICE $nick :\002MASTER:\002 [userlist |m [lindex $rest 0]] ([llength [userlist |m [lindex $rest 0]]])"
puthelp "NOTICE $nick :\002OP:\002 [userlist |o [lindex $rest 0]] ([llength [userlist |o [lindex $rest 0]]])"
puthelp "NOTICE $nick :\002Auto-op:\002 [userlist |a [lindex $rest 0]] ([llength [userlist |a [lindex $rest 0]]])"
puthelp "NOTICE $nick :\002VOICE:\002 [userlist |v [lindex $rest 0]] ([llength [userlist |v [lindex $rest 0]]])"
}
}
# Help #
bind pub o|o [string trim $prefixcmd]help pub_help
proc pub_help {nick uhost hand chan text} {
global botnick kaneda prefixcmd
if {[matchattr $hand n] == 1} {
puthelp "NOTICE $nick :\002¤-¤-¤ OWNER ¤-¤-¤"
puthelp "NOTICE $nick :[string trim $prefixcmd]op \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]deop \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]voice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]devoice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]kick <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]ban <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]unban <nick ou host>, [string trim $prefixcmd]topic <texte>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addowner <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]addmaster <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]addop <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]addvoice <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]addauto-op <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]delowner <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]delmaster <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]delop <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]delauto-op <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]delvoice <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]deluser <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]join <#channel>"
puthelp "NOTICE $nick :[string trim $prefixcmd]cycle <#channel>"
puthelp "NOTICE $nick :[string trim $prefixcmd]remove <#channel>"
puthelp "NOTICE $nick :[string trim $prefixcmd]mode <mode>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addbot <nick> <port>"
puthelp "NOTICE $nick :[string trim $prefixcmd]delbot <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]list \[#channel\]"
}
if {([matchattr $hand n] == 0) && ([matchattr $hand m] == 1)} {
puthelp "NOTICE $nick :\002¤-¤-¤ MASTER ¤-¤-¤"
puthelp "NOTICE $nick :[string trim $prefixcmd]op \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]deop \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]voice \[nick\]"
puthelp "NOTICE $nick : [string trim $prefixcmd]devoice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]kick <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]ban <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]unban <nick ou host>"
puthelp "NOTICE $nick :[string trim $prefixcmd]topic <texte>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addop <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]addvoice <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]addauto-op <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]delop <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]delauto-op <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]delvoice <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]list \[#channel\]"
}
if {([matchattr $hand n] == 0) && ([matchattr $hand o] == 1)} {
puthelp "NOTICE $nick :\002¤-¤-¤ OP ¤-¤-¤"
puthelp "NOTICE $nick :[string trim $prefixcmd]op \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]deop \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]voice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]devoice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]kick <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]ban <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]unban <nick ou host>"
puthelp "NOTICE $nick :[string trim $prefixcmd]topic <texte>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addvoice <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]delvoice <nick> \[all\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]list \[#channel\]"
}
if {[matchattr $hand |n $chan] == 1} {
puthelp "NOTICE $nick :\002¤-¤-¤ CHAN OWNER ¤-¤-¤"
puthelp "NOTICE $nick :[string trim $prefixcmd]op \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]deop \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]voice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]devoice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]kick <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]ban <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]unban <nick ou host>"
puthelp "NOTICE $nick :[string trim $prefixcmd]topic <texte>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addmaster <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addop <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addvoice <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addauto-op <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]delmaster <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]delop <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]delauto-op <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]delvoice <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]deluser <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]cycle <#channel>"
puthelp "NOTICE $nick :[string trim $prefixcmd]mode <mode>"
puthelp "NOTICE $nick :[string trim $prefixcmd]list \[#channel\]"
}
if {([matchattr $hand |n $chan] == 0) && ([matchattr $hand |m $chan] == 1)} {
puthelp "NOTICE $nick :\002¤-¤-¤ CHAN MASTER ¤-¤-¤"
puthelp "NOTICE $nick :[string trim $prefixcmd]op \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]deop \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]voice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]devoice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]kick <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]ban <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]unban <nick ou host>"
puthelp "NOTICE $nick :[string trim $prefixcmd]topic <texte>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addop <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addvoice <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addauto-op <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]delop <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]delauto-op <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]delvoice <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]list \[#channel\]"
}
if {([matchattr $hand |n $chan] == 0) && ([matchattr $hand |o $chan] == 1)} {
puthelp "NOTICE $nick :\002¤-¤-¤ CHAN OP ¤-¤-¤"
puthelp "NOTICE $nick :[string trim $prefixcmd]op \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]deop \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]voice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]devoice \[nick\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]kick <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]ban <nick> \[reason\]"
puthelp "NOTICE $nick :[string trim $prefixcmd]unban <nick ou host>"
puthelp "NOTICE $nick :[string trim $prefixcmd]topic <texte>"
puthelp "NOTICE $nick :[string trim $prefixcmd]addvoice <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]delvoice <nick>"
puthelp "NOTICE $nick :[string trim $prefixcmd]list \[#channel\]"
}
}
###################################
# Fonctions #
# recommendé de pas toucher #
# Risque: faire planté le eggdrop #
###################################
### Identification, Shutup, Auto-op, Désidentification,
### Unshutup, Détecteur de clone, Message de bienvenue.
# Identification #
bind msg | id msg_ident
proc msg_ident {nick uhost hand text} {
global botnick
if {[matchattr $hand Q] == 1} {
puthelp "NOTICE $nick :Tu es déjà identifier."
return 0
}
if {[passwdok $hand ""] == 1} {
puthelp "NOTICE $nick :Tu n'as pas de password. Fait /msg $botnick pass <password_voulu>"
return 0
}
if {[passwdok $hand [lindex $text 0]] == 1} {
chattr $hand +Q
putcmdlog "#$hand# id..."
puthelp "NOTICE $nick :Vous êtes maintenant identifier, pour vous désidentifier: /msg $botnick unident <password>"
puthelp "PRIVMSG #SySops Identification de $nick réussi auto-invite pour le salon #SySops activée"
puthelp "INVITE $nick #SySops"
}
if {[passwdok $hand [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :Votre identification a fouarré :P \002Password incorrect\002"
}
}
# Désidentification #
bind sign | * sign_delogin
proc sign_delogin {nick uhost hand chan text} {
if {[matchattr $hand Q] == 1} {
chattr $hand -Q
}
if {[matchattr $hand Q] == 0} {
return 0
}
}
bind msg | unident msg_unident
proc msg_unident {nick uhost hand text} {
global botnick
if {$text == ""} {
puthelp "NOTICE $nick :\002Quick HELP: /msg $botnick unident <password>"
return 0
}
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Tu ne t'es jamais identifier."
return 0
}
if {[passwdok $hand $text] == 1} {
chattr $hand -Q
puthelp "NOTICE $nick :Tu n'es plus identifier."
puthelp "KICK $nick #SySops Seul les personnes identifier peuvent rester sur le salon #SySops"
}
if {[passwdok $hand $text] == 0} {
puthelp "NOTICE $nick :Votre désidentification a fouarré :P \002Password incorrect\002"
}
}
# Shutup #
bind msg | shutup msg_shutup
proc msg_shutup {nick uhost hand text} {
global botnick
if {[matchattr $hand S] == 1} {
puthelp "NOTICE $nick :Le mode shutup est déjà activer."
return 0
}
if {[lindex $text 0] == ""} {
puthelp "NOTICE $nick :\002Quick HELP: /msg $botnick shutup <password>"
}
if {[passwdok $hand ""] == 1} {
puthelp "NOTICE $nick :Tu n'as pas de password. Fait /msg $botnick pass <password_voulu>"
return 0
}
if {[passwdok $hand [lindex $text 0]] == 1} {
chattr $hand +S
putcmdlog "#$hand# shutup..."
puthelp "NOTICE $nick :Le mode shutup est maintenant activer. Pour le désactiver: /msg $botnick unshutup <password>"
}
if {[passwdok $hand [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :Le mode shutup n'est pas activer. \002Password incorrect\002"
}
}
# Unshutup #
bind msg | unshutup msg_unshutup
proc msg_unshutup {nick uhost hand text} {
global botnick
if {[matchattr $hand S] == 0} {
puthelp "NOTICE $nick :Le mode shutup n'est pas activer."
return 0
}
if {[lindex $text 0] == ""} {
puthelp "NOTICE $nick :\002Quick HELP: /msg $botnick unshutup <password>"
}
if {[passwdok $hand ""] == 1} {
puthelp "NOTICE $nick :Tu n'as pas de password. Fait /msg $botnick pass <password_voulu>"
return 0
}
if {[passwdok $hand [lindex $text 0]] == 1} {
chattr $hand -S
putcmdlog "#$hand# unshutup..."
puthelp "NOTICE $nick :Le mode shutup est maintenant desactiver. Pour l'activer: /msg $botnick shutup <password>"
}
if {[passwdok $hand [lindex $text 0]] == 0} {
puthelp "NOTICE $nick :Le mode shutup n'est pas desactiver. \002Password incorrect\002"
}
}
# Auto-op #
bind join a|a * pubcommand_auto-op
proc pubcommand_auto-op {nick uhost hand chan} {
putserv "MODE $chan +o $nick"
}
# Message de bienvenue #
bind join - * join_welcome
proc join_welcome {nick uhost hand chan} {
global botnick owner kaneda welcome service servicechan servicewelcome servicewelcometext welcometexte
if {$chan == $servicechan} {
if {$welcome == "OUI"} {
if {$service == "OUI"} {
if {$servicewelcome == "OUI"} {
puthelp "NOTICE $nick :$servicewelcometext"
return 0
}
}
}
if {$nick != $botnick} {
putserv "NOTICE $nick :$welcometexte"
}
}
}
# Détecteur de clone #
bind join - * join_clone
proc join_clone {nick uhost hand chan} {
global clone_chans botnick owner kaneda clonedetect
if {$clonedetect == "OUI"} {
if {(([lsearch -exact [string tolower $chan] [string tolower $chan]] != -1) || ($chan == "*")) && ($nick != $botnick) && ($nick != $owner)} {
foreach i [chanlist $chan] {
set clone_temp [lindex [split [getchanhost $i $chan] @] 1]
if {($clone_temp == [lindex [split $uhost @] 1]) && ($i != $nick) && ($i != $botnick) && ($i != $owner)} {
putserv "PRIVMSG $chan :Hum... ya des clones: $nick & $i (*!*@$clone_temp)"
return 1
}
}
}
}
}
# Mentionner les op, deop #
bind mode -o "% -o" got_deoped
proc got_deoped {nick uhost hand chan -o victim} {
global botnick kaneda service serviceopdeop servicechan servicebackchan
if {$service == "OUI"} {
if {$serviceopdeop == "OUI"} {
if {$victim==$botnick} {
putserv "PRIVMSG $servicebackchan :ALERTE: $nick ($uhost) m'a deop de $chan"
putserv "PRIVMSG $chan :ALERTE: $nick ($uhost) m'a deop de $chan"
flushmode $chan
return 0
}
}
}
}
bind mode +o "% +o" got_oped
proc got_oped {nick uhost hand chan +o victim} {
global botnick kaneda service serviceopdeop
if {$service == "OUI"} {
if {$serviceopdeop == "OUI"} {
if {$victim==$botnick} {
putserv "PRIVMSG $chan :Merci $nick. Je suis maintenant fonctionnel."
return 0
}
}
}
}
###################################### Fin #######################################
putlog "*** kaneda.tcl corriger lancé."