eva tcl

Upload: downloadfromscribd

Post on 07-Jan-2016

233 views

Category:

Documents


1 download

DESCRIPTION

Eva TCL

TRANSCRIPT

  • 7/17/2019 Eva TCL

    1/152

    ##################### Configuration #####################

    ############ Le Link #

    ###########

    #---Nom du serveur du service---#set eva(serv) "Eva.BlueIRC.com"

    #---Pass du link---#set eva(pass) "evapassword"

    #---Nom du serveur link---#set eva(rserv) "Eva.BlueIRC.com"

    #---Ip du serveur link---#

    set eva(link) "87.106.206.76"#---Port du link---#set eva(port) "4400"

    #---Info sur le link---#set eva(info) "Eva Service"

    ######## Eva ########

    #---Nick De Eva---#

    set eva(nick) "Eva"

    #---Ident De Eva---#set eva(ident) "01Eva"

    #---Host De Eva---#set eva(host) "765908765.net"

    #---Real Name De Eva---#set eva(name) "Evangelion"

    ###########

    # Welcome ############

    #---Nick De Welcome---#set welcome(nick) "Global"

    #---Ident De Welcome---#set welcome(ident) "01Eva"

    #---Host De Welcome---#set welcome(host) "786540927.net"

    #---Real Name De Welcome---#

    set welcome(name) "Global Service"

    ###########################

  • 7/17/2019 Eva TCL

    2/152

    # Socket d'aide aux users ############################

    #---Nick De La Socket---#set socket(nick) "HelpServ"

    #---Ident De La Socket---#

    set socket(ident) "01Help"

    #---Host De La Socket---#set socket(host) "654987122.net"

    #---Real Name De La Socket---#set socket(name) "Service d'aides"

    ############ Eggdrop ############

    #---Identification au serveur en tant que oper---#set ircop(onick) "Eva"set ircop(opass) "evapassword"set ircop(modes) "+iwbgsdpAo"

    #---Identification diverse---#set ircop(ident) {

    "SETHOST 547856955.net"}

    ############ Options #

    ###########

    #---Salon de logue---#set eva(chan) "#Eva"

    #---Salon des robots---#set eva(chanbot) "#Eva"

    #---Salon de l'quipe---#set eva(soho) "#Eva"

    #---Notice aux IRCops lorsque qu'un client se connecte---#set eva(onotcon) "1"

    #---Topic lors d'un xclose---#set eva(topic) "Channel ferm!"

    #---Temps d'un xclose (en minutes)---#set eva(txclose) "1440"

    #---Debug en party-line---#set eva(debug) "0"

    #---Etes vous Coder de Diogene (0 est conseill sinon certain bugs pourrait tre rencontr)---#

    set eva(coderz) "0"

    #---Activer la detection de clones (0 pour dsactiv)---#

  • 7/17/2019 Eva TCL

    3/152

    set eva(detectclone) "1"

    #---Nombre maximum de clones (0 pour dsactiv)---#set eva(clonelimit) "5"

    #---Nombre de clones avant avertissement---#set eva(cloneavert) "3"

    #---Raison Gline des clones---#set eva(rglineclones) "Veuillez faire attention vos clones!"

    #---Temps de Gline des clones---#set eva(tglineclones) "3600"

    #---Port des dcc---#set eva(dccport) ""

    ############################################################################# Fin de la configuration ##################################################

    ############################################################################set eva(vers) "v2.0 - By IluZi0n"############ Level 0 ############################---Xaccess---################

    # Dcc

    bind dcc - xaccess dcc:xaccessproc dcc:xaccess {nick idx arg} {

    putdcc $idx "1,1### 0Level A 13- 0Les Gofrontistes. 1###"foreach user [userlist -B+A] {

    putdcc $idx "$user"}putdcc $idx "1,1### 0Level B 13- 0Les IRCops. 1###"

    foreach user [userlist -C+B] {putdcc $idx "$user"}putdcc $idx "1,1### 0Level C 13- 0Les Responsables Gofrontistes. 1###"

    foreach user [userlist -n+C] {putdcc $idx "$user"}putdcc $idx "

    1,1###

    0Level n

    13-

    0Les Serveurs Admins.

    1###"

    foreach user [userlist n] {putdcc $idx "$user"}putdcc $idx "1,1### 0Level D 13- 0Les Services Admins. 1###"

    foreach user [userlist D] {putdcc $idx "$user"}}

    # Msg

    bind msg - xaccess msg:xaccess

    proc msg:xaccess {nick uhost hand arg} {global evasend ":$eva(nick) NOTICE $nick :1,1### 0Level A 13- 0Les Gofrontistes. 1###"

  • 7/17/2019 Eva TCL

    4/152

    foreach user [userlist -B+A] {send ":$eva(nick) NOTICE $nick :$user"}send ":$eva(nick) NOTICE $nick :1,1### 0Level B 13- 0Les IRCops. 1###"

    foreach user [userlist -C+B] {send ":$eva(nick) NOTICE $nick :$user"}

    send ":$eva(nick) NOTICE $nick :1,1### 0Level C 13- 0Les Responsables Gofrontistes. 1###"

    foreach user [userlist -n+C] {send ":$eva(nick) NOTICE $nick :$user"}send ":$eva(nick) NOTICE $nick :1,1### 0Level n 13- 0Les Serveurs Admins. 1###"

    foreach user [userlist n] {send ":$eva(nick) NOTICE $nick :$user"}send ":$eva(nick) NOTICE $nick :1,1### 0Level D 13- 0Les Services Admins. 1###"

    foreach user [userlist D] {send ":$eva(nick) NOTICE $nick :$user"

    }}

    # Pub

    bind pub - .xaccess pub:xaccessbind pub - !xaccess pub:xaccessproc pub:xaccess {nick uhost hand chan arg} {global evasend ":$eva(nick) NOTICE $nick :1,1### 0Level A 13- 0Les Gofrontistes. 1###"

    foreach user [userlist -B+A] {send ":$eva(nick) NOTICE $nick :$user"}

    send ":$eva(nick) NOTICE $nick :1,1### 0Level B 13- 0Les IRCops. 1###"foreach user [userlist -C+B] {

    send ":$eva(nick) NOTICE $nick :$user"}send ":$eva(nick) NOTICE $nick :1,1### 0Level C 13- 0Les Responsables Gofrontistes. 1###"

    foreach user [userlist -n+C] {send ":$eva(nick) NOTICE $nick :$user"}send ":$eva(nick) NOTICE $nick :1,1### 0Level n 13- 0Les Serveurs Admins. 1###"

    foreach user [userlist n] {send ":$eva(nick) NOTICE $nick :$user"}send ":$eva(nick) NOTICE $nick :1,1### 0Level D 13- 0Les Services Admins. 1###"

    foreach user [userlist D] {send ":$eva(nick) NOTICE $nick :$user"}}

    ##############---Xhelp---##############

    set intro "4ATTENTION: Nous vous rappelons que toutes les commandes sont enregistrs- Afin d'viter les Abus!"

    set levelnull(num) "8"set levelnull(1) "1,1### 0Level 0 11- 0Tout les users. 1###"

  • 7/17/2019 Eva TCL

    5/152

    set levelnull(2) ""set levelnull(3) "xaccess- Utilisation: xaccess - 3Retourne la liste des personnesayant acces au service"set levelnull(4) "operlist- Utilisation: operlist - 3Retourne la liste des IRCoprateurs prsents"set levelnull(5) "geolist- Utilisation: geolist - 3Retourne la liste des gofrontistes prsents"

    set levelnull(6) "geosend- Utilisation: geosend - 3Envoi un message auxgofrontistes"set levelnull(7) "login- Utilisation: login - 3Permet de s'identifier sur le service"set levelnull(8) "5"

    set levela(num) "49"set levela(1) "1,1### 0Level A 13- 0Les Gofrontistes. 1###"set levela(2) ""set levela(3) "xop- Utilisation: xop - 3Permet de donner le statusd'oprateur a quelqu'un sur un salon"set levela(4) "xdeop- Utilisation: xdeop - 3Permet de retirer le st

    atus d'oprateur a quelqu'un sur un salon"set levela(5) "xvoice- Utilisation: xvoice - 3Permet de donner le status de voice a quelqu'un sur un salon"set levela(6) "xdevoice- Utilisation: xdevoice - 3Permet de retirerle status de voice a quelqu'un sur un salon"set levela(7) "xgline- Utilisation: xgline - 3Permet d'ajouter un gline sur le serveur"set levela(8) "xungline- Utilisation: xungline - 3Permet de retirer un gline sur le serveur"set levela(9) "xmode- Utilisation: xmode - 3Permet de changer les modes d'un salon"set levela(10) "xglist- Utilisation: xglist - 3Retourne la liste des glines sur leserveur"

    set levela(11) "xban- Utilisation: xban - 3Permet de bannir unusager d'un salon"set levela(12) "xunban- Utilisation: xunban - 3Permet de debannir un usager d'un salon"set levela(13) "xtopic- Utilisation: xtopic - 3Permet de changer le topic d'un salon"set levela(14) "xclearmodes- Utilisation: xclearmodes - 3Permet de retirertout les modes d'un salon"set levela(15) "xhostkill- Utilisation: xhostkill - 3Permet de killer toutles utilisateurs utilisant un certain host"set levela(16) "xkill- Utilisation: xkill - 3Permet de killer un utilisateur"set levela(17) "

    xclose

    - Utilisation: xclose -

    3Permet de fermer un salon"

    set levela(18) "xchankill- Utilisation: xchankill - 3Permet de fermer un salon et killeur tout ses usagers"set levela(19) "xwall- Utilisation: xwall - 3Permet d'envoyer une noticeglobale a tout le rseau"set levela(20) "xwallops- Utilisation: xwallops - 3Permet d'envoyer un WALLOPS"set levela(21) "xkick- Utilisation: xkick - 3Permet de kicker un utilisateur d'un salon"set levela(22) "xkickban- Utilisation: xkickban - 3Permetde kicker et bannir un utilisateur d'un salon"set levela(23) "xlistclose- Utilisation: xlistclose - 3Retourne la liste des salons ferms"

    set levela(24) "xunclose- Utilisation: xunclose - 3Permet de rouvrir un salon ferm"set levela(25) "xinviteme- Utilisation: xinviteme - 3Permet d'inviter usage

  • 7/17/2019 Eva TCL

    6/152

    r sur $eva(chan)"set levela(26) "xinvite- Utilisation: xinvite - 3Permet d'inviter un usager sur un salon"set levela(27) "xopersend- Utilisation: xopersend - 3Permet d'envoyer une notice a tous les IRCoprateurs connects"set levela(28) "xsecu- Utilisation: xsecu - 3Permet de bloquer tout les salons officiels quelques temps"

    set levela(29) "xnoconnect- Utilisation: xnoconnect - 3Permet de bloquer toutes connections au serveur"set levela(30) "xwho- Utilisation: xwho - 3Retourne des informations sur l'argument spcifi"set levela(31) "xwhois- Utilisation: xwhois - 3Retourne des informations sur le pseudo spcifi"set levela(32) "badchan- Utilisation: badchan - 3Retourne la liste des badchans"set levela(33) "excbadchan- Utilisation: excbadchan - 3Retourne la liste des exceptions de badchans"set levela(34) "xtrust- Utilisation: xtrust - 3Retourne la liste des hosts autorissa cloner"set levela(35) "chanoff- Utilisation: chanoff - 3Retourne la liste des salons offi

    ciels"set levela(36) "xnoops- Utilisation: xnoops - 3Retourne la liste des salons en noops"set levela(37) "xnovoice- Utilisation: xnovoice - 3Retourne la liste des salons ennovoice"set levela(38) "xallops- Utilisation: xallops - 3Retourne la liste des salons en autoop"set levela(39) "xallvoice- Utilisation: xallvoice - 3Retourne la liste des salonsen autovoice"set levela(40) "xnobans- Utilisation: xnobans - 3Retourne la liste des salons en nobans"set levela(41) "xnotopic- Utilisation: xnotopic - 3Retourne la liste des salons enno topic"

    set levela(42) "xpermclose- Utilisation: xpermclose - 3Retourne la liste des salons en fermeture permanente"set levela(43) "xdefmodes- Utilisation: xdefmodes - 3Retourne la liste desauto modes sur un salons"set levela(44) "xdeftopic- Utilisation: xdeftopic - 3Retourne le topic dfini pour un salons"set levela(45) "xwelcome- Utilisation: xwelcome - 3Retourne la notice d'entre dfinie pour un salons"set levela(46) "xdefgline- Utilisation: xdefgline - 3Retourne la liste des auto gline sur un argument"set levela(47) "xcollide- Utilisation: xcollide - 3Collide un utilisateur"set levela(48) "xdefkill-Utilisation: xdefkill - 3Retourne la liste des autokill sur un argument"set levela(49) "5"

    set levelb(num) "29"set levelb(1) "1,1### 0Level B 13- 0Les IRCoprateurs. 1###"set levelb(2) ""set levelb(3) "xjoin- Utilisation: xjoin - 3Fais joindre $eva(nick) sur unsalon"set levelb(4) "xpart- Utilisation: xpart - 3Fais partir $eva(nick) d'un salon"set levelb(5) "xsvsnick- Utilisation: xsvsnick - 3Permet dechanger le nick d'un usager"set levelb(6) "xkickall- Utilisation: xkickall - 3Permet de kicker tout le

    s usagers sur un salon"set levelb(7) "xopall- Utilisation: xopall - 3Permet de mettre le status d'oprateur a tout les usagers sur un salon"

  • 7/17/2019 Eva TCL

    7/152

    set levelb(8) "xdeopall- Utilisation: xdeopall - 3Permet de retirer le status d'oprateur a tout les usagers sur un salon"set levelb(9) "xvoiceall- Utilisation: xvoiceall - 3Permet de mettre le status de voice a tout les usagers sur un salon"set levelb(10) "xdevoiceall- Utilisation: xdevoiceall - 3Permet de retirerle status de voice a tout les usagers sur un salon"set levelb(11) "xcleargline- Utilisation: xcleargline - 3Permet de retirer toutes

    les glines du rseau"set levelb(12) "xsay- Utilisation: xsay - 3Permet de faireparler $eva(nick)"set levelb(13) "xact- Utilisation: xact - 3Permet de faireagir $eva(nick)"set levelb(14) "xnotice- Utilisation: xnotice - 3Permet d'envoyer une notice avec $eva(nick)"set levelb(15) "xsnotice- Utilisation: xsnotice - 3Permet d'envoyer une serveur notice avec $eva(serv)"set levelb(16) "xpurge- Utilisation: xpurge - 3Permet de rouvrir tout les salons ferms"set levelb(17) "xsajoin- Utilisation: xsajoin - 3Permet de forc un u

    sager a joindre un salon"set levelb(18) "xsapart- Utilisation: xsapart - 3Permet de forc un usager a partir d'un salon"set levelb(19) "xsajoinall- Utilisation: xsajoinall - 3Permet de forc tousles usagers a joindre un salon"set levelb(20) "xraw- Utilisation: xraw - 3Permet d'injecter une raw"set levelb(21) "+xclone- Utilisation: +xclone - 3Permet de connect un xclone"set levelb(22) "-xclone- Utilisation: -xclone - 3Permet de deconnect un xclone"set levelb(23) "xclone- Utilisation: xclone - 3Retourne la liste des xclones connects"set levelb(24) "xmove- Utilisation: xmove - 3Permet de faire join

    dre un xclone sur un salon"set levelb(25) "xsort- Utilisation: xsort - 3Permet de faire partir un xclone d'un salon"set levelb(26) "+autorise- Utilisation: +autorise - 3Ajoute une autorisation pour un pseudo a rentrer sur $eva(chanbot)"set levelb(27) "-autorise- Utilisation: -autorise - 3Retire une autorisation pour un pseudo a rentrer sur $eva(chanbot)"set levelb(28) "autorise- Utilisation: autorise - 3Retourne la liste de pseudos autoriss a rentrer sur $eva(chanbot)"set levelb(29) "5"

    set levelc(num) "40"set levelc(1) "

    1,1###

    0Level C

    13-

    0Les Responsables Gofrontistes.

    1###"

    set levelc(2) ""set levelc(3) "xconnect - Utilisation: xconnect - 3Permet de connect $eva(serv)"set levelc(4) "xdebug- Utilisation: xdebug - 3Active ou Dsactive le mode debug"set levelc(5) "welcome- Utilisation: welcome - 3Dfini la notice de bienvenue"set levelc(6) "+badchan- Utilisation: +badchan - 3Ajoute un salon a la liste des badchans"set levelc(7) "-badchan- Utilisation: -badchan - 3Retire un salon a la liste des badchans"set levelc(8) "+excbadchan- Utilisation: +excbadchan - 3Ajoute un salon ala liste des exceptions de badchans"set levelc(9) "-excbadchan- Utilisation: -excbadchan - 3Retire un salon a

    la liste des exceptions de badchans"set levelc(10) "+xtrust- Utilisation: +xtrust - 3Ajoute un host a la listedes hosts autoriss a cloner"

  • 7/17/2019 Eva TCL

    8/152

    set levelc(11) "-xtrust- Utilisation: -xtrust - 3Retire un host a la listedes hosts autoriss a cloner"set levelc(12) "+chanoff- Utilisation: +chanoff - 3Ajoute un salon a la liste des salons officiels"set levelc(13) "-chanoff- Utilisation: -chanoff - 3Retire un salon a la liste des salons officiels"set levelc(14) "+xdefmodes- Utilisation: +xdefmodes - 3Dfini les au

    tomodes d'un salon"set levelc(15) "-xdefmodes- Utilisation: -xdefmodes - 3Supprime les automodes d'un salon"set levelc(16) "xsuspend- Utilisation: xsuspend - 3Suspend un gofrontiste"set levelc(17) "xunsuspend- Utilisation: xunsuspend - 3Retire le suspend d'un gofrontiste"set levelc(18) "+xnoops- Utilisation: +xnoops - 3Ajoute un salon avec l'option noops (pas d'oprateurs)"set levelc(19) "-xnoops- Utilisation: -xnoops - 3Retire un salon avec l'option noops (pas d'oprateurs)"set levelc(20) "+xnovoice- Utilisation: +xnovoice - 3Ajoute un salon avecl'option novoice (pas de voices)"

    set levelc(21) "-xnovoice- Utilisation: -xnovoice - 3Retire un salon avecl'option novoice (pas de voices)"set levelc(22) "+xallops- Utilisation: +xallops - 3Ajoute un salon en autoop"set levelc(23) "-xallops- Utilisation: -xallops - 3Retire un salon en autoop"set levelc(24) "+xallvoice- Utilisation: +xallvoice - 3Ajoute un salon enautovoice"set levelc(25) "-xallvoice- Utilisation: -xallvoice - 3Retire un salon enautovoice"set levelc(26) "+xnobans- Utilisation: +xnobans - 3Ajoute un salon avec l'option nobans (pas de bans)"set levelc(27) "-xnobans- Utilisation: -xnobans - 3Retire un salon avec l

    'option nobans (pas de bans)"set levelc(28) "+xnotopic- Utilisation: +xnotopic - 3Ajoute un salon avecl'option notopic (pas de topic)"set levelc(29) "-xnotopic- Utilisation: -xnotopic - 3Retire un salon avecl'option notopic (pas de topic)"set levelc(30) "+xpermclose- Utilisation: +xpermclose - 3Ajoute un salonen permclose (toujours fermer)"set levelc(31) "-xpermclose- Utilisation: -xpermclose - 3Retire un salonen permclose (toujours fermer)"set levelc(32) "+xdeftopic- Utilisation: +xdeftopic - 3Ajoute l'auto topic d'un salon"set levelc(33) "-xdeftopic- Utilisation: -xdeftopic - 3Retire l'auto topic d'un salon"set levelc(34) "+xwelcome- Utilisation: +xwelcome - 3Ajoute la notice d'accueil d'un salon"set levelc(35) "-xwelcome- Utilisation: -xwelcome - 3Retire la notice d'accueil d'un salon"set levelc(36) "+xdefgline- Utilisation: +xdefgline - 3Ajoute un auto gline"set levelc(37) "-xdefgline- Utilisation: -xdefgline - 3Ajoute un autogline"set levelc(38) "+xdefkill- Utilisation: +xdefkill - 3Retireun auto kill"set levelc(39) "-xdefkill- Utilisation: -xdefkill - 3Retire un auto kill"

    set levelc(40) "5"

    set leveld(num) "7"

  • 7/17/2019 Eva TCL

    9/152

    set leveld(1) "1,1### 0Level D 13- 0Les Services Adminsitrateurs. 1###"set leveld(2) ""set leveld(3) "aop- Utilisation: aop - 3Permet de donner le status d'oprateur a quelqu'un sur un salon"set leveld(4) "adeop- Utilisation: adeop - 3Permet de retir le status d'oprateur a quelqu'un sur un salon"set leveld(5) "akick- Utilisation: akick - 3Permet de kic

    ker un utilisateur d'un salon"set leveld(6) "akill- Utilisation: akill - 3Permet de killer unutilisateur"set leveld(7) "5"

    set leveln(num) "10"set leveln(1) "1,1### 0Level n 13- 0Les Serveur Administrateurs. 1###"set leveln(2) ""set leveln(3) "addgeo- Utilisation: addgeo - 3Ajoute un Gofrontiste"set leveln(4) "addircop- Utilisation: addircop - 3Ajoute un IRCoprateur"

    set leveln(5) "addrs- Utilisation: addrs - 3Ajoute un ResponsableGofrontistes"set leveln(6) "addsa- Utilisation: addsa - 3Ajoute un Services Administrateurs"set leveln(7) "addadmin- Utilisation: addadmin - 3Ajoute un Serveur Administrateur"set leveln(8) "delacces- Utilisation: delacces - 3Supprime un accss"set leveln(9) "5"set leveln(10) "8,1.:: 0Fin du module d'Aide -Eva Service- 8::."

    bind dcc - xhelp dcc:xhelpproc dcc:xhelp {nick idx arg} {global intro levelnull levela levelb levelc leveld leveln

    sendlog "XHelp par$nick"putdcc $idx "$intro"putdcc $idx "\2"for {set x 1} {$x

  • 7/17/2019 Eva TCL

    10/152

    putdcc $idx "$leveln($x)"}}

    }

    bind msg - xhelp msg:xhelpproc msg:xhelp {nick uhost hand arg} {

    global intro levelnull levela levelb levelc leveld leveln evasendlog "XHelp par$nick"send ":$eva(nick) NOTICE $nick :$intro"send ":$eva(nick) NOTICE $nick :\2"for {set x 1} {$x

  • 7/17/2019 Eva TCL

    11/152

    }if {[matchattr $hand C]} {for {set x 1} {$x

  • 7/17/2019 Eva TCL

    12/152

    proc pub:operlist {nick uhost hand chan arg} {global eva

    if {![info exists eva(operlist)] || $eva(operlist)==""} {send ":$eva(nick) NOTICE $nick :\2Aucun opers prsents\2"return 0

    } else {send ":$eva(nick) NOTICE $nick :\2Liste des opers prsents:"

    foreach x $eva(operlist) {send ":$eva(nick) NOTICE $nick :$x"

    }}

    }

    ################---Geolist---################

    # Dcc

    bind dcc - geolist dcc:geolistproc dcc:geolist {nick idx arg} {global eva putdcc $idx "Voici la liste des gofrontistes loggu:" sendlog "XGolist par$nick" set fichier [fread login.tmp]

    regsub -all {;} $fichier { } aforeach b $a {

    set c [split $b :]putdcc $idx "\2Hand:\2 [lindex $c 0] - \2Nick\2: [lindex $c 1]"

    }}

    # Msg

    bind msg - geolist msg:geolistproc msg:geolist {nick uhost hand arg} {global eva send ":$eva(nick) NOTICE $nick :Voici la liste des gofrontistes loggu:" sendlog "XGolist par$nick" set fichier [fread login.tmp]

    regsub -all {;} $fichier { } aforeach b $a {

    set c [split $b :]send ":$eva(nick) NOTICE $nick :\2Hand:\2 [lindex $c 0] - \2Nick

    \2: [lindex $c 1]"}

    }

    # Pub

    bind pub - !geolist pub:geolistbind pub - .geolist pub:geolistproc pub:geolist {nick uhost hand chan arg} {global eva send ":$eva(nick) NOTICE $nick :Voici la liste des gofrontistes loggu:" set fichier [fread login.tmp]

    regsub -all {;} $fichier { } a

    foreach b $a {set c [split $b :]send ":$eva(nick) NOTICE $nick :\2Hand:\2 [lindex $c 0] - \2Nick

  • 7/17/2019 Eva TCL

    13/152

    \2: [lindex $c 1]"}

    }

    ################---Geosend---################

    bind pub - .geosend pub:.geosendproc pub:.geosend {nick uhost hand channel arg} {global evaif {$arg==""} {return 0}dccbroadcast "\002MSG\002 \[\002$nick@$channel\] $arg"

    set fichier [fread login.tmp]regsub -all {;} $fichier { } aforeach b $a {

    set c [split $b :]send ":$eva(nick) NOTICE [lindex $c 1] :\002MSG\002 \[\002$nick@

    $channel\] $arg"

    }}

    bind msg - geosend msg:geosendproc msg:geosend {nick uhost hand arg} {global evaif {$arg==""} {return 0}dccbroadcast "\002MSG\002 \[\002$nick\] $arg"

    set fichier [fread login.tmp]regsub -all {;} $fichier { } aforeach b $a {

    set c [split $b :]send ":$eva(nick) NOTICE [lindex $c 1] :\002MSG\002 \[\002$nick\

    ] $arg"}

    }

    ##############---Login---##############

    bind msg -|- login eva:loginproc eva:login {nick uhost hand arg} {global eva

    set login [lindex $arg 0]set pass [lindex $arg 1]if {$login=="" || $pass==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 login "

    return 0}if {![validuser $login]} {

    send ":$eva(nick) NOTICE $nick :\2$login user inconnu!"return 0

    }if {[passwdok $login ""]} {

    send ":$eva(nick) NOTICE $nick :\2Votre mot de passe n'est pas dfini!\2"

    return 0}if {[isauth $nick]} {

  • 7/17/2019 Eva TCL

    14/152

    send ":$eva(nick) NOTICE $nick :\2Vous tes dja identifi!"return 0

    }if {[getuser $login XTRA suspend]=="1"} {

    send ":$eva(nick) NOTICE $nick :\2Vous tes suspendu, vous ne pouvez plus utiliser le service pour le moment"

    return 0

    }if {[passwdok $login $pass]} {

    send ":$eva(nick) NOTICE $nick :\2Identification russie bienvenuesur le Service Eva!"

    sendlog "Login Par$nick - ($login)"anonce $nick $loginauth $nick $loginsend ":$eva(nick) INVITE $nick $eva(chan)"send ":$eva(nick) SAJOIN $nick $eva(chan)"send ":$eva(nick) INVITE $nick $eva(soho)"send ":$eva(nick) SAJOIN $nick $eva(soho)"send ":$eva(nick) MODE $eva(chan) +v $nick"

    } else {send ":$eva(nick) NOTICE $nick :\2Attention votre mot de pass est incorrect!"

    rater $nick}return 0

    }

    ########################## Level Geofrontiste: A #####################################---Xop--#

    ##########

    # MSG

    bind msg - xop msg:xopproc msg:xop {nick uhost hand arg} { global eva set salon [lindex $arg 0] set pseudo [lindex $arg 1] if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}

    if {$salon=="" || $pseudo=="" || ![string match *#* $salon]} { send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xop " return 0 } proc:xop $salon $pseudo $hand}

    # DCC

    bind dcc - xop dcc:xopproc dcc:xop {nick idx arg} { global eva

    set salon [lindex $arg 0] set pseudo [lindex $arg 1] if {![matchattr $nick A]} {

  • 7/17/2019 Eva TCL

    15/152

    avertdcc $nickreturn 0}

    if {$salon=="" || $pseudo=="" || ![string match *#* $salon]} { putdcc $idx "\2Utilisation:\2 xop " return 0 }

    proc:xop $salon $pseudo $nick}

    # Proc

    proc proc:xop {chan nick by} { global eva #putserv "MODE $chan +o $nick" send ":$eva(serv) MODE $chan +o $nick" sendlog "XOp sur$chan sur$nick par$by" putlog2 "Xop par $by : $nick sur $chan"}

    #############---Xdeop--#############

    # MSG

    bind msg - xdeop msg:xdeopproc msg:xdeop {nick uhost hand arg} { global eva set salon [lindex $arg 0] set pseudo [lindex $arg 1] if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}

    if {$salon=="" || $pseudo=="" || ![string match *#* $salon]} { send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xdeop " return 0 } proc:xdeop $salon $pseudo $hand}

    # DCC

    bind dcc - xdeop dcc:xdeopproc dcc:xdeop {nick idx arg} { global eva set salon [lindex $arg 0] set pseudo [lindex $arg 1] if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}

    if {$salon=="" || $pseudo=="" || ![string match *#* $salon]} { putdcc $idx "\2Utilisation:\2 xdeop " return 0 }

    proc:xdeop $salon $pseudo $nick}

  • 7/17/2019 Eva TCL

    16/152

    # Proc

    proc proc:xdeop {chan nick by} { global eva send ":$eva(serv) MODE $chan -o $nick" sendlog "XDeop sur$chan sur$nick par$by" putlog2 "Xdeop par $by : $nick sur $chan"

    }

    ##############---Xvoice--##############

    # MSG

    bind msg - xvoice msg:xvoiceproc msg:xvoice {nick uhost hand arg} { global eva set salon [lindex $arg 0]

    set pseudo [lindex $arg 1] if {![isauth $nick] || ![matchattr $hand A]} {avertmsg $nickreturn 0}

    if {$salon=="" || $pseudo=="" || ![string match *#* $salon]} { send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xvoice " return 0 } proc:xvoice $salon $pseudo $hand}

    # DCC

    bind dcc - xvoice dcc:xvoiceproc dcc:xvoice {nick idx arg} { global eva set salon [lindex $arg 0] set pseudo [lindex $arg 1] if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}

    if {$salon=="" || $pseudo=="" || ![string match *#* $salon]} { putdcc $idx "\2Utilisation:\2 xvoice " return 0 } proc:xvoice $salon $pseudo $nick}

    # Proc

    proc proc:xvoice {chan nick by} { global eva #putserv "MODE $chan +v $nick" send ":$eva(serv) MODE $chan +v $nick" sendlog "XVoice sur$chan sur$nick par$by" putlog2 "Xvoice par $by : $nick sur $chan"

    }

    ###############

  • 7/17/2019 Eva TCL

    17/152

    #---Xdevoice--################

    # MSG

    bind msg - xdevoice msg:xdevoiceproc msg:xdevoice {nick uhost hand arg} {

    global eva set salon [lindex $arg 0] set pseudo [lindex $arg 1] if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}

    if {$salon=="" || $pseudo=="" || ![string match *#* $salon]} { send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xdevoice " return 0 } proc:xdevoice $salon $pseudo $hand

    }# DCC

    bind dcc - xdevoice dcc:xdevoiceproc dcc:xdevoice {nick idx arg} { global eva set salon [lindex $arg 0] set pseudo [lindex $arg 1] if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}

    if {$salon=="" || $pseudo=="" || ![string match *#* $salon]} { putdcc $idx "\2Utilisation:\2 xdevoice " return 0 } proc:xdevoice $salon $pseudo $nick}

    # Proc

    proc proc:xdevoice {chan nick by} { global eva send ":$eva(serv) MODE $chan -v $nick" sendlog "XDevoice sur

    $chan

    sur

    $nick

    par

    $by"

    putlog2 "Xdevoice par $by : $nick sur $chan"}

    ###############---Xgline---###############

    # MSG

    bind msg - xgline msg:xglineproc msg:xgline {nick uhost hand arg} {

    global eva hostclone if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nick

  • 7/17/2019 Eva TCL

    18/152

    return 0}set arg [debug $arg]set victime [lindex $arg 0]set temps [lindex $arg 1]set raison [lrange $arg 2 end]set tueur "$hand"

    if {$victime==""} {send ":$eva(nick) NOTICE $nick :\002Utilisation:\002 xgline "return 0}if {$temps==""} {set temps "3600"}if {$raison==""} {set raison "Gros vilain!"}if [string match *@* $victime] {

    send ":$eva(nick) NOTICE $nick :\2Merci de Gline un host, non un user@host"return 0}if [string match *:* $temps] {

    set exp [string tolower [split $temps :]]if {[lindex $exp 1] == "s"} {

    set temps [lindex $exp 0]} elseif {[lindex $exp 1] == "m"} {

    set temps [expr [lindex $exp 0] * 60]} elseif {[lindex $exp 1] == "h"} {

    set temps [expr [lindex $exp 0] * 3600]} elseif {[lindex $exp 1] == "j"} {

    set temps [expr [lindex $exp 0] * 86400]} else {

    send ":$eva(nick) NOTICE $nick :Le format de la dure estinvalide. 'xhelp xgline' pour de l'aide"

    return 0}

    }if ![string match *.* $victime] {if ![info exists hostclone($victime)] {

    send ":$eva(nick) NOTICE $nick :Pseudo non connect! ($victime)"return 0}

    }proc:xgline $victime $temps $tueur $raison

    }

    # DCC

    bind dcc - xgline dcc:xglineproc dcc:xgline {nick idx arg} {global eva hostclone if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}

    set arg [debug $arg]set victime [lindex $arg 0]set temps [lindex $arg 1]

  • 7/17/2019 Eva TCL

    19/152

    set raison [lrange $arg 2 end]set tueur "$nick"if {$victime==""} {putdcc $idx "\002Utilisation:\002 xgline "return 0}if {$temps==""} {

    set temps "3600"}if {$raison==""} {set raison "Gros vilain!"}if [string match *@* $victime] {putdcc $idx "\2Merci de gline un host, non un user@host"return 0}if [string match *:* $temps] {

    set exp [string tolower [split $temps :]]if {[lindex $exp 1] == "s"} {

    set temps [lindex $exp 0]} elseif {[lindex $exp 1] == "m"} {set temps [expr [lindex $exp 0] * 60]

    } elseif {[lindex $exp 1] == "h"} {set temps [expr [lindex $exp 0] * 3600]

    } elseif {[lindex $exp 1] == "j"} {set temps [expr [lindex $exp 0] * 86400]

    } else {putdcc $idx "Le format de la dure est invalide. 'xhelp xg

    line' pour de l'aide"return 0

    }}

    if ![string match *.* $victime] {if ![info exists hostclone($victime)] {

    putdcc $idx "Pseudo non connect! ($victime)"return 0}

    }proc:xgline $victime $temps $tueur $raison

    }

    # Proc

    proc proc:xgline {victime time by raison} {global eva hostclone clone

    if [string match *.* $victime] {if [info exists clone($victime)] {set nb "$clone($victime)"}if ![info exists clone($victime)] {set nb "0"}gline $victime $time $by "$raison"sendlog "XGlined ($nb)*@$victime - Temps en secondes:$time -Pour la raiso

    n:$raison - par:$by"putlog2 "Xgline par $by : $victime pendant $time secondes ($raison)"return 0}if ![string match *.* $victime] {set tmp "$hostclone($victime)"if [info exists clone($tmp)] {set nb "$clone($tmp)"}

    if ![info exists clone($tmp)] {set nb "0"}gline $tmp $time $by "$raison"sendlog "XGlined ($nb)*@$hostclone($victime) - Temps en secondes:$time - P

  • 7/17/2019 Eva TCL

    20/152

    our la raison:$raison - par:$by"putlog2 "Xgline par $by : $tmp pendant $time secondes ($raison)"return 0

    }}

    ################

    #---Xungline---#################

    # MSG

    bind msg - xungline msg:xunglineproc msg:xungline {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}

    set host [lindex $arg 0]if {$host==""} {send ":$eva(nick) NOTICE $nick :\002Utilisation:\002 xungline "return 0}proc:xungline $host $hand

    }

    # DCC

    bind dcc - xungline dcc:xunglineproc dcc:xungline {nick idx arg} {global eva

    if {![matchattr $nick A]} {avertdcc $nickreturn 0}set host [lindex $arg 0]if {$host==""} {putdcc $idx "\002Utilisation:\002 xungline "return 0}proc:xungline $host $nick

    }

    # Proc

    proc proc:xungline {host by} {global eva

    send ":$eva(serv) GLINE * -$host"sendlog "XUnGlined sur$host par$by"

    }

    ##############---Xmode---##############

    # MSG

    bind msg - xmode msg:xmodeproc msg:xmode {nick uhost hand arg} {

  • 7/17/2019 Eva TCL

    21/152

    global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set salon [lindex $arg 0]set mode [lrange $arg 1 end]

    if {$salon=="" || $mode==""} {send ":$eva(nick) NOTICE $nick :\002Utilisation:\002 xmode "return 0}proc:xmode $salon $hand $mode

    }

    # DCC

    bind dcc - xmode dcc:xmodeproc dcc:xmode {nick idx arg} {

    global eva if {![matchattr $nick A]} {avertdcc $nickreturn 0}set salon [lindex $arg 0]set mode [lrange $arg 1 end]if {$salon=="" || $mode==""} {putdcc $idx "\002Utilisation:\002 xmode "return 0}proc:xmode $salon $nick $mode

    }

    # Proc

    proc proc:xmode {salon by mode} {global eva

    send ":$eva(serv) MODE $salon $mode"sendlog "XModes sur$salon - Mode(s):$mode - par$by"putlog2 "Xmode par $by : $mode sur $salon"

    }

    ###############---Xglist---###############

    # MSG

    bind msg - xglist msg:xglistproc msg:xglist {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set eva(act) "2"

    set eva(nick2) "$nick"send ":$eva(nick) STATS G"sendlog "XGlist par$hand"

  • 7/17/2019 Eva TCL

    22/152

    }

    # DCC

    bind dcc - xglist dcc:xglistproc dcc:xglist {nick idx arg} {global eva

    if {![matchattr $nick A]} {avertdcc $nickreturn 0}set eva(act) "2bis"set eva(idx2) "$idx"send ":$eva(nick) STATS G"sendlog "XGlist par$nick"

    }

    #############---Xban---#

    ############# MSG

    bind msg - xban msg:xbanproc msg:xban {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}

    set salon [lindex $arg 0] set victime [lindex $arg 1]

    if {$salon=="" || $victime=="" || ![string match *#* $salon] } { send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xban " return 0 }

    proc:xban $salon $victime $hand}

    # DCC

    bind dcc - xban dcc:xbanproc dcc:xban {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}

    set salon [lindex $arg 0] set victime [lindex $arg 1] if {$salon=="" || $victime=="" || ![string match *#* $salon] } { send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xban " return 0 }

    proc:xban $salon $victime $nick

    }

    # Proc

  • 7/17/2019 Eva TCL

    23/152

    proc proc:xban {salon victime by} {global eva if [string match *!*@*.* $victime] { send ":$eva(serv) MODE $salon +b $victime"sendlog "XBanned sur$salon sur$victime par$by"

    putlog2 "Xban par $by : $victime sur $salon"

    return 0 } if [string match *@*.* $victime] { send ":$eva(serv) MODE $salon +b *!$victime"sendlog "XBanned sur$salon sur$victime par$by"

    putlog2 "Xban par $by : $victime sur $salon" return 0 } if [string match *.* $victime] { send ":$eva(serv) MODE $salon +b *!*@$victime"sendlog "XBanned sur$salon sur$victime par$by"

    putlog2 "Xban par $by : $victime sur $salon"

    return 0 } if ![string match *.* $victime] { set eva(salonban) "$salon" set eva(act) "3" send ":$eva(nick) WHO $victime" sendlog "XBanned sur$salon sur$victime par$by" putlog2 "Xban par $by : $victime sur $salon" return 0 } if {$victime=="*"} { set eva(salonban) "$salon" sendlog "XBanned $by essay de bannir *(All) sur$salon - INTERDIT !"

    putserv "NOTICE $by :Erreur: Vous n'tes pas autoris mettre ce ban !" return 0 }}

    ###############---Xunban---###############

    # MSG

    bind msg - xunban msg:xunbanproc msg:xunban {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}

    set salon [lindex $arg 0] set host [lindex $arg 1]

    if {$salon=="" || $host=="" || ![string match *#* $salon] } {send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xunban "return 0}proc:xunban $salon $host $hand

    }

    # DCC

  • 7/17/2019 Eva TCL

    24/152

    bind dcc - xunban dcc:xunbanproc dcc:xunban {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0

    } set salon [lindex $arg 0] set host [lindex $arg 1]

    if {$salon=="" || $host=="" || ![string match *#* $salon] } {putdcc $idx "\2Utilisation:\2 xunban "return 0}proc:xunban $salon $host $nick

    }

    # Proc

    proc proc:xunban {salon host by} {global evasend ":$eva(serv) MODE $salon -b $host"sendlog "XUnBanned sur$salon sur$host - par$by"

    }

    ###############---Xtopic---###############

    # MSG

    bind msg - xtopic msg:xtopic

    proc msg:xtopic {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set arg [debug $arg]set salon [lindex $arg 0]set topic [lrange $arg 1 end]if {$salon=="" || $topic=="" || ![string match *#* $salon] } {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xtopic "

    return 0}proc:xtopic $salon $hand $topic

    }

    # DCC

    bind dcc - xtopic dcc:xtopicproc dcc:xtopic {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0

    }set arg [debug $arg]set salon [lindex $arg 0]

  • 7/17/2019 Eva TCL

    25/152

    set topic [lrange $arg 1 end]if {$salon=="" || $topic=="" || ![string match *#* $salon] } {

    putdcc $idx "\2Utilisation:\2 xtopic "return 0

    }proc:xtopic $salon $nick $topic

    }

    # Proc

    proc proc:xtopic {salon by topic} {global eva

    send ":$eva(nick) JOIN $salon"send ":$eva(nick) MODE $salon x+o $eva(nick)"send ":$eva(nick) TOPIC $salon :$topic"sendlog "XTopic sur$salon - Topic:$topic - par$by"putlog2 "Xtopic par $by : $salon ($topic)"set eva(xpermclose) "[fread xpermclose.db]"if {$salon!="$eva(chan)" && $salon!="$eva(chanbot)" && $salon!="$eva(soh

    o)" && [isxclose $salon]!="1" && [isindb $eva(xpermclose) $salon]==-1} {send ":$eva(nick) PART $salon"}}

    ####################---Xclearmodes---####################

    # MSG

    bind msg - xclearmodes msg:xclearmodesproc msg:xclearmodes {nick uhost hand arg} {global eva

    if {![isauth $nick] || ![matchattr $hand A]} {avertmsg $nickreturn 0}set salon [lindex $arg 0]if {$salon == "" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xclearmodes "

    return 0}proc:xclearmodes $salon $hand

    }

    # DCC

    bind dcc - xclearmodes dcc:xclearmodesproc dcc:xclearmodes {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set salon [lindex $arg 0]if {$salon == "" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xclearmodes "

    return 0}proc:xclearmodes $salon $nick

  • 7/17/2019 Eva TCL

    26/152

    }

    # Proc

    proc proc:xclearmodes {salon by} {global eva

    set eva(act) "4"

    send ":$eva(serv) MODE $salon +b-imntsplkbcOCN *!*@* * *!*@*"send ":$eva(nick) WHO $salon x"sendlog "XClearModes sur$salon - par$by"putlog2 "Xclearmodes par $by : $salon"

    }

    ##################---Xhostkill---##################

    # MSG

    bind msg - xhostkill msg:xhostkillproc msg:xhostkill {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set host [lindex $arg 0]if {$host == ""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xhostkill "

    return 0}

    if {[string match *@* $host]} {send ":$eva(nick) NOTICE $nick :\2Merci de ne pas entrer d'Ident

    "return 0

    }proc:xhostkill $host $hand

    }

    # DCC

    bind dcc - xhostkill dcc:xhostkillproc dcc:xhostkill {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set host [lindex $arg 0]if {$host == ""} {

    putdcc $idx "\2Utilisation:\2 xhostkill "return 0

    }if {[string match *@* $host]} {

    putdcc $idx "\2Merci de ne pas entrer d'ident"return 0

    }proc:xhostkill $host $nick

    }

  • 7/17/2019 Eva TCL

    27/152

    # Proc

    proc proc:xhostkill {host by} {global eva

    set eva(act) "5"set eva(killeur) "$by"

    send ":$eva(nick) WHO $host x"sendlog "XHostKill sur$host - par$by"putlog2 "XHostkill par $by : $host"

    }

    ##############---Xkill---##############

    # MSG

    bind msg - xkill msg:xkill

    proc msg:xkill {nick uhost hand arg} {global eva hostclone if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set arg [debug $arg]set pseudo [lindex $arg 0]set raison [lrange $arg 1 end]if {$pseudo==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xkill "

    return 0

    }if {$raison==""} { set raison "Gros vilain!" }if ![info exists hostclone($pseudo)] {

    send ":$eva(nick) NOTICE $nick :\2Nick non connect"return 0

    }proc:xkill $pseudo $hand $raison

    }

    # DCC

    bind dcc - xkill dcc:xkillproc dcc:xkill {nick idx arg} {global eva hostclone if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set arg [debug $arg]set pseudo [lindex $arg 0]set raison [lrange $arg 1 end]if {$pseudo==""} {

    putdcc $idx "\2Utilisation:\2 xkill "return 0

    }

    if {$raison==""} { set raison "Gros vilain!" }if ![info exists hostclone($pseudo)] {

    putdcc $idx "\2Nick non connect"

  • 7/17/2019 Eva TCL

    28/152

    return 0}proc:xkill $pseudo $nick $raison

    }

    # Proc

    proc proc:xkill {pseudo by raison} {global eva hostclone xwho userserv

    set pseudo [debug $pseudo]set raison [debug $raison]sendlog "XKilled sur$pseudo - Pour la raison:$raison - par$by"kill $pseudo $by "$raison"putlog2 "XKill par $by : $pseudo ($raison)"

    }

    ###############---Xclose---###############

    # MSG

    bind msg - xclose msg:xcloseproc msg:xclose {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xclose

    "return 0

    }proc:xclose $salon $hand

    }

    # DCC

    bind dcc - xclose dcc:xcloseproc dcc:xclose {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xclose "return 0

    }proc:xclose $salon $nick

    }

    # Proc

    proc proc:xclose {chan by} {global eva

    set eva(xpermclose) "[fread xpermclose.db]"

  • 7/17/2019 Eva TCL

    29/152

    if {$chan=="$eva(chan)" || $chan=="$eva(chanbot)" || $chan=="$eva(soho)"|| [isindb $eva(xpermclose) $chan]!=-1} {return 0} set eva(act) "1" send ":$eva(nick) JOIN $chan x" sendlog "XClosed sur$chan - par$by" send ":$eva(nick) MODE $chan +ov $eva(nick) $eva(nick)" send ":$eva(nick) MODE $chan +ims"

    send ":$eva(nick) TOPIC $chan :$eva(topic)" send ":$eva(nick) WHO $chan" xclose $chan putlog2 "Xclose par $by : $chan"}

    ##################---Xchankill---##################

    # MSG

    bind msg - xchankill msg:xchankillproc msg:xchankill {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xchankill "

    return 0}

    proc:xchankill $salon $hand}

    # DCC

    bind dcc - xchankill dcc:xchankillproc dcc:xchankill {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xchankill "return 0

    }proc:xchankill $salon $nick

    }

    # Proc

    proc proc:xchankill {chan by} {global eva

    set eva(xpermclose) "[fread xpermclose.db]"

    if {$chan=="$eva(chan)" || $chan=="$eva(chanbot)" || $chan=="$eva(soho)"|| [isindb $eva(xpermclose) $chan]!=-1} {return 0} set eva(act) "6"

  • 7/17/2019 Eva TCL

    30/152

    send ":$eva(nick) JOIN $chan" sendlog "XChanKilled sur$chan - par$by" send ":$eva(nick) MODE $chan +o $eva(nick)" send ":$eva(nick) MODE $chan +ntsim" send ":$eva(nick) TOPIC $chan :$eva(topic)" send ":$eva(nick) WHO $chan" xclose $chan

    putlog2 "XChankill par $by : $chan"}

    ##############---Xwall---##############

    # MSG

    bind msg - xwall msg:xwallproc msg:xwall {nick uhost hand arg} {global eva

    if {![isauth $nick] || ![matchattr $hand A]} {avertmsg $nickreturn 0}set msg [lrange $arg 0 end]if {$msg==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xwall "

    return 0}proc:xwall $hand $msg

    }

    # DCC

    bind dcc - xwall dcc:xwallproc dcc:xwall {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set msg [lrange $arg 0 end]if {$msg==""} {

    putdcc $idx "\2Utilisation:\2 xwall "return 0

    }proc:xwall $nick $msg

    }

    # Proc

    proc proc:xwall {by msg} {global eva

    send ":$eva(nick) NOTICE $*.* :\2(Notice Global)\2 $msg - $by"sendlog "XWall Message:$msg - par$by"

    }

    #################---Xwallops---#################

  • 7/17/2019 Eva TCL

    31/152

  • 7/17/2019 Eva TCL

    32/152

    if {$salon=="" || $nick=="" || ![string match *#* $salon]} {send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xkick

    "return 0

    }if {$raison==""} {set raison "Gros vilain!"}proc:xkick $salon $pseudo $hand $raison

    }

    # DCC

    bind dcc - xkick dcc:xkickproc dcc:xkick {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set salon [lindex $arg 0]

    set pseudo [lindex $arg 1]set raison [lrange $arg 2 end]if {$salon=="" || $nick=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xkick "

    return 0}if {$raison==""} {set raison "Gros vilain!"}proc:xkick $salon $pseudo $nick $raison

    }

    # Proc

    proc proc:xkick {chan nick by raison} {global eva

    send ":$eva(serv) KICK $chan $nick :$raison - $by"sendlog "XKicked sur$chan sur$nick - Pour la raison:$raison - par$by"putlog2 "XKick par $by : $nick sur $chan ($raison)"

    }

    #################---Xkickban---#################

    # MSG

    bind msg - xkickban msg:xkickbanproc msg:xkickban {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set salon [lindex $arg 0]set pseudo [lindex $arg 1]set raison [lrange $arg 2 end]if {$salon=="" || $nick=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xkickban "

    return 0

  • 7/17/2019 Eva TCL

    33/152

    }if {$raison==""} {set raison "Gros vilain!"}proc:xkickban $salon $pseudo $hand $raison

    }

    # DCC

    bind dcc - xkickban dcc:xkickbanproc dcc:xkickban {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set salon [lindex $arg 0]set pseudo [lindex $arg 1]set raison [lrange $arg 2 end]if {$salon=="" || $nick=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xkickban "return 0}if {$raison==""} {set raison "Gros vilain!"}proc:xkickban $salon $pseudo $nick $raison

    }

    # Proc

    proc proc:xkickban {salon victime by raison} {global eva

    set eva(salonban) "$salon"set eva(act) "3"

    send ":$eva(serv) KICK $salon $victime :$raison - $by"send ":$eva(nick) WHO $victime"sendlog "XKickBan sur$salon sur$victime - Pour la raison:$raison - par$by"putlog2 "Xkickban par $by : $victime sur $salon ($raison)"

    }

    ###################---Xlistclose---###################

    # MSG

    bind msg - xlistclose msg:xlistcloseproc msg:xlistclose {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}if {![info exists eva(closelist)] || $eva(closelist)==""} {

    send ":$eva(nick) NOTICE $nick :\2Aucun salons ferm"return 0

    }send ":$eva(nick) NOTICE $nick :\2Liste des salons ferm:"

    foreach a $eva(closelist) {

    send ":$eva(nick) NOTICE $nick :$a"}

    }

  • 7/17/2019 Eva TCL

    34/152

    # DCC

    bind dcc - xlistclose dcc:xlistcloseproc dcc:xlistclose {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}if {![info exists eva(closelist)] || $eva(closelist)==""} {

    putdcc $idx "\2Aucun salons ferm!"return 0

    }putdcc $idx "\2Liste des salons ferm:"

    foreach a $eva(closelist) {putdcc $idx "$a"

    }}

    #################---Xunclose---#################

    # MSG

    bind msg - xunclose msg:xuncloseproc msg:xunclose {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nick

    return 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xunclose "

    return 0}xopen $salonsendlog "XUnClosed sur$salon - par$hand"putlog2 "Xunclose par $hand : $salon"

    }

    # DCC

    bind dcc - xunclose dcc:xuncloseproc dcc:xunclose {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xunclose "

    return 0}xopen $salon

  • 7/17/2019 Eva TCL

    35/152

    sendlog "XUnClosed - Sur$salon par$nick"putlog2 "Xunclose par $nick : $salon"

    }

    ##################---Xinviteme---##################

    # MSG

    bind msg - xinviteme msg:xinvitemeproc msg:xinviteme {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set pseudo [lindex $arg 0]if {$pseudo==""} {set pseudo "$nick"}

    proc:xinviteme $pseudo $hand}

    # DCC

    bind dcc - xinviteme dcc:xinvitemeproc dcc:xinviteme {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set pseudo [lindex $arg 0]

    if {$pseudo==""} {putdcc $idx "\2Utilisation:\2 xinviteme "return 0

    }proc:xinviteme $pseudo $nick

    }

    # Proc

    proc proc:xinviteme {pseudo by} {global eva

    send ":$eva(nick) INVITE $pseudo $eva(chan)"sendlog "XInviteMe sur

    $pseudo

    - par

    $by"

    putlog2 "Xinviteme par $by : $pseudo"}

    ################---Xinvite---################

    # MSG

    bind msg - xinvite msg:xinviteproc msg:xinvite {nick uhost hand arg} {global eva

    if {![isauth $nick] || ![matchattr $hand A]} {avertmsg $nickreturn 0

  • 7/17/2019 Eva TCL

    36/152

    }set pseudo [lindex $arg 0]set salon [lindex $arg 1]if {$salon=="" || $pseudo=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xinvite "

    return 0

    }proc:xinvite $pseudo $salon $hand

    }

    # DCC

    bind dcc - xinvite dcc:xinviteproc dcc:xinvite {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0

    }set pseudo [lindex $arg 0]set salon [lindex $arg 1]if {$salon=="" || $pseudo=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xinvite "return 0

    }proc:xinvite $pseudo $salon $nick

    }

    # Proc

    proc proc:xinvite {pseudo salon by} {

    global evasendlog "XInvite sur$pseudo - Sur$salon - par$by"send ":$eva(nick) INVITE $pseudo $salon"putlog2 "Xinvite par $by : $pseudo sur $salon"set eva(xpermclose) "[fread xpermclose.db]"if {$salon!="$eva(chan)" && $salon!="$eva(chanbot)" && $salon!="$eva(soh

    o)" && [isxclose $salon]!="1" && [isindb $eva(xpermclose) $salon]==-1} {send ":$eva(nick) PART $salon"}}

    ##################---Xopersend---##################

    # MSG

    bind msg - xopersend msg:xopersendproc msg:xopersend {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set msg [lrange $arg 0 end]if {$msg==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xopersend "

    return 0

  • 7/17/2019 Eva TCL

    37/152

    }proc:xopersend $hand $msg

    }

    # DCC

    bind dcc - xopersend dcc:xopersend

    proc dcc:xopersend {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set msg [lrange $arg 0 end]if {$msg==""} {

    putdcc $idx "\2Utilisation:\2 xopersend "return 0

    }proc:xopersend $nick $msg

    }# Proc

    proc proc:xopersend {by msg} {global eva

    if {![info exists eva(operlist)] || $eva(operlist)==""} {return 0}foreach a $eva(operlist) {

    send ":$eva(serv) NOTICE $a :$msg - $by"}sendlog "XOperSEND - Message:$msg - par$by"

    }

    ##############---Xsecu---##############

    # MSG

    bind msg - xsecu msg:xsecuproc msg:xsecu {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set raison [lrange $arg 0 end]if {$raison==""} {set raison "inconnue"}proc:xsecu $hand $raison

    }

    # DCC

    bind dcc - xsecu dcc:xsecuproc dcc:xsecu {nick idx arg} {global eva

    if {![matchattr $nick A]} {avertdcc $nickreturn 0

  • 7/17/2019 Eva TCL

    38/152

    }set raison [lrange $arg 0 end]if {$raison==""} {set raison "inconnue"}proc:xsecu $nick $raison

    }

    # Proc

    proc proc:xsecu {by raison} {global eva

    sendlog "XScurit - Raison:$raison - par$by"if {$eva(secu)=="on"} { return 0 }

    set eva(secu) "on" foreach a $eva(chanoff) { send ":$eva(nick) JOIN $a" send ":$eva(nick) MODE $a x+omis $eva(nick)" send ":$eva(nick) PRIVMSG $a :4Les salons !Officiels! sont bloqus pour la raison: $raison - Par $by"

    }

    timer 1 secu2timer 2 secuoff}

    proc secu2 {} {global eva foreach a $eva(chanoff) { send ":$eva(nick) MODE $a -ms" send ":$eva(nick) PRIVMSG $a :4Vous pouvez reprendre votre discution, le salon reste partiellement bloqu aux utilisateurs!"}}

    proc secuoff {} {global eva foreach a $eva(chanoff) { send ":$eva(nick) PRIVMSG $a :4Fin de la Protection..." send ":$eva(nick) MODE $a -i" check_badchan $a set eva(xpermclose) "[fread xpermclose.db]" if {$a=="$eva(chan)" || $a=="$eva(chanbot)" || $a=="$eva(soho)" || [isxclose $a]=="1" || [isindb $eva(xpermclose) $a]!=-1} {return 0} send ":$eva(nick) PART $a"} set eva(secu) "off"}

    ###################---Xnoconnect---###################

    # MSG

    bind msg - xnoconnect msg:xnoconnectproc msg:xnoconnect {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nick

    return 0}if {$eva(nocon)=="1"} {

  • 7/17/2019 Eva TCL

    39/152

    set eva(nocon) "0"putlog2 "Xnoconnect Dsactiv par $hand"send ":$eva(nick) NOTICE $nick :\2No connect dsactiv!"sendlog "XNoConnect --DESACTIVE-- par $hand"return 0}if {$eva(nocon)=="0"} {

    set eva(nocon) "1"putlog2 "Xnoconnect Activ par $hand"send ":$eva(nick) NOTICE $nick :\2No connect activ!"sendlog "XNoConnect --ACTIVE-- par $hand"return 0}

    }

    # DCC

    bind dcc - xnoconnect dcc:xnoconnectproc dcc:xnoconnect {nick idx arg} {

    global eva if {![matchattr $nick A]} {avertdcc $nickreturn 0}if {$eva(nocon)=="1"} {set eva(nocon) "0"putlog2 "Xnoconnect Dsactiv par $nick"putdcc $idx "\2No connect Dsactiv!"sendlog "XNoConnect --DESACTIVE-- par $nick"return 0}if {$eva(nocon)=="0"} {

    set eva(nocon) "1"putdcc $idx "\2No connect Activ!"putlog2 "Xnoconnect Activ par $nick"sendlog "XNoConnect --ACTIVE-- par $nick"return 0}

    }

    #############---Xwho---#############

    # MSG

    bind msg - xwho msg:xwhoproc msg:xwho {nick uhost hand arg} {global eva clone xwho if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set host [lindex $arg 0]if {$host==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xwho "

    }if {[string match *.* $host]} {

    send ":$eva(nick) NOTICE $nick :Il y $clone($host) de personne sur

  • 7/17/2019 Eva TCL

    40/152

    $host ($xwho($host))"sendlog "XWho sur$host - par$hand"return 0

    } else {set eva(act) "7"set eva(nick2) "$nick"send ":$eva(nick) WHO $host x"

    sendlog "XWho sur$host - par$hand"}

    }

    # DCC

    bind dcc - xwho dcc:xwhoproc dcc:xwho {nick idx arg} {global eva clone xwho if {![matchattr $nick A]} {

    avertdcc $nickreturn 0

    }set host [lindex $arg 0]if {$host==""} {

    putdcc $idx "\2Utilisation:\2 xwho "}if {[string match *.* $host]} {

    putdcc $idx "Il y $clone($host) de personne sur$host - ($xwho($host))"

    sendlog "31 XWho 31 sur$host - par$nick"return 0

    } else {set eva(act) "7bis"set eva(idx2) "$idx"

    send ":$eva(nick) WHO $host x"sendlog "XWho sur$host - par$nick"}

    }###############---Xwhois---###############

    # MSG

    bind msg - xwhois msg:xwhoisproc msg:xwhois {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set pseudo [lindex $arg 0]if {$pseudo==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xwhois "

    return 0}set eva(nick2) "$nick"set eva(act) "8"

    sendlog "XWhois sur$pseudo - par$hand"send ":$eva(nick) WHOIS $pseudo"

    }

  • 7/17/2019 Eva TCL

    41/152

    # DCC

    bind dcc - xwhois dcc:xwhoisproc dcc:xwhois {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set pseudo [lindex $arg 0]if {$pseudo==""} {

    putdcc $idx "\2Utilisation:\2 xwhois "return 0

    }set eva(idx2) "$idx"set eva(act) "8bis"sendlog "XWhois sur$pseudo - par$nick"send ":$eva(nick) WHOIS $pseudo"

    }#################---Xcollide---#################

    # MSG

    bind msg - xcollide msg:xcollideproc msg:xcollide {nick uhost hand arg} {global eva hostclone if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nick

    return 0}set pseudo [lindex $arg 0]if {$pseudo==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xcollide "

    return 0}if {![info exists hostclone($pseudo)]} {

    send ":$eva(nick) NOTICE $nick :\2Erreur:\2 Ce pseudo n'est pasconnect"

    return 0}proc:xcollide $pseudo $hand

    }

    # DCC

    bind dcc - xcollide dcc:xcollideproc dcc:xcollide {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}

    set pseudo [lindex $arg 0]if {$pseudo==""} {

    putdcc $idx "\2Utilisation:\2 xcollide "

  • 7/17/2019 Eva TCL

    42/152

    return 0}if {![info exists hostclone($pseudo)]} {

    putdcc $idx "\2Erreur:\2 Ce pseudo n'est pas connect!"return 0

    }proc:xcollide $pseudo $nick

    }

    # Proc

    proc proc:xcollide {pseudo by} {global eva

    sendlog "XCollide sur$pseudo - par$by"send ":$eva(serv) NICK $pseudo 1 1 xxx collide.diogene $eva(serv) :XColl

    ider"send ":$pseudo QUIT :Left IRC Server!"putlog2 "Xcollide par $by : $pseudo"

    }

    ################### Level IRCop: B #################################---Xjoin---##############

    # MSG

    bind msg - xjoin msg:xjoinproc msg:xjoin {nick uhost hand arg} {

    global evaset arg [debug $arg]

    if {![isauth $nick] || ![matchattr $hand B]} {avertmsg $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xjoin "return 0

    }proc:xjoin $salon $hand

    }

    # DCC

    bind dcc - xjoin dcc:xjoinproc dcc:xjoin {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set salon [lindex $arg 0]

    if {$salon=="" || ![string match *#* $salon]} {putdcc $idx "\2Utilisation:\2 xjoin "return 0

  • 7/17/2019 Eva TCL

    43/152

    }proc:xjoin $salon $nick

    }

    # Proc

    proc proc:xjoin {salon by} {

    global evasendlog "XJoin - EVA sur$salon - par$by"send ":$eva(nick) JOIN $salon"send ":$eva(nick) MODE $salon +o $eva(nick)"putlog2 "Xjoin par $by : sur $salon"

    }

    ##############---Xpart---##############

    # MSG

    bind msg - xpart msg:xpartproc msg:xpart {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xpart "return 0

    }if {[isxclose $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Erreur:\2 Salon XClose!"return 0

    }proc:xpart $salon $hand

    }

    # DCC

    bind dcc - xpart dcc:xpartproc dcc:xpart {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xpart "return 0

    }if {[isxclose $salon]} {

    putdcc $idx "\2Erreur:\2 Ce salon est xclose!"

    return 0}proc:xpart $salon $nick

  • 7/17/2019 Eva TCL

    44/152

    }

    # Proc

    proc proc:xpart {salon by} {global eva

    set eva(xpermclose) "[fread xpermclose.db]"

    if {$salon!="$eva(chan)" && $salon!="$eva(chanbot)" && $salon!="$eva(soho)" && [isxclose $salon]!="1" && [isindb $eva(xpermclose) $salon]==-1} {send ":$eva(nick) PART $salon"}

    sendlog "XPart - EVA sur$salon - par$by"putlog2 "XPart par $by : de $salon"

    }

    #################---Xsvsnick---#################

    # MSG

    bind msg - xsvsnick msg:xsvsnickproc msg:xsvsnick {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}set pseudo [lindex $arg 0]set newpseudo [lindex $arg 1]if {$pseudo=="" || $newpseudo==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xsvsnick

    "return 0

    }proc:xsvsnick $pseudo $newpseudo $hand

    }

    # DCC

    bind dcc - xsvsnick dcc:xsvsnickproc dcc:xsvsnick {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set pseudo [lindex $arg 0]set newpseudo [lindex $arg 1]if {$pseudo=="" || $newpseudo==""} {

    putdcc $idx "\2Utilisation:\2 xsvsnick "return 0

    }proc:xsvsnick $pseudo $newpseudo $nick

    }

    # Proc

    proc proc:xsvsnick {nick newnick by} {

  • 7/17/2019 Eva TCL

    45/152

    global evasendlog "XSvsNick sur$nick - En:$newnick - par$by"send ":$eva(nick) SVSNICK $nick $newnick"putlog2 "Xsvsnick par $by : $nick en $newnick"

    }

    ################

    #---Xkickall---#################

    # MSG

    bind msg - xkickall msg:xkickallproc msg:xkickall {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0

    }set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xkickall #salon"

    return 0}proc:xkickall $salon $hand

    }

    # DCC

    bind dcc - xkickall dcc:xkickall

    proc dcc:xkickall {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xkickall #salon"return 0

    }proc:xkickall $salon $nick

    }

    # Proc

    proc proc:xkickall {salon by} {global eva

    sendlog "XKickAll sur$salon - par$by"set eva(act) "9"send ":$eva(nick) WHO $salon x"putlog2 "Xkickall par $by : sur $salon"

    }

    ###############---Xopall---###############

  • 7/17/2019 Eva TCL

    46/152

    # MSG

    bind msg - xopall msg:xopallproc msg:xopall {nick uhost hand arg} {global eva

    set arg [debug $arg]

    if {![isauth $nick] || ![matchattr $hand B]} {avertmsg $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xopall #salon"return 0

    }proc:xopall $salon $hand

    }

    # DCCbind dcc - xopall dcc:xopallproc dcc:xopall {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xopall #salon"

    return 0}proc:xopall $salon $nick

    }

    # Proc

    proc proc:xopall {salon by} {global eva

    set eva(act) "10"sendlog "XOpAll sur$salon - par$by"send ":$eva(nick) WHO $salon x"putlog2 "Xopall par $by : sur $salon"

    }

    #################---Xdeopall---#################

    # MSG

    bind msg - xdeopall msg:xdeopallproc msg:xdeopall {nick uhost hand arg} {global eva

    set arg [debug $arg]

    if {![isauth $nick] || ![matchattr $hand B]} {avertmsg $nickreturn 0

  • 7/17/2019 Eva TCL

    47/152

    }set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xdeopall #salon"

    return 0}

    proc:xdeopall $salon $hand}

    # DCC

    bind dcc - xdeopall dcc:xdeopallproc dcc:xdeopall {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0

    }set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xdeopall #salon"return 0

    }proc:xdeopall $salon $nick

    }

    # Proc

    proc proc:xdeopall {salon by} {global eva

    set eva(act) "11"sendlog "XDeopAll sur$salon - par$by"send ":$eva(nick) WHO $salon"putlog2 "Xdeopall par $by : sur $salon"

    }

    ##################---Xvoiceall---##################

    # MSG

    bind msg - xvoiceall msg:xvoiceallproc msg:xvoiceall {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xvoiceall #salon"

    return 0

    }proc:xvoiceall $salon $hand

    }

  • 7/17/2019 Eva TCL

    48/152

    # DCC

    bind dcc - xvoiceall dcc:xvoiceallproc dcc:xvoiceall {nick idx arg} {global eva

    set arg [debug $arg]

    if {![matchattr $nick B]} {avertdcc $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xvoiceall #salon"return 0

    }proc:xvoiceall $salon $nick

    }

    # Procproc proc:xvoiceall {salon by} {global eva

    set eva(act) "12"sendlog "XVoiceAll sur$salon - par$by"send ":$eva(nick) WHO $salon"putlog2 "Xvoiceall par $by : sur $salon"

    }

    ####################---Xdevoiceall---####################

    # MSG

    bind msg - xdevoiceall msg:xdevoiceallproc msg:xdevoiceall {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xdevoiceall #salon"

    return 0}proc:xdevoiceall $salon $hand

    }

    # DCC

    bind dcc - xdevoiceall dcc:xdevoiceallproc dcc:xdevoiceall {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nick

  • 7/17/2019 Eva TCL

    49/152

    return 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xdevoiceall #salon"return 0

    }

    proc:xdevoiceall $salon $nick}

    # Proc

    proc proc:xdevoiceall {salon by} {global eva

    set eva(act) "13"sendlog "XDevoiceAll sur$salon - par$by"send ":$eva(nick) WHO $salon"putlog2 "Xdevoiceall par $by : sur $salon"

    }

    #######################################---Xcleargline---##---Xunglineall---#######################################

    # MSG

    bind msg - xunglineall msg:xclearglinebind msg - xcleargline msg:xclearglineproc msg:xcleargline {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}proc:xcleargline $hand

    }

    # DCC

    bind dcc - xunglineall dcc:xclearglinebind dcc - xcleargline dcc:xclearglineproc dcc:xcleargline {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}proc:xcleargline $nick

    }

    # Proc

    proc proc:xcleargline {by} {global eva

    set eva(act) "14"

    sendlog "XClearGlines par$by"send ":$eva(nick) STATS G"putlog2 "Xcleargline par $by"

  • 7/17/2019 Eva TCL

    50/152

    }

    ################---Xnotice---################

    # MSG

    bind msg - xnotice msg:xnoticeproc msg:xnotice {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}set to [lindex $arg 0]set msg [lrange $arg 1 end]if {$to=="" || $msg==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xnotice "return 0

    }proc:xnotice $to $hand $msg

    }

    # DCC

    bind dcc - xnotice dcc:xnoticeproc dcc:xnotice {nick idx arg} {global eva

    set arg [debug $arg]

    if {![matchattr $nick B]} {avertdcc $nickreturn 0}set to [lindex $arg 0]set msg [lrange $arg 1 end]if {$to=="" || $msg==""} {

    putdcc $idx "\2Utilisation:\2 xnotice "return 0

    }proc:xnotice $to $nick $msg

    }

    # Proc

    proc proc:xnotice {to by msg} {global eva

    send ":$eva(nick) NOTICE $to :$msg"sendlog "XNotice $msg - A$to - par$by"

    }

    #################---Xsnotice---#################

    # MSG

    bind msg - xsnotice msg:xsnotice

  • 7/17/2019 Eva TCL

    51/152

    proc msg:xsnotice {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}

    set to [lindex $arg 0]set msg [lrange $arg 1 end]if {$to=="" || $msg==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xsnotice "

    return 0}proc:xsnotice $to $hand $msg

    }

    # DCC

    bind dcc - xsnotice dcc:xsnoticeproc dcc:xsnotice {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set to [lindex $arg 0]set msg [lrange $arg 1 end]if {$to=="" || $msg==""} {

    putdcc $idx "\2Utilisation:\2 xsnotice "return 0

    }proc:xsnotice $to $nick $msg

    }

    # Proc

    proc proc:xsnotice {to by msg} {global eva

    send ":$eva(serv) NOTICE $to :$msg"sendlog "XNotice $msg - A$to - par$by"

    }

    #############---Xsay---#############

    # MSG

    bind msg - xsay msg:xsayproc msg:xsay {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0

    }set to [lindex $arg 0]set msg [lrange $arg 1 end]

  • 7/17/2019 Eva TCL

    52/152

    if {$to=="" || $msg==""} {send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xsay "return 0

    }proc:xsay $to $hand $msg

    }

    # DCC

    bind dcc - xsay dcc:xsayproc dcc:xsay {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set to [lindex $arg 0]

    set msg [lrange $arg 1 end]if {$to=="" || $msg==""} {putdcc $idx "\2Utilisation:\2 xsay "return 0

    }proc:xsay $to $nick $msg

    }

    # Proc

    proc proc:xsay {to by msg} {global eva

    send ":$eva(nick) PRIVMSG $to :$msg"

    sendlog "XSays Message$msg - A$to - par$by"}

    #############---Xact---#############

    # MSG

    bind msg - xact msg:xactproc msg:xact {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}set to [lindex $arg 0]set msg [lrange $arg 1 end]if {$to=="" || $msg==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xact "

    return 0}proc:xact $to $hand $msg

    }

    # DCC

  • 7/17/2019 Eva TCL

    53/152

    bind dcc - xact dcc:xactproc dcc:xact {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nick

    return 0}set to [lindex $arg 0]set msg [lrange $arg 1 end]if {$to=="" || $msg==""} {

    putdcc $idx "\2Utilisation:\2 xact "return 0

    }proc:xact $to $nick $msg

    }

    # Proc

    proc proc:xact {to by msg} {global eva

    send ":$eva(nick) PRIVMSG $to :ACTION $msg"sendlog "XActions - Message$msg - A$to - par$by"

    }

    ###############---Xpurge---###############

    # MSG

    bind msg - xpurge msg:xpurgeproc msg:xpurge {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}proc:xpurge $hand

    }

    # DCC

    bind dcc - xpurge dcc:xpurgeproc dcc:xpurge {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}proc:xpurge $nick

    }

    # Proc

    proc proc:xpurge {by} {global eva

  • 7/17/2019 Eva TCL

    54/152

    sendlog "XPurge par$by"foreach x $eva(closelist) {

    send ":$eva(nick) PART $x :Rouverture du salon!"}set eva(closelist) ""putlog2 "Xpurge par $by"

    }

    ################---Xsajoin---################

    # MSG

    bind msg - xsajoin msg:xsajoinproc msg:xsajoin {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}set pseudo [lindex $arg 0]set salon [lindex $arg 1]if {$salon=="" || ![string match *#* $salon] || $pseudo==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xsajoin "

    return 0}proc:xsajoin $pseudo $salon $hand

    }

    # DCC

    bind dcc - xsajoin dcc:xsajoinproc dcc:xsajoin {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set pseudo [lindex $arg 0]set salon [lindex $arg 1]if {$salon=="" || ![string match *#* $salon] || $pseudo==""} {

    putdcc $idx "\2Utilisation:\2 xsajoin "return 0

    }proc:xsajoin $pseudo $salon $nick

    }

    # Proc

    proc proc:xsajoin {pseudo chan by} {global eva

    sendlog "XSvsJoin sur$pseudo - Sur$chan - par$by"send ":$eva(nick) SAJOIN $pseudo $chan"

    putlog2 "Xsajoin par $by : $pseudo sur $chan"}

  • 7/17/2019 Eva TCL

    55/152

    ###################---Xsajoinall---###################

    # MSG

    bind msg - xsajoinall msg:xsajoinall

    proc msg:xsajoinall {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xsajoinall "

    return 0

    }proc:xsajoinall $salon $hand}

    # DCC

    bind dcc - xsajoinall dcc:xsajoinallproc dcc:xsajoinall {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0

    }set salon [lindex $arg 0]if {$salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xsajoinall "return 0

    }proc:xsajoinall $salon $nick

    }

    # Proc

    proc proc:xsajoinall {chan by} {global eva

    sendlog "XSvsJoinAll Sur$chan - par$by"set eva(salonsajoin) "$chan"set eva(act) "15"send ":$eva(nick) WHO * x"putlog2 "Xsajoinall par $by : sur $chan"

    }

    ################---Xsapart---################

    # MSG

    bind msg - xsapart msg:xsapartproc msg:xsapart {nick uhost hand arg} {

  • 7/17/2019 Eva TCL

    56/152

    global evaset arg [debug $arg]

    if {![isauth $nick] || ![matchattr $hand B]} {avertmsg $nickreturn 0}set pseudo [lindex $arg 0]

    set salon [lindex $arg 1]if {$salon=="" || ![string match *#* $salon] || $pseudo==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xsapart "

    return 0}proc:xsapart $pseudo $salon $hand

    }

    # DCC

    bind dcc - xsapart dcc:xsapart

    proc dcc:xsapart {nick idx arg} {global evaset arg [debug $arg]

    if {![matchattr $nick B]} {avertdcc $nickreturn 0}set pseudo [lindex $arg 0]set salon [lindex $arg 1]if {$salon=="" || ![string match *#* $salon] || $pseudo==""} {

    putdcc $idx "\2Utilisation:\2 xsapart "return 0

    }

    proc:xsapart $pseudo $salon $nick}

    # Proc

    proc proc:xsapart {pseudo chan by} {global eva

    sendlog "XSvsPart sur$pseudo - Sur$chan - par$by"send ":$eva(nick) SAPART $pseudo $chan"putlog2 "Xsapart par $by : $pseudo de $chan"

    }

    #############---Xraw---#############

    # MSG

    bind msg - xraw msg:xrawproc msg:xraw {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0

    }set raw [lrange $arg 0 end]if {$raw==""} {

  • 7/17/2019 Eva TCL

    57/152

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xraw "return 0

    }proc:xraw $hand $raw

    }

    # DCC

    bind dcc - xraw dcc:xrawproc dcc:xraw {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set raw [lrange $arg 0 end]if {$raw==""} {

    putdcc $idx "\2Utilisation:\2 xraw "

    return 0}proc:xraw $nick $raw

    }

    # Proc

    proc proc:xraw {by raw} {global eva

    if {$eva(coderz)=="0"} {return 0}sendlog "XRaws -$raw - par$by"send ":$raw"putlog2 "Xraw par $by : $raw"

    }

    ###############---Xclone---###############

    # MSG

    bind msg - +xclone msg:+xcloneproc msg:+xclone {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}set pseudo [lindex $arg 0]set ident [lindex $arg 1]set host [lindex $arg 2]set realname [lrange $arg 3 end]if {$pseudo==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 +xclone "

    return 0}

    if {$ident=="" || $ident=="-"} {set randomident 0

    while {$randomident

  • 7/17/2019 Eva TCL

    58/152

    set randomident [rand 999] }

    set ident "v$randomident"}if {$host=="" || $host=="-"} {set xclone(host) "abo.wanadoo.fr ipt.aol.com adsl.proxad.net ppp.tiscali

    .fr adsl.skynet.be"

    set xclone(fai) [lindex $xclone(host) [rand [llength $xclone(host)]]]set randomhost 0

    while {$randomhost

  • 7/17/2019 Eva TCL

    59/152

    }

    # Proc

    proc proc:+xclone {pseudo ident host by name} {global eva

    sendlog "+XClones sur$pseudo - Host$ident@$host - Realname$name - par$by"

    lappend eva(listexclones) $pseudoputdcc $eva(idx) ":$eva(serv) NICK $pseudo 1 1 $ident $host $eva(serv) :

    $name"putdcc $eva(idx) ":$pseudo MODE $pseudo +xi"putdcc $eva(idx) ":$pseudo JOIN $eva(chan)"return 0

    }

    # MSG

    bind msg - -xclone msg:-xcloneproc msg:-xclone {nick uhost hand arg} {

    global evaset arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}set pseudo [lindex $arg 0]if {$pseudo==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 -xclone "

    return 0}proc:-xclone $pseudo $hand

    }

    # DCC

    bind dcc - -xclone dcc:-xcloneproc dcc:-xclone {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set pseudo [lindex $arg 0]if {$pseudo==""} {

    putdcc $idx "\2Utilisation:\2 -xclone "return 0}proc:-xclone $pseudo $nick

    }

    # Proc

    proc proc:-xclone {pseudo by} {global eva

    sendlog "-XClones sur$pseudo - par$by"

    set eva(newlistexclones) ""foreach prout $eva(listexclones) {

    if {$prout != "$pseudo"} {lappend eva(newlistexclones) $prout}

  • 7/17/2019 Eva TCL

    60/152

    }set eva(listexclones) $eva(newlistexclones)putdcc $eva(idx) ":$pseudo QUIT :Dconnexion forc par$by"

    }

    # MSG

    bind msg - xclone msg:xcloneproc msg:xclone {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}if {$eva(listexclones)=="" || ![info exists eva(listexclones)]} {send ":$eva(nick) NOTICE $nick :\2Aucun XClones connect"return 0} else {

    send ":$eva(nick) NOTICE $nick \2Liste des XClones:"foreach x $eva(listexclones) {send ":$eva(nick) NOTICE $nick $x"}}

    }

    # DCC

    bind dcc - xclone dcc:xcloneproc dcc:xclone {nick idx arg} {global eva

    set arg [debug $arg]

    if {![matchattr $nick B]} {avertdcc $nickreturn 0}if {$eva(listexclones)=="" || ![info exists eva(listexclones)]} {putdcc $idx "\002Aucun XClones connect!"return 0} else {putdcc $idx "\002Liste des xclones:"foreach x $eva(listexclones) {putdcc $idx "$x"}}

    }

    ##############---Xmove---##############

    # MSG

    bind msg - xmove msg:xmoveproc msg:xmove {nick uhost hand arg} {global eva

    set arg [debug $arg]

    if {![isauth $nick] || ![matchattr $hand B]} {avertmsg $nickreturn 0

  • 7/17/2019 Eva TCL

    61/152

    }set pseudo [lindex $arg 0]set salon [lindex $arg 1]if {$pseudo=="" || $salon=="" || ![string match *#* $salon]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xmove "

    return 0

    }if {[lsearch -exact "$eva(listexclones)" $pseudo] != -1} {send ":$pseudo JOIN $salon"sendlog "XMove sur$pseudo - Sur$salon - par$hand"return 0} else {send ":$eva(nick) NOTICE $nick :\2Pseudo XClone inexistant!"return 0

    }}

    # DCC

    bind dcc - xmove dcc:xmoveproc dcc:xmove {nick idx arg} {global eva

    set arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set pseudo [lindex $arg 0]set salon [lindex $arg 1]if {$pseudo=="" || $salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xmove "

    return 0}if {[lsearch -exact "$eva(listexclones)" $pseudo] != -1} {send ":$pseudo JOIN $salon"sendlog "XMove sur$pseudo - Sur$salon - par$nick"return 0} else {putdcc $idx "\2Pseudo XClone inexistant!"return 0

    }}

    ##############---Xsort---##############

    # MSG

    bind msg - xsort msg:xsortproc msg:xsort {nick uhost hand arg} {global eva

    set arg [debug $arg] if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0

    }set pseudo [lindex $arg 0]set salon [lindex $arg 1]

  • 7/17/2019 Eva TCL

    62/152

    if {$pseudo=="" || $salon=="" || ![string match *#* $salon]} {send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xsort

    "return 0}if {[lsearch -exact "$eva(listexclones)" $pseudo] != -1} {send ":$pseudo PART $salon"

    sendlog "XSort sur$pseudo - Sur$salon - par$hand"return 0} else {send ":$eva(nick) NOTICE $nick :\2Pseudo XClone inexistant"return 0

    }}

    # DCC

    bind dcc - xsort dcc:xsortproc dcc:xsort {nick idx arg} {

    global evaset arg [debug $arg] if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set pseudo [lindex $arg 0]set salon [lindex $arg 1]if {$pseudo=="" || $salon=="" || ![string match *#* $salon]} {

    putdcc $idx "\2Utilisation:\2 xsort "return 0}if {[lsearch -exact "$eva(listexclones)" $pseudo] != -1} {

    send ":$pseudo PART $salon"sendlog "XSort sur$pseudo - Sur$salon - par$nick"return 0} else {putdcc $idx "\2Pseudo XClone inexistant"return 0

    }}

    #################---Autorise---#################

    # Dcc

    bind dcc - +autorise dcc:+autoriseproc dcc:+autorise {nick idx arg} {global eva if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}set temp [lindex $arg 0]if {$temp==""} {putdcc $idx "\2Utilisation:\2 .+autorise "

    return 0}set eva(autorise) "[fread autorise.db]"

  • 7/17/2019 Eva TCL

    63/152

    if {[lsearch -exact "x $eva(autorise)" "$temp"] == -1 } {lappend eva(autorise) $tempfwrite autorise.db $eva(autorise)putdcc $idx "\002$temp ajout a la liste des autorises"sendlog "+XAutorise sur$temp - par$nick"return 0} else {

    putdcc $idx "\002Erreur:\002 $temp dja dans la liste des autorises"return 0}

    }

    bind dcc - -autorise dcc:-autoriseproc dcc:-autorise {nick idx arg} {global eva if {![matchattr $nick B]} {

    avertdcc $nickreturn 0}

    set temp [lindex $arg 0]if {$temp==""} {putdcc $idx "\2Utilisation:\2 .-autorise "return 0}set eva(autorise) "[fread autorise.db]"set tmp ""foreach bb $eva(autorise) {

    if {![string match $temp $bb]} {lappend tmp $bb}}fwrite autorise.db $tmpputdcc $idx "\002$temp supprim de la liste des autorises"sendlog "-XAutorise sur$temp - par$nick"

    return 0}

    bind dcc - autorise dcc:autoriseproc dcc:autorise {nick idx arg} {global eva if {![matchattr $nick A]} {

    avertdcc $nickreturn 0}set eva(autorise) "[fread autorise.db]"if {$eva(autorise)==""} {putdcc $idx "\002Aucun autorises\002"return 0}putdcc $idx "\002Liste des autorises:\002"foreach a $eva(autorise) {putdcc $idx "$a"}return 0

    }

    # Msg

    bind msg - +autorise msg:+autorise

    proc msg:+autorise {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand B]} {

  • 7/17/2019 Eva TCL

    64/152

    avertmsg $nickreturn 0}set temp [lindex $arg 0]if {$temp==""} {send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 +autorise "return 0

    }set eva(autorise) "[fread autorise.db]"if {[lsearch -exact "x $eva(autorise)" "$temp"] == -1 } {lappend eva(autorise) $tempfwrite autorise.db $eva(autorise)send ":$eva(nick) NOTICE $nick :\002$temp ajout a la liste des autorises"return 0} else {send ":$eva(nick) NOTICE $nick :\002Erreur:\002 $temp dja dans la liste d

    es autorises"return 0}

    }bind msg - -autorise msg:-autoriseproc msg:-autorise {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand B]} {

    avertmsg $nickreturn 0}

    set temp [lindex $arg 0]if {$temp==""} {send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 -autorise "return 0

    }set eva(autorise) "[fread autorise.db]"set tmp ""foreach bb $eva(autorise) {

    if {![string match $temp $bb]} {lappend tmp $bb}}fwrite autorise.db $tmpset eva(autorise) "$tmp"send ":$eva(nick) NOTICE $nick :\002$temp supprim de la liste des autoris

    es"return 0

    }

    bind msg - autorise msg:autoriseproc msg:autorise {nick uhost hand arg} {global eva if {![isauth $nick] || ![matchattr $hand A]} {

    avertmsg $nickreturn 0}set eva(autorise) "[fread autorise.db]"if {$eva(autorise)==""} {send ":$eva(nick) NOTICE $nick :\002Aucun autorises\002"return 0}

    send ":$eva(nick) NOTICE $nick :\002Liste des autorises:\002"foreach a $eva(autorise) {send ":$eva(nick) NOTICE $nick :$a"

  • 7/17/2019 Eva TCL

    65/152

    }return 0

    }

    ################### Level Admin: C ###################

    #################---Xsuspend---#################

    # Msg

    bind msg - xsuspend msg:xsuspendproc msg:xsuspend {nick uhost hand arg} { global eva if {![isauth $nick] || ![matchattr $hand C]} {

    avertmsg $nickreturn 0

    }set pseudo [lindex $arg 0]if {$pseudo==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xsuspend "

    return 0}if {![validuser $pseudo]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisateur inconnu!"return 0

    }chattr $pseudo -psetuser $pseudo XTRA suspend 1

    send ":$eva(nick) NOTICE $nick :\2$pseudo\2 est maintenant suspendu"}

    # DCC

    bind dcc - xsuspend dcc:xsuspendproc dcc:xsuspend {nick idx arg} {global eva

    if {![matchattr $nick C]} {avertdcc $nickreturn 0}set pseudo [lindex $arg 0]if {$pseudo==""} {

    putdcc $idx "\2Utilisation:\2 xsuspend "return 0

    }if {![validuser $pseudo]} {

    putdcc $idx "\2Utilisateur inconnu!"return 0

    }chattr $pseudo -psetuser $pseudo XTRA suspend 1putdcc $idx "\2$pseudo\2 est maintenant suspendu"sendlog "+XSuspend sur$pseudo bien t suspendu par$by"

    }

    ##################

  • 7/17/2019 Eva TCL

    66/152

    #---Xunsuspend---###################

    # Msg

    bind msg - xunsuspend msg:xunsuspendproc msg:xunsuspend {nick uhost hand arg} {

    global eva if {![isauth $nick] || ![matchattr $hand C]} {

    avertmsg $nickreturn 0}set pseudo [lindex $arg 0]if {$pseudo==""} {

    send ":$eva(nick) NOTICE $nick :\2Utilisation:\2 xunsuspend "

    return 0}if {![validuser $pseudo]} {

    send ":$eva(nick) NOTICE $nick :\2Utilisateur inconnu!"return 0}chattr $pseudo +psetuser $pseudo XTRA suspend 0send ":$eva(nick) NOTICE $nick :\2$pseudo\2 n'est maintenant plus suspen

    du"}

    # DCC

    bind dcc - xunsuspend dcc:xunsuspendproc dcc:xunsuspend {nick idx arg} {

    global evaif {![matchattr $nick C]} {avertdcc $nickreturn 0}set pseudo [lindex $arg 0]if {$pseudo==""} {

    putdcc $idx "\2Utilisation:\2 xunsuspend "return 0

    }if {![validuser $pseudo]} {

    putdcc $idx "\2Utilisateur inconnu!"return 0

    }chattr $pseudo +psetuser $pseudo XTRA suspend 0putdcc $idx "\2$pseudo\2 n'est maintenant plus suspendu"sendlog "-XSuspend sur$pseudo n'est plus suspendu par$by"

    }

    #################---Xconnect---#################

    # Msg

    bind msg - xconnect msg:xconnectproc msg:xconnect {nick uhost hand arg} {

  • 7/17/2019 Eva TCL

    67/152

    global eva if {![isauth $nick] || ![matchattr $hand C]} {

    avertmsg $nickreturn 0}

    if ![catch {connect $eva(link) $eva(port)} eva(idx)] { send ":$eva(nick) NOTICE $nick :\002Connection $eva(info) \002"

    proc:xconnect } else {send ":$eva(nick) NOTICE $nick :\2Connection de $eva(serv) $eva(idx) impossible."}}

    # Dcc

    bind dcc - xconnect dcc:xconnectproc dcc:xconnect {nick idx arg} { global eva if {![matchattr $nick C]} {

    avertdcc $nick

    return 0} if ![