Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##############################################
- # ~ POOSHY.TCL || Cyber-TCL.com by Platine ~ #
- ##############################################
- ####################################
- # ADMINISTRATEUR DU SERVICE POOSHY #
- ####################################
- # RENSEIGNEMENT ADMINISTRATEUR :
- #Pseudo de l'Administrateur :
- set pooshy(administrateur:login) "SnT"
- #Pass de l'Administrateur :
- set pooshy(administrateur:pass) "123456"
- #Host de l'Administrateur :
- set pooshy(administrateur:host) "SnT*!*@*"
- #Email de l'Administrateur :
- set pooshy(administrateur:email) "SnT@gmail.com"
- # RENSEIGNEMENT EGGDROP :
- #Login de la Oline :
- set pooshy(oline:login) ""
- #Pass de la Oline :
- set pooshy(oline:pass) ""
- #Ident de l'Eggdrop :
- set pooshy(oline:ident) "Pooshy"
- #Host de l'Eggdrop :
- set pooshy(oline:host) "service.com"
- #########################
- # LINK (SERVICE pooshy) #
- #########################
- ####################
- # Link du service :#
- ####################
- #Adresse du link :
- set pooshy(link) "Service.com"
- #Info du link :
- set pooshy(info) "Service.com"
- #Ip du link :
- set pooshy(ip) "entre-potes.fr"
- #Port du link :
- set pooshy(port) "4402"
- #Pass du link :
- set pooshy(pass) ""
- ################################
- # Pooshy-R (Service OPMYBOP) : #
- ################################
- #Pseudo de Pooshy-R :
- set pooshy(pseudor) "Pooshy-R"
- #Realname de Pooshy-R :
- set pooshy(realr) "Pooshy || ~ OPMYBOT ~"
- #Ident de Pooshy-R :
- set pooshy(identr) "Pooshy-R"
- #Host de Pooshy-R :
- set pooshy(hostr) "service.com"
- ######################################
- # Pooshy-S (Service SECURITY USER) : #
- ######################################
- #Pseudo de Pooshy-S :
- set pooshy(pseudos) "Pooshy-S"
- #Realname de Pooshy-S :
- set pooshy(reals) "Pooshy || ~ SECURITY USER ~"
- #Ident de Pooshy-S :
- set pooshy(idents) "Pooshy-S"
- #Host de Pooshy-S :
- set pooshy(hosts) "service.com"
- ################################
- # Pooshy-H (Service HELPING) : #
- ################################
- #Pseudo de Pooshy-H :
- set pooshy(pseudoh) "Pooshy-H"
- #Realname de Pooshy-H :
- set pooshy(realh) "Pooshy || ~ HELPING ~"
- #Ident de Pooshy-H :
- set pooshy(identh) "Pooshy-H"
- #Host de Pooshy-H :
- set pooshy(hosth) "service.com"
- #############################################
- # Pooshy-Alpha (Service SECURITY SERVEUR) : #
- #############################################
- #Pseudo de Pooshy-Alpha :
- set pooshy(pseudoa) "Pooshy-Alpha"
- #Realname de Pooshy-Alpha :
- set pooshy(reala) "Pooshy || ~ SECURITY SERVEUR ~"
- #Ident de Pooshy-Alpha :
- set pooshy(identa) "Pooshy-Alpha"
- #Host de Pooshy-Alpha :
- set pooshy(hosta) "service.com"
- #Raison lors d'un Proxy :
- set raison(proxy) "Proxy insécurisé"
- #Temp du gline lors d'une détection de proxy : (en seconde)
- set temp(proxy) "3600"
- #############################################
- # Pooshy-Beta (Service MODERATOR SERVEUR) : #
- #############################################
- #Pseudo de Pooshy-Beta :
- set pooshy(pseudob) "Pooshy-Beta"
- #Realname de Pooshy-Beta :
- set pooshy(realb) "Pooshy || ~ MODERATOR SERVEUR ~"
- #Ident de Pooshy-Beta :
- set pooshy(identb) "Pooshy-Beta"
- #Host de Pooshy-Beta :
- set pooshy(hostb) "service.com"
- #Raison lors d'un nick incorrect
- set raison(nick) "Veuillez modifier votre pseudo !"
- #Raison lors d'un realname incorrect
- set raison(realname) "Veuillez modifier votre realname !"
- #Raison lors d'un ident incorrect
- set raison(ident) "Veuillez modifier votre ident !"
- ####################################
- # Pooshy-Gamma (Service Serveur) : #
- ####################################
- #Pseudo de Pooshy-Gamma :
- set pooshy(pseudog) "Pooshy-Gamma"
- #Realname de Pooshy-Gamma :
- set pooshy(realg) "Pooshy || ~ SERVICE SERVEUR ~"
- #Ident de Pooshy-Gamma :
- set pooshy(identg) "Pooshy-Gamma"
- #Host de Pooshy-Gamma :
- set pooshy(hostg) "service.com"
- ############################################
- # Pooshy-Delta (Service SOCKET ANTISPAM) : #
- ############################################
- #Pseudo de Pooshy-Delta :
- set pooshy(pseudod) "Pooshy-Delta"
- #Realname de Pooshy-Delta :
- set pooshy(reald) "Pooshy || ~ SERVICE SOCKET ANTISPAM ~"
- #Ident de Pooshy-Delta :
- set pooshy(identd) "Pooshy-Delta"
- #Host de Pooshy-Delta :
- set pooshy(hostd) "service.com"
- #Raison lors d'une detection de spam :
- set raison(spam) "Pas de spam !"
- #Temp du gline lors d'une détection de spam :
- set temp(spam) "1"
- #Raison lors d'une detection d'invite :
- set raison(massinvite) "Ne faîtes pas de mass invite !"
- #Raison lors d'une detection de notice chan :
- set raison(noticechan) "Ne faîtes pas de notice chan !"
- ##########################################
- # Pooshy-Epsilon (Service LOG SERVEUR) : #
- ##########################################
- #Pseudo de Pooshy-Espilon :
- set pooshy(pseudoe) "Pooshy-Epsilon"
- #Realname de Pooshy-Epsilon :
- set pooshy(reale) "Pooshy || ~ SERVICE LOG SERVEUR ~"
- #Ident de Pooshy-Epsilon :
- set pooshy(idente) "Pooshy-Epsilon"
- #Host de Pooshy-Epsilon :
- set pooshy(hoste) "service.com"
- ##########################################
- # Pooshy-Omicron (Service IRCOPERATOR) : #
- ##########################################
- #Pseudo de Pooshy-Omicron :
- set pooshy(pseudoo) "Pooshy-Omicron"
- #Realname de Pooshy-Omicron :
- set pooshy(realo) "Pooshy || ~ SERVICE IRCOPERATOR ~"
- #Ident de Pooshy-Omicron :
- set pooshy(idento) "Pooshy-Omicron"
- #Host de Pooshy-Omicron :
- set pooshy(hosto) "service.com"
- #Topic lors d'un badchan :
- set topic(badchan) "Ce chan est enregistré dans la liste des badchans !"
- #Topic lors d'un close :
- set topic(close) "Ce chan est fermé car il ne respecte pas les régles du serveur !"
- #Temp de vidage de la badchan et du closechan (en minute) :
- set temp(badclose) "10"
- #Temp du kline quand celui ci n'est pas indiqué (en seconde) :
- set temp(kline) "3600"
- #Raison du kick quand celui ci n'est pas indiqué :
- set raison(kick) "Gros Vilain !"
- #Raison du kill quand celui ci n'est pas indiqué :
- set raison(kill) "Gros Vilain !"
- #Raison du kline quand celui ci n'est pas indiqué :
- set raison(kline) "Gros Vilain !"
- #Temp du gline quand celui ci n'est pas indiqué (en seconde) :
- set temp(gline) "3600"
- #Raison du gline quand celui ci n'est pas indiqué :
- set raison(gline) "Gros Vilain !"
- ##########################################
- # Pooshy-Iota (Service OPERATOR !BOT!) : #
- ##########################################
- #Pseudo de Pooshy-Iota :
- set pooshy(pseudoi) "Pooshy-Iota"
- #Realname de Pooshy-Iota :
- set pooshy(reali) "Pooshy || ~ SERVICE OPERATOR !BOT! ~"
- #Ident de Pooshy-Iota :
- set pooshy(identi) "Pooshy-Iota"
- #Host de Pooshy-Iota :
- set pooshy(hosti) "service.com"
- #Raison lors d'un robot noreg :
- set raison(noreg) "Ce robot n'est pas reg !"
- #Temp du gline lors d'un robot noreg : (en seconde)
- set temp(noreg) "1"
- #############################################
- # Pooshy-Upsilon (Service VERIFY CHANNEL) : #
- #############################################
- #Pseudo de Pooshy-Upsilon :
- set pooshy(pseudou) "Pooshy-Upsilon"
- #Realname de Pooshy-Upsilon :
- set pooshy(realu) "Pooshy || ~ SERVICE VERIFY CHANNEL ~"
- #Ident de Pooshy-Upsilon :
- set pooshy(identu) "Pooshy-Upsilon"
- #Host de Pooshy-Upsilon :
- set pooshy(hostu) "service.com"
- #####################################
- # Renseignement du service Pooshy : #
- #####################################
- # Chan des pooshy
- set pooshy(chan) "#Pooshy1"
- # Chan principal du service pooshy
- set pooshy(principal) "#!bot!"
- # Chan des opérateurs de #!bot!
- set pooshy(ops) "#ops.bot"
- # Chan des ircops
- set pooshy(ircop) "#soho"
- ########################
- # FIN DE CONFIGURATION #
- ########################
- ############
- # VARIABLE #
- ############
- set ::pooshy(nick) "-"
- set ::pooshy(cmd) "-"
- ###########
- # RESTART #
- ###########
- bind evnt - prerestart dcc:eventrestart
- proc dcc:eventrestart {prerestart} {
- foreach a [list "a" "b" "d" "e" "g" "r" "s" "h" "o" "i" "u"] { putdcc $::pooshy(idx) ":$::pooshy(pseudo$a) QUIT :Restart du service" }
- set liste [open $::fichier(socket) r]
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {putdcc $::pooshy(idx) ":[lindex $a 0] QUIT :Restart du service"}
- }
- close $liste
- putdcc $::pooshy(idx) ":$::pooshy(link) SQUIT $::pooshy(link)"
- unset a
- }
- ###########
- # FICHIER #
- ###########
- #Fichier alist.txt :
- set fichier(alist) "scripts/data/alist.txt"
- #Fichier port.txt :
- set fichier(port) "scripts/data/port.txt"
- #Fichier proxy.txt :
- set fichier(proxy) "scripts/data/proxy.txt"
- #Fichier nick.txt :
- set fichier(nick) "scripts/data/nick.txt"
- #Fichier realname.txt :
- set fichier(realname) "scripts/data/realname.txt"
- #Fichier ident.txt :
- set fichier(ident) "scripts/data/ident.txt"
- #Fichier blacklist.txt :
- set fichier(blacklist) "scripts/data/blacklist.txt"
- #Fichier socket.txt :
- set fichier(socket) "scripts/data/socket.txt"
- #Fichier chansocket.txt :
- set fichier(chansocket) "scripts/data/chansocket.txt"
- #Fichier mot.txt :
- set fichier(mot) "scripts/data/mot.txt"
- #Fichier autovoice.txt :
- set fichier(autovoice) "scripts/data/autovoice.txt"
- #Fichier autoop.txt :
- set fichier(autoop) "scripts/data/autoop.txt"
- #Fichier deftopic.txt :
- set fichier(deftopic) "scripts/data/deftopic.txt"
- #Fichier defmode.txt :
- set fichier(defmode) "scripts/data/defmode.txt"
- #Fichier robot.txt :
- set fichier(bot) "scripts/data/robot.txt"
- #Fichier opmybot.txt :
- set fichier(opmybot) "scripts/data/opmybot.txt"
- #Fichier blacklistrobot.txt :
- set fichier(blacklistbot) "scripts/data/blacklistrobot.txt"
- #Fichier blacklistopmybot.txt :
- set fichier(blacklistopmybot) "scripts/data/blacklistopmybot.txt"
- #Fichier badchan.txt :
- set fichier(badchan) "scripts/data/badchan.txt"
- #Fichier protectchan.txt :
- set fichier(protectchan) "scripts/data/protectchan.txt"
- #Fichier close.txt :
- set fichier(close) "scripts/data/close.txt"
- #####################
- # CREATION FICHIERS #
- #####################
- if {![file exist scripts/data]} {
- file mkdir scripts/data
- file attributes scripts/data -permissions rwxrwxrwx
- }
- set fichiers [list $::fichier(alist) $::fichier(port) $::fichier(proxy) $::fichier(nick) $::fichier(realname) $::fichier(ident) $::fichier(blacklist) $::fichier(socket) $::fichier(chansocket) $::fichier(mot) $::fichier(autovoice) $::fichier(autoop) $::fichier(deftopic) $::fichier(defmode) $::fichier(bot) $::fichier(opmybot) $::fichier(blacklistbot) $::fichier(blacklistopmybot) $::fichier(badchan) $::fichier(protectchan) $::fichier(close)]
- foreach txt $fichiers {
- if ![file exists $txt] {
- close [open $txt w+]
- }
- }
- ############
- # PUTSPEED #
- ############
- proc putspeed {arg} {
- putquick "$arg"
- clearqueue all
- }
- #############
- # DEMARRAGE #
- #############
- bind raw - "001" demarrage
- proc demarrage {from key text} {
- putspeed "OPER $::pooshy(oline:login) $::pooshy(oline:pass)"
- putspeed "SVSIDENT $::botnick $::pooshy(oline:ident)"
- putspeed "SETHOST $::pooshy(oline:host)"
- putspeed "MODE $::botnick +k"
- if {![validuser $::pooshy(administrateur:login)]} {
- adduser $::pooshy(administrateur:login) $::pooshy(administrateur:host)
- setuser $::pooshy(administrateur:login) PASS $::pooshy(administrateur:pass)
- setuser $::pooshy(administrateur:login) HOSTS *telnet*!*@*
- chattr $::pooshy(administrateur:login) +pnAIO
- setuser $::pooshy(administrateur:login) XTRA SUSPEND OFF
- setuser $::pooshy(administrateur:login) XTRA EMAIL $::pooshy(administrateur:email)
- setuser $::pooshy(administrateur:login) XTRA AUTEUR $::pooshy(administrateur:login)
- setuser $::pooshy(administrateur:login) XTRA SEEN [clock format [clock seconds] -format "le %d/%m/%Y à %Hh%M"]
- save
- }
- if {![validchan $::pooshy(chan)]} {
- channel add $::pooshy(chan)
- catch {channel add $::pooshy(chan) "-clearbans -enforcebans -dynamicbans -userbans -autoop -bitch -greet -protectops -statuslog -stopnethack -revenge -autovoice -secret -cycle -seen -share"}
- channel set $::pooshy(chan) chanmode "+nsti" dont-idle-kick ban-time 0 exempt-time 0 flood-chan 0:0 flood-ctcp 0:0 flood-join 0 flood-kick 0:0 flood-deop 0:0 -clearbans -enforcebans -dynamicbans +userbans -autoop -bitch -greet -protectops -protectfriends -dontkickops -wasoptest -statuslog -stopnethack -revenge -autovoice -secret -shared -cycle -seen -inactive -dynamicexempts -userexempts -dynamicinvites -userinvites +nodesynch
- }
- if {![validchan $::pooshy(principal)]} {
- channel add $::pooshy(principal)
- catch {channel add $::pooshy(principal) "-clearbans -enforcebans -dynamicbans -userbans -autoop -bitch -greet -protectops -statuslog -stopnethack -revenge -autovoice -secret -cycle -seen -share"}
- channel set $::::pooshy(principal) chanmode "+nt" dont-idle-kick ban-time 0 exempt-time 0 flood-chan 0:0 flood-ctcp 0:0 flood-join 0 flood-kick 0:0 flood-deop 0:0 -clearbans -enforcebans -dynamicbans +userbans -autoop -bitch -greet -protectops -protectfriends -dontkickops -wasoptest -statuslog -stopnethack -revenge -autovoice -secret -shared -cycle -seen -inactive -dynamicexempts -userexempts -dynamicinvites -userinvites +nodesynch
- }
- if {![validchan $::pooshy(ops)]} {
- channel add $::pooshy(ops)
- catch {channel add $::pooshy(ops) "-clearbans -enforcebans -dynamicbans -userbans -autoop -bitch -greet -protectops -statuslog -stopnethack -revenge -autovoice -secret -cycle -seen -share"}
- channel set $::pooshy(ops) chanmode "+nsti" dont-idle-kick ban-time 0 exempt-time 0 flood-chan 0:0 flood-ctcp 0:0 flood-join 0 flood-kick 0:0 flood-deop 0:0 -clearbans -enforcebans -dynamicbans +userbans -autoop -bitch -greet -protectops -protectfriends -dontkickops -wasoptest -statuslog -stopnethack -revenge -autovoice -secret -shared -cycle -seen -inactive -dynamicexempts -userexempts -dynamicinvites -userinvites +nodesynch
- }
- if {![validchan $::pooshy(ircop)]} {
- channel add $::pooshy(ircop)
- catch {channel add $::pooshy(ircop) "-clearbans -enforcebans -dynamicbans -userbans -autoop -bitch -greet -protectops -statuslog -stopnethack -revenge -autovoice -secret -cycle -seen -share"}
- channel set $::pooshy(ircop) chanmode "+nsti" dont-idle-kick ban-time 0 exempt-time 0 flood-chan 0:0 flood-ctcp 0:0 flood-join 0 flood-kick 0:0 flood-deop 0:0 -clearbans -enforcebans -dynamicbans +userbans -autoop -bitch -greet -protectops -protectfriends -dontkickops -wasoptest -statuslog -stopnethack -revenge -autovoice -secret -shared -cycle -seen -inactive -dynamicexempts -userexempts -dynamicinvites -userinvites +nodesynch
- }
- }
- ########
- # NEED #
- ########
- bind need - * need-invite
- proc need-invite { chan invite } {
- putspeed "INVITE $::botnick $chan"
- }
- bind need - * need-limite
- proc need-limite { chan limit } {
- putspeed "INVITE $::botnick $chan "
- }
- bind need - * need-unban
- proc need-unban { chan invite } {
- putspeed "INVITE $::botnick $chan"
- }
- bind need - * need-op
- proc need-op { chan op } {
- putspeed "MODE $chan +o $::botnick"
- }
- #############
- # JOIN CHAN #
- #############
- bind join -|- "*" join_chan
- proc join_chan { nick host hand chan } {
- if {[verify:b $::fichier(socket) 0 $nick]} {return}
- if {[string equal -nocase $nick $::botnick]} {return}
- if {[string equal -nocase $chan $::pooshy(chan)]} {putspeed "MODE $chan +o $nick"}
- if {[string equal -nocase $chan $::pooshy(ircop)]||[string equal -nocase $chan $::pooshy(ops)]} {putspeed "MODE $chan +v $nick"}
- }
- ###################
- # COMMANDE EN MSG #
- ###################
- bind msg - help msg:help
- proc msg:help {nick host hand arg} {
- putspeed "NOTICE $nick :------ \002 Pooshy (Terminal) \002 ------"
- putspeed "NOTICE $nick :\002 AUTH \002 \002 OPMYBOT \002"
- if {![verify:b $::fichier(alist) 2 $nick]} {putspeed "NOTICE $nick :------ \002 Fin \002 ------";return}
- putspeed "NOTICE $nick :\002 DEAUTH \002 \002 PASS \002 \002 EMAIL \002 "
- putspeed "NOTICE $nick :\002 USEUR \002 \002 CHATTR \002 \002 ADDUSER \002 \002 DELUSER \002 \002 MODUSER \002 "
- putspeed "NOTICE $nick :------ \002 Fin \002 ------"
- }
- bind msg - auth auth
- proc auth {nick host hand arg} {
- set login [lindex $arg 0]
- set pass [lindex $arg 1]
- if {$login eq ""||$pass eq ""} {putspeed "NOTICE $nick :\002Erreur :\002 /msg $::botnick auth <login> <pass>"; return}
- if {![validuser $login]} {putspeed "NOTICE $nick :\002Erreur :\002 $login n'a aucun access sur $::botnick.";return}
- if {![passwdok $login $pass]} {putspeed "NOTICE $nick :\002Erreur :\002 Votre mot de pass ou/et votre login est/sont incorrect(s) !"; return}
- if {[getuser $login XTRA SUSPEND] eq "ON"} {putspeed "NOTICE $nick :\002Erreur :\002 Vous êtes suspendu !"; return}
- if {![string match -nocase [lindex [getuser $login HOSTS] 0] $nick!$host]} {putspeed "NOTICE $nick :\002Erreur :\002 Votre host ne correspond pas avec votre access !"; return}
- if {[verify:a $::fichier(alist) 0 $login]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous êtes déjà authentifier"; return}
- putspeed "NOTICE $nick :1\[AUTHENTIFICATION REUSSIE]1 Vous êtes maintenant authentifié !"
- setuser $hand XTRA SEEN [clock format [clock seconds] -format "le %d/%m/%Y à %Hh%M"]
- ajouter:donnee $::fichier(alist) $login [chattr $login] $nick
- if {[islevel $nick A]} {putspeed "INVITE $nick $::pooshy(chan)"}
- if {[islevel $nick I]} {putspeed "INVITE $nick $::pooshy(ircop)"}
- if {[islevel $nick O]} {putspeed "INVITE $nick $::pooshy(ops)"}
- save
- }
- bind msg - deauth deauth
- proc deauth {nick host hand arg} {
- if {![verify:a $::fichier(alist) 2 $nick]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifier"; return}
- putspeed "NOTICE $nick :1\[DEAUTHENTIFICATION REUSSIE]1 Vous êtes maintenant deauthentifié !"
- effacer:donnee $::fichier(alist) 2 $nick
- save
- }
- bind msg - opmybot opmybot
- proc opmybot {nick host hand arg} {
- global pooshy
- set pass [lindex $arg 0]
- set robot [lindex $arg 1]
- if {$pass eq ""||$robot eq ""} {putspeed "NOTICE $nick :\002Erreur :\002 /msg $::botnick opmybot <pass> <robot>"; return}
- if {![verify:b $::fichier(bot) 0 $robot]} {putspeed "NOTICE $nick :\002Erreur :\002 Votre robot n'est pas reg !";putdcc $::pooshy(idx) ":$::pooshy(pseudor) PRIVMSG $::pooshy(principal) :•Pooshy OpMyBot• Asked by \037$nick\037 => \2\0034•\2\003Refusé\2\0034•\2\003 Bot inexistant"; return}
- if {![verify:b $::fichier(opmybot) 0 $robot]} {putspeed "NOTICE $nick :\002Erreur :\002 Votre robot n'a aucun opmybot !";putdcc $::pooshy(idx) ":$::pooshy(pseudor) PRIVMSG $::pooshy(principal) :•Pooshy OpMyBot• Asked by \037$nick\037 => \2\0034•\2\003Refusé\2\0034•\2\003 Bot aucun opmybot"; return}
- set liste [open $::fichier(bot) r]
- while {![eof $liste]} {
- gets $liste a
- if {[string equal -nocase [lindex $a 0] $robot]} {set owner [lindex $a 1]}
- }
- close $liste
- if {![string equal -nocase $nick $owner]} {putspeed "NOTICE $nick :\002Erreur :\002 L'owner nick ne correspond pas !";putdcc $::pooshy(idx) ":$::pooshy(pseudor) PRIVMSG $::pooshy(principal) :•Pooshy OpMyBot• Asked by \037$nick\037 => \2\0034•\2\003Refusé\2\0034•\2\003 Nick de l'owner différent de celui déclaré"; return}
- set liste [open $::fichier(opmybot) r]
- while {![eof $liste]} {
- gets $liste a
- if {[string equal -nocase [lindex $a 0] $robot]} {set password [lindex $a 2];set chan [lindex $a 1]}
- }
- close $liste
- if {![string equal $pass $password]} {putspeed "NOTICE $nick :\002Erreur :\002 Votre pass est incorrect !";putdcc $::pooshy(idx) ":$::pooshy(pseudor) PRIVMSG $::pooshy(principal) :•Pooshy OpMyBot• Asked by \037$nick\037 => \2\0034•\2\003Refusé\2\0034•\2\003 Password incorrect"; return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudor) MODE $chan +o $robot"
- putdcc $::pooshy(idx) ":$::pooshy(pseudor) PRIVMSG $::pooshy(principal) :•Pooshy OpMyBot• Asked by \037$nick\037 => \2\0033•\2\003Accepté\2\0033•\2\003 $robot sur $chan"
- putdcc $::pooshy(idx) ":$::pooshy(pseudor) PRIVMSG $chan :•Pooshy Service• °OpMyBot° => \2$robot\2 sur $chan"
- }
- bind msg - pass msg:pass
- proc msg:pass {nick host hand arg} {
- if {![verify:b $::fichier(alist) 2 $nick]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifé"; return}
- set pass [lindex $arg 0]
- if {$pass eq ""} {putspeed "NOTICE $nick :\002Erreur :\002 /msg $::botnick pass <pass>"; return}
- setuser $hand PASS $pass
- putspeed "NOTICE $nick :\002Pass :\002 Votre pass a été modifié"
- save
- }
- bind msg - email msg:email
- proc msg:email {nick host hand arg} {
- if {![verify:b $::fichier(alist) 2 $nick]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifier"; return}
- set email [lindex $arg 0]
- if {$email eq ""} {putspeed "NOTICE $nick :\002Erreur :\002 /msg $::botnick email <email>";return}
- setuser $hand XTRA EMAIL $email
- putspeed "NOTICE $nick :\002Email :\002 Votre adresse email a été modifié"
- save
- }
- bind msg - user user
- proc user {nick host hand arg} {
- if {![verify:b $::fichier(alist) 2 $nick]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifier"; return}
- set num 0
- putspeed "NOTICE $nick :---\002 LISTE DES USERS \002---"
- foreach useur [userlist] {
- incr num 1;
- putspeed "NOTICE $nick :(\002$num\002) Login : \002$useur\002 ([getuser $useur XTRA EMAIL]) \002Flag :\002 [chattr $useur] \002Host :\002 [getuser $useur HOSTS]"
- }
- putspeed "NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total Users (\002$num\002)"
- }
- bind msg - adduser msg:adduser
- proc msg:adduser {nick host hand arg} {
- if {![verify:b $::fichier(alist) 2 $nick]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifé"; return}
- if {![islevel $nick A]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette partie !"; return}
- set login [lindex $arg 0]
- set pass [lindex $arg 1]
- set email [lindex $arg 2]
- if {$login eq "" || $email eq "" || $pass eq ""} {putspeed "NOTICE $nick :\002Erreur :\002 /msg $::botnick adduser <login> <pass> <email>";return}
- if {[string length $login] > "9"} {putspeed "NOTICE $nick :\002Erreur :\002 Le login ne doit pas dépasser 9 caractéres.";return}
- if {[validuser $login]} {putspeed "NOTICE $nick :\002Erreur :\002 L'user a déjà été créer." ; return }
- adduser $login
- setuser $login PASS $pass
- setuser $login HOSTS $login*!*@*
- setuser $login XTRA EMAIL $email
- setuser $login XTRA SUSPEND OFF
- setuser $login XTRA AUTEUR $hand
- setuser $login XTRA SEEN [clock format [clock seconds] -format "le %d/%m/%Y à %Hh%M"]
- save
- putspeed "NOTICE $nick :\002Adduser :\002 L'user a été ajouter."
- }
- bind msg - deluser msg:deluser
- proc msg:deluser {nick host hand arg} {
- if {![verify:b $::fichier(alist) 2 $nick]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifé"; return}
- if {![islevel $nick A]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette partie !"; return}
- set login [lindex $arg 0]
- if {$login eq ""} {putspeed "NOTICE $nick :\002Erreur :\002 /msg $::botnick deluser <login>";return}
- if {![validuser $login]} {putspeed "NOTICE $nick :\002Erreur :\002 L'user est introuvable." ; return }
- if {[string equal -nocase $login $::pooshy(administrateur:login)]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous ne pouvez pas supprimer l'access de l'owner principal." ; return}
- if {[string equal -nocase $login $hand]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous ne pouvez pas supprimer votre propre access." ; return}
- deluser $login
- save
- putspeed "NOTICE $nick :\002Deluser :\002 L'user a été supprimé."
- }
- bind msg - chattr msg:chattr
- proc msg:chattr {nick host hand arg} {
- if {![verify:b $::fichier(alist) 2 $nick]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifé"; return}
- if {![islevel $nick A]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette partie !"; return}
- set login [lindex $arg 0]
- set flag [lindex $arg 1]
- if {$login eq ""||$flag eq ""} {putspeed "NOTICE $nick :\002Erreur :\002 /msg $::botnick chattr <login> <flag>";return}
- if {![validuser $login]} {putspeed "NOTICE $nick :\002Erreur :\002 L'user est introuvable." ; return }
- if {[string equal -nocase $login $::pooshy(administrateur:login)]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous ne pouvez pas utiliser cette commande pour l'access de l'owner principal." ; return}
- if {[string equal -nocase $login $hand]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous ne pouvez pas changer votre propre access." ; return}
- chattr $login -[chattr $login]
- chattr $login +$flag
- save
- putspeed "NOTICE $nick :\002Chattr :\002 Le flag de l'user a été mis à jours."
- return
- }
- bind msg - moduser moduser
- proc moduser {nick host hand arg} {
- if {![verify:b $::fichier(alist) 2 $nick]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifé"; return}
- if {![islevel $nick A]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette partie !"; return}
- set login [lindex $arg 0]
- set option [lindex $arg 1]
- set valeur [join [lrange [split $arg] 2 end]]
- set valeurv [lindex $valeur 0]
- if {$login eq "" || $option eq "" || $valeur eq ""} { putspeed "NOTICE $nick :\002Erreur :\002 /msg $::botnick moduser <login> <option> <valeur>";return}
- if {![validuser $login]} {putspeed "NOTICE $nick :\002Erreur :\002 L'user est introuvable." ; return }
- if {[string equal -nocase $login $::pooshy(administrateur:login)]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous ne pouvez pas modifier l'access de l'owner principal." ; return}
- if {[string equal -nocase $login $hand]} {putspeed "NOTICE $nick :\002Erreur :\002 Vous ne pouvez pas modifier votre access." ; return}
- if {[string equal -nocase $option pass] || [string equal -nocase $option email] || [string equal -nocase $option info] || [string equal -nocase $option suspend] || [string equal -nocase $option addmask] || [string equal -nocase $option delmask]} {
- if {[string equal -nocase $option pass]} {
- setuser $login PASS $valeurv
- putspeed "NOTICE $nick :\002Moduser\002 Le pass a été modifier."
- save
- }
- if {[string equal -nocase $option email]} {
- setuser $login XTRA EMAIL $valeurv
- putspeed "NOTICE $nick :\002Moduser :\002 L'email a été modifier."
- save
- }
- if {[string equal -nocase $option suspend]} {
- if {[string equal -nocase $valeurv on]||[string equal -nocase $valeurv off]} {
- if {[string equal -nocase $valeurv on]} {
- if {[getuser $login XTRA SUSPEND] eq "ON"} {putspeed "NOTICE $nick :\002Erreur :\002 $login est déjà suspend."; return}
- setuser $login XTRA SUSPEND ON
- save
- if {[verify:b $::fichier(alist) 0 $login]} {effacer:donnee $::fichier(alist) 0 $login}
- putspeed "NOTICE $nick :\002Moduser :\002 L'user a été suspend."
- }
- if {[string equal -nocase $valeurv off]} {
- if {[getuser $login XTRA SUSPEND] eq "OFF"} {putspeed "NOTICE $nick :\002Erreur :\002 $login est déjà unsuspend."; return}
- setuser $login XTRA SUSPEND OFF
- save
- putspeed "NOTICE $nick :\002Moduser :\002 L'user a été unsuspend."
- }
- } else { putspeed "NOTICE $nick :\002Erreur :\002 a valeur est incorrect. On (suspend activé) Off (suspend desactivé)";return }
- }
- if {[string equal -nocase $option addmask]} {
- if {![string match -nocase *!*@* $valeurv]} {putspeed "NOTICE $nick :\002Erreur :\002 Le host est incorrect.";return}
- setuser $login HOSTS $valeurv
- putspeed "NOTICE $nick :\002Moduser :\002 Le mask a été ajouter."
- save
- }
- if {[string equal -nocase $option delmask]} {
- if {![string match -nocase *!*@* $valeurv]} {putspeed "NOTICE $nick :\002Erreur :\002 Le host est incorrect.";return}
- if {[delhost $login $valeurv]} {
- putspeed "NOTICE $nick :\002Moduser :\002 Le mask a été supprimer."
- save
- } {
- putspeed "NOTICE $nick :\002Erreur :\002 Le host n'existe pas."
- return
- }
- }
- } else { putspeed "NOTICE $nick :\002Erreur :\002 L'option est incorrect. (PASS EMAIL SUSPEND ADDMASK DELMASK)";return }
- }
- #############
- # CONNEXION #
- #############
- proc connexion {} {
- if {![catch "connect $::pooshy(ip) $::pooshy(port)" ::pooshy(idx)]} {
- putdcc $::pooshy(idx) "PASS $::pooshy(pass)"
- putdcc $::pooshy(idx) "SERVER $::pooshy(link) 1 [unixtime] [unixtime] J09 ACAA\] +s :$::pooshy(info)"
- foreach a [list "a" "b" "d" "e" "g" "r" "s" "h" "o" "i" "u"] {
- putdcc $::pooshy(idx) ":$::pooshy(link) NICK $::pooshy(pseudo$a) 1 [unixtime] $::pooshy(ident$a) $::pooshy(host$a) $::pooshy(link) :$::pooshy(real$a)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudo$a) MODE $::pooshy(pseudo$a) +HroOSqsw"
- putdcc $::pooshy(idx) ":$::pooshy(pseudo$a) JOIN $::pooshy(chan)"
- putdcc $::pooshy(idx) ":$::pooshy(link) MODE $::pooshy(chan) +v $::pooshy(pseudo$a)"
- }
- putdcc $::pooshy(idx) ":$::pooshy(link) MODE $::pooshy(chan) +o $::pooshy(pseudoe)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudor) JOIN $::pooshy(principal)"
- putdcc $::pooshy(idx) ":$::pooshy(link) MODE $::pooshy(principal) +v $::pooshy(pseudor)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudos) JOIN $::pooshy(principal)"
- putdcc $::pooshy(idx) ":$::pooshy(link) MODE $::pooshy(principal) +v $::pooshy(pseudos)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoh) JOIN $::pooshy(principal)"
- putdcc $::pooshy(idx) ":$::pooshy(link) MODE $::pooshy(principal) +v $::pooshy(pseudoh)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) JOIN $::pooshy(ops)"
- putdcc $::pooshy(idx) ":$::pooshy(link) MODE $::pooshy(ops) +o $::pooshy(pseudoi)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) JOIN $::pooshy(ircop)"
- putdcc $::pooshy(idx) ":$::pooshy(link) MODE $::pooshy(ircop) +o $::pooshy(pseudoo)"
- set liste [open $::fichier(socket) r]
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {connexion:socket [lindex $a 0]}
- }
- close $liste
- control $::pooshy(idx) event; utimer 30 verification
- }
- unset a
- }
- proc connexion:socket {nick} {
- putdcc $::pooshy(idx) ":$::pooshy(link) NICK $nick 1 [unixtime] $nick $::pooshy(hostr) $::pooshy(link) :$nick"
- putdcc $::pooshy(idx) ":$nick MODE $nick +HroOSqsw"
- putdcc $::pooshy(idx) ":$nick JOIN $::pooshy(chan)"
- set liste [open $::fichier(chansocket) r]
- while {![eof $liste]} {
- gets $liste a
- if {[string equal -nocase $nick [lindex $a 1]]} {putdcc $::pooshy(idx) ":$nick JOIN [lindex $a 0]"}
- }
- close $liste
- }
- ################
- # VERIFICATION #
- ################
- if {![info exists ::pooshy(idx)]} { connexion }
- proc verification {} {
- if {[valididx $::pooshy(idx)]} { utimer 30 verification } else { connexion }
- }
- #########
- # EVENT #
- #########
- proc event {idx arg} {
- set arg [split $arg]
- set arg [debug $arg]
- putlog "$arg"
- if {[lindex $arg 1] eq "PRIVMSG"} {
- set cmd "[string trim [lindex $arg 3] :]"
- set nick "[string trim [lindex $arg 0] :]"
- set nickto "[lindex $arg 2]"
- ##################
- # POOSHY-ALPHA #
- ##################
- if {[string equal -nocase $nickto $::pooshy(pseudoa)]} {
- if {![verify:b $::fichier(alist) 2 $nick]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifier"; return}
- if {![islevel $nick A]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette socket !"; return}
- if {[string equal -nocase $cmd help]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :------ \002 Alpha (SECURITY SERVEUR) \002 ------"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002 PORT \002 \002 ADDPORT \002 \002 DELPORT \002 "
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002 PROXY \002 \002 ADDPROXY \002 \002 DELPROXY \002 "
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :------ \002 Fin \002 ------"
- }
- if {[string equal -nocase $cmd port]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :---\002 LISTE DES PORTS SURVEILLER \002---";
- set liste [open $::fichier(port) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addport]} {
- set port [lindex $arg 4]
- if {$port eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoa) addport <port>"; return}
- if {[verify:b $::fichier(port) 0 $port]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 port déjà existant !"; return}
- ajouter:donnee $::fichier(port) $port $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Addport :\002 Port ajouté !"
- }
- if {[string equal -nocase $cmd delport]} {
- set port [lindex $arg 4]
- if {$port eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoa) delport <port>"; return}
- if {![verify:b $::fichier(port) 0 $port]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 Port inexistant !"; return}
- effacer:donnee $::fichier(port) 0 $port
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Delport :\002 Port supprimé !"
- }
- if {[string equal -nocase $cmd proxy]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :---\002 LISTE DES PROXYS \002---";
- set liste [open $::fichier(proxy) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addproxy]} {
- set proxy [lindex $arg 4]
- if {$proxy eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoa) addproxy <ip>"; return}
- if {[verify:b $::fichier(proxy) 0 $proxy]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 Proxy déjà existant !"; return}
- ajouter:donnee $::fichier(proxy) $proxy $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Addproxy :\002 Proxy ajouté !"
- }
- if {[string equal -nocase $cmd delproxy]} {
- set proxy [lindex $arg 4]
- if {$proxy eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoa) delproxy <ip>"; return}
- if {![verify:b $::fichier(proxy) 0 $proxy]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 Proxy inexistant !"; return}
- effacer:donnee $::fichier(proxy) 0 $proxy
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Delproxy :\002 Proxy supprimé !"
- }
- }
- #################
- # POOSHY-BETA #
- #################
- if {[string equal -nocase $nickto $::pooshy(pseudob)]} {
- if {![verify:b $::fichier(alist) 2 $nick]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifier"; return}
- if {![islevel $nick A]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette socket !"; return}
- if {[string equal -nocase $cmd help]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :------ \002 Beta (MODERATOR SERVEUR) \002 ------"
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002 NICK \002 \002 ADDNICK \002 \002 DELNICK \002 "
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002 REALNAME \002 \002 ADDREALNAME \002 \002 DELREALNAME \002 "
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002 IDENT \002 \002 ADDIDENT \002 \002 ADDIDENT \002 "
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002 BLACKLIST \002 \002 ADDBLACKLIST \002 \002 DELBLACKLIST \002 "
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :------ \002 Fin \002 ------"
- }
- if {[string equal -nocase $cmd nick]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :---\002 LISTE DES NICKS \002---";
- set liste [open $::fichier(nick) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addnick]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudob) addnick <nick>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {[verify:b $::fichier(nick) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Nick déjà existant !"; return}
- ajouter:donnee $::fichier(nick) $pseudo $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Addnick :\002 Nick ajouté !"
- }
- if {[string equal -nocase $cmd delnick]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudob) delnick <nick>"; return}
- if {![verify:b $::fichier(nick) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Nick inexistant !"; return}
- effacer:donnee $::fichier(nick) 0 $pseudo
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Delnick :\002 Nick supprimé !"
- }
- if {[string equal -nocase $cmd realname]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :---\002 LISTE DES REALNAMES \002---";
- set liste [open $::fichier(realname) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addrealname]} {
- set realname [lindex $arg 4]
- if {$realname eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudob) addrealname <realname>"; return}
- if {[verify:b $::fichier(nick) 0 $realname]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Realname déjà existant !"; return}
- ajouter:donnee $::fichier(realname) $realname $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Addrealname :\002 Realname ajouté !"
- }
- if {[string equal -nocase $cmd delrealname]} {
- set realname [lindex $arg 4]
- if {$realname eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudob) delrealname <realname>"; return}
- if {![verify:b $::fichier(realname) 0 $realname]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Realname inexistant !"; return}
- effacer:donnee $::fichier(realname) 0 $realname
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Delrealname :\002 Realname supprimé !"
- }
- if {[string equal -nocase $cmd ident]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :---\002 LISTE DES IDENTS \002---";
- set liste [open $::fichier(ident) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addident]} {
- set ident [lindex $arg 4]
- if {$ident eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudob) addident <ident>"; return}
- if {[verify:b $::fichier(nick) 0 $ident]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Ident déjà existant !"; return}
- ajouter:donnee $::fichier(ident) $ident $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Addident :\002 Ident ajouté !"
- }
- if {[string equal -nocase $cmd delident]} {
- set ident [lindex $arg 4]
- if {$ident eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudob) delident <ident>"; return}
- if {![verify:b $::fichier(ident) 0 $ident]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Ident inexistant !"; return}
- effacer:donnee $::fichier(ident) 0 $ident
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Delident :\002 Ident supprimé !"
- }
- if {[string equal -nocase $cmd blacklist]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :---\002 LISTE DE LA BLACKLISTS \002---";
- set liste [open $::fichier(blacklist) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addblacklist]} {
- set blacklist [lindex $arg 4]
- if {$blacklist eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudob) addblacklist <blacklist>"; return}
- if {[verify:b $::fichier(nick) 0 $blacklist]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Blacklist déjà existant !"; return}
- ajouter:donnee $::fichier(blacklist) $blacklist $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Addblacklist :\002 Blacklist ajouté !"
- }
- if {[string equal -nocase $cmd delblacklist]} {
- set blacklist [lindex $arg 4]
- if {$blacklist eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudob) delblacklist <blacklist>"; return}
- if {![verify:b $::fichier(blacklist) 0 $blacklist]} {putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Erreur :\002 Blacklist inexistant !"; return}
- effacer:donnee $::fichier(blacklist) 0 $blacklist
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Delblacklist :\002 Blacklist supprimé !"
- }
- }
- ##################
- # POOSHY-DELTA #
- ##################
- if {[string equal -nocase $nickto $::pooshy(pseudod)]} {
- if {![verify:a $::fichier(alist) 2 $nick]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifier"; return}
- if {![islevel $nick A]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette socket !"; return}
- if {[string equal -nocase $cmd help]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :------ \002 Delta (SOCKET ANTISPAM) \002 ------"
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002 SOCKET \002 \002 ADDSOCKET \002 \002 DELSOCKET \002 "
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002 CHAN \002 \002 ADDCHAN \002 \002 DELCHAN \002 "
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002 MOT \002 \002 ADDMOT \002 \002 DELMOT \002 "
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :------ \002 Fin \002 ------"
- }
- if {[string equal -nocase $cmd socket]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :---\002 LISTE DES SOCKETS \002---";
- set liste [open $::fichier(socket) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addsocket]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudod) addsocket <nick>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Socket déjà existante !"; return}
- ajouter:donnee $::fichier(socket) $pseudo $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Addsocket :\002 Socket ajouté !"
- connexion:socket $pseudo
- }
- if {[string equal -nocase $cmd delsocket]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudod) delsocket <nick>"; return}
- if {![verify:b $::fichier(socket) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Socket inexistante !"; return}
- effacer:donnee $::fichier(socket) 0 $pseudo
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Delsocket :\002 Socket supprimé !"
- putdcc $::pooshy(idx) ":$pseudo QUIT :Deconnexion"
- }
- if {[string equal -nocase $cmd chan]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :---\002 LISTE DES CHANS SURVEILLER PAR LES SOCKETS \002---";
- set liste [open $::fichier(chansocket) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :(\002$num\002) [lindex $a 0] surveiller par [lindex $a 1] ajouter par [lindex $a 2] le [lindex $a 3]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addchan]} {
- set chan [lindex $arg 4]
- set pseudo [lindex $arg 5]
- if {$pseudo eq ""||[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudod) addchan <#chan> <socket>"; return}
- if {[string equal -nocase $chan $::pooshy(chan)]||[string equal -nocase $chan $::pooshy(principal)]||[string equal -nocase $chan $::pooshy(ops)]||[string equal -nocase $chan $::pooshy(ircop)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Ce chan est protégé !"; return}
- if {![verify:b $::fichier(socket) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Socket inexistante !"; return}
- if {[verify:b $::fichier(chansocket) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Chan déjà existant !"; return}
- ajouter:donnee $::fichier(chansocket) $chan $pseudo $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$pseudo JOIN $chan"
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Addchan :\002 Chan ajouté !"
- }
- if {[string equal -nocase $cmd delchan]} {
- set chan [lindex $arg 4]
- if {$chan eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudod) delchan <#chan>"; return}
- if {![verify:b $::fichier(chansocket) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Chan inexistant !"; return}
- effacer:donnee $::fichier(chansocket) 0 $chan
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Delchan :\002 Chan supprimé !"
- }
- if {[string equal -nocase $cmd mot]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :---\002 LISTE DES MOTS DETECTABLE EN TANT QUE SPAM \002---";
- set liste [open $::fichier(mot) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addmot]} {
- set mot [lindex $arg 4]
- if {$mot eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudod) addmot <mot>"; return}
- if {[verify:b $::fichier(mot) 0 $mot]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Mot déjà existant !"; return}
- ajouter:donnee $::fichier(mot) $mot $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Addmot :\002 Mot ajouté !"
- }
- if {[string equal -nocase $cmd delmot]} {
- set mot [lindex $arg 4]
- if {$mot eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudod) delmot <mot>"; return}
- if {![verify:b $::fichier(mot) 0 $mot]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Mot inexistant !"; return}
- effacer:donnee $::fichier(mot) 0 $mot
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) NOTICE $nick :\002Delmot :\002 Mot supprimé !"
- }
- }
- ##################
- # POOSHY-GAMMA #
- ##################
- if {[string equal -nocase $nickto $::pooshy(pseudog)]} {
- if {![verify:a $::fichier(alist) 2 $nick]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifier"; return}
- if {![islevel $nick I]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette socket !"; return}
- if {[string equal -nocase $cmd help]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :------ \002 Gamma (SERVICE SERVEUR) \002 ------"
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002 AUTOVOICE \002 \002 ADDAUTOVOICE \002 \002 DELAUTOVOICE \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002 AUTOOP \002 \002 ADDAUTOOP \002 \002 DELAUTOOP \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002 DEFTOPIC \002 \002 ADDDEFTOPIC \002 \002 DELDEFTOPIC \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002 DEFMODE \002 \002 ADDDEFMODE \002 \002 DELDEFMODE \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :------ \002 Fin \002 ------"
- }
- if {[string equal -nocase $cmd autovoice]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :---\002 LISTE DES CHANS AUTOVOICE \002---";
- set liste [open $::fichier(autovoice) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addautovoice]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudog) addautovoice <#chan>"; return}
- if {[string equal -nocase $chan $::pooshy(chan)]||[string equal -nocase $chan $::pooshy(principal)]||[string equal -nocase $chan $::pooshy(ops)]||[string equal -nocase $chan $::pooshy(ircop)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Ce chan est protégé !"; return}
- if {[verify:b $::fichier(autovoice) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Chan déjà existant !"; return}
- ajouter:donnee $::fichier(autovoice) $chan $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Addautovoice :\002 Chan ajouté !"
- }
- if {[string equal -nocase $cmd delautovoice]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudog) delautovoice <#chan>"; return}
- if {![verify:b $::fichier(autovoice) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Chan inexistant !"; return}
- effacer:donnee $::fichier(autovoice) 0 $chan
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Delautovoice :\002 Chan supprimé !"
- }
- if {[string equal -nocase $cmd autoop]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :---\002 LISTE DES CHANS AUTOOP \002---";
- set liste [open $::fichier(autoop) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addautoop]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudog) addautoop <#chan>"; return}
- if {[string equal -nocase $chan $::pooshy(chan)]||[string equal -nocase $chan $::pooshy(principal)]||[string equal -nocase $chan $::pooshy(ops)]||[string equal -nocase $chan $::pooshy(ircop)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Ce chan est protégé !"; return}
- if {[verify:b $::fichier(autoop) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Chan déjà existant !"; return}
- ajouter:donnee $::fichier(autoop) $chan $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Addautoop :\002 Chan ajouté !"
- }
- if {[string equal -nocase $cmd delautoop]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudog) delautoop <#chan>"; return}
- if {![verify:b $::fichier(autoop) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Chan inexistant !"; return}
- effacer:donnee $::fichier(autoop) 0 $chan
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Delautoop :\002 Chan supprimé !"
- }
- if {[string equal -nocase $cmd deftopic]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :---\002 LISTE DES CHANS DEFTOPIC \002---";
- set liste [open $::fichier(deftopic) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :(\002$num\002) [lindex $a 0] ([join [lrange [split $a] 5 end]]) ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd adddeftopic]} {
- set chan [lindex $arg 4]
- set topic [join [lrange [split $arg] 5 end]]
- if {[string index $chan 0] ne "#" || $topic eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudog) deftopic <#chan> <topic>"; return}
- if {[string equal -nocase $chan $::pooshy(chan)]||[string equal -nocase $chan $::pooshy(principal)]||[string equal -nocase $chan $::pooshy(ops)]||[string equal -nocase $chan $::pooshy(ircop)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Ce chan est protégé !"; return}
- if {[verify:b $::fichier(deftopic) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Chan déjà existant !"; return}
- ajouter:donnee $::fichier(deftopic) $chan $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"] $topic
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Adddeftopic :\002 Topic ajouté !"
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) TOPIC $chan :$topic"
- }
- if {[string equal -nocase $cmd deldeftopic]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudog) deftopic <#chan>"; return}
- if {![verify:b $::fichier(deftopic) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Chan inexistant !"; return}
- effacer:donnee $::fichier(deftopic) 0 $chan
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Deldeftopic :\002 Topic supprimé !"
- }
- if {[string equal -nocase $cmd defmode]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :---\002 LISTE DES CHANS DEFMODE \002---";
- set liste [open $::fichier(defmode) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :(\002$num\002) [lindex $a 0] ([join [lrange [split $a] 5 end]]) ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd adddefmode]} {
- set chan [lindex $arg 4]
- set mode [join [lrange [split $arg] 5 end]]
- if {[string index $chan 0] ne "#" || $mode eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudog) deftopic <#chan> <mode>"; return}
- if {[string equal -nocase $chan $::pooshy(chan)]||[string equal -nocase $chan $::pooshy(principal)]||[string equal -nocase $chan $::pooshy(ops)]||[string equal -nocase $chan $::pooshy(ircop)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Ce chan est protégé !"; return}
- if {[verify:b $::fichier(defmode) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Chan déjà existant !"; return}
- ajouter:donnee $::fichier(defmode) $chan $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"] $mode
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Adddefmode :\002 Mode ajouté !"
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) MODE $chan $mode"
- }
- if {[string equal -nocase $cmd deldefmode]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudog) defmode <#chan>"; return}
- if {![verify:b $::fichier(defmode) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Erreur :\002 Chan inexistant !"; return}
- effacer:donnee $::fichier(defmode) 0 $chan
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) NOTICE $nick :\002Deldefmode :\002 Mode supprimé !"
- }
- }
- #################
- # POOSHY-IOTA #
- #################
- if {[string equal -nocase $nickto $::pooshy(pseudoi)]} {
- if {![verify:a $::fichier(alist) 2 $nick]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifier"; return}
- if {![islevel $nick O]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette socket !"; return}
- if {[string equal -nocase $cmd help]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :------ \002 Iota (SERVICE OPERATOR !BOT!) \002 ------"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002 OP \002 \002 DEOP \002 \002 VOICE \002 \002 DEVOICE \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002 BOT \002 \002 ADDBOT \002 \002 DELBOT \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002 OPMYBOT \002 \002 ADDOPMYBOT \002 \002 DELOPMYBOT \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002 BLACKLISTBOT \002 \002 ADDBLACKLISTBOT \002 \002 DELBLACKLISTBOT \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002 BLACKLISTOPMYBOT \002 \002 ADDBLACKLISTOPMYBOT \002 \002 DELBLACKLISTOPMYBOT \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002 ISREG \002 \002 GLINENOREG \002 \002 REOP \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :------ \002 Fin \002 ------"
- }
- if {[string equal -nocase $cmd op]} {
- putspeed "MODE $::::pooshy(principal) +o $nick"
- }
- if {[string equal -nocase $cmd deop]} {
- putspeed "MODE $::pooshy(principal) -o $nick"
- }
- if {[string equal -nocase $cmd voice]} {
- putspeed "MODE $::pooshy(principal) +v $nick"
- }
- if {[string equal -nocase $cmd devoice]} {
- putspeed "MODE $::pooshy(principal) -v $nick"
- }
- if {[string equal -nocase $cmd bot]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :---\002 LISTE DES BOTS ENREGISTRÉS \002---";
- set liste [open $::fichier(bot) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :(\002$num\002) [lindex $a 0] (Owner du robot: [lindex $a 1] Adresse email: [lindex $a 2]) ajouter par [lindex $a 3] le [lindex $a 4]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addbot]} {
- set pseudo [lindex $arg 4]
- set owner [lindex $arg 5]
- set email [lindex $arg 6]
- if {$pseudo eq "" || $owner eq "" || $email eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) addbot <pseudo du robot> <owner du robot> <email de l'owner>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {[verify:b $::fichier(blacklistbot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Robot blacklisté !"; return}
- if {[verify:b $::fichier(bot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Bot déjà existant !"; return}
- ajouter:donnee $::fichier(bot) $pseudo $owner $email $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Addbot :\002 Robot ajouté !"
- }
- if {[string equal -nocase $cmd delbot]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) delbot <pseudo>"; return}
- if {![verify:b $::fichier(bot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Robot inexistant !"; return}
- effacer:donnee $::fichier(bot) 0 $pseudo
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Delbot :\002 Robot supprimé !"
- }
- if {[string equal -nocase $cmd opmybot]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :---\002 LISTE DES OPMYBOTS \002---";
- set liste [open $::fichier(opmybot) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :(\002$num\002) [lindex $a 0] (Chan: [lindex $a 1] Pass: [lindex $a 2]) ajouter par [lindex $a 3] le [lindex $a 4]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addopmybot]} {
- set pseudo [lindex $arg 4]
- set chan [lindex $arg 5]
- set pass [lindex $arg 6]
- if {$pseudo eq "" || [string index $chan 0] ne "#" || $pass eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) addopmybot <pseudo du robot> <#chan> <pass>"; return}
- if {[string equal -nocase $chan $::pooshy(chan)]||[string equal -nocase $chan $::pooshy(principal)]||[string equal -nocase $chan $::pooshy(ops)]||[string equal -nocase $chan $::pooshy(ircop)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Ce chan est protégé !"; return}
- if {[verify:b $::fichier(blacklistopmybot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Robot blacklisté !"; return}
- if {![verify:b $::fichier(bot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Robot inexistant !"; return}
- if {[verify:b $::fichier(opmybot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Opmybot déjà existant pour ce robot !"; return}
- if {[verify:b $::fichier(opmybot) 1 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Chan possédant déjà un opmybot !"; return}
- ajouter:donnee $::fichier(opmybot) $pseudo $chan $pass $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Addopmybot :\002 Opmybot ajouté !"
- }
- if {[string equal -nocase $cmd delopmybot]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) delopmybot <pseudo>"; return}
- if {![verify:b $::fichier(opmybot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Robot inexistant !"; return}
- effacer:donnee $::fichier(opmybot) 0 $pseudo
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Delopmybot :\002 Opmybot supprimé !"
- }
- if {[string equal -nocase $cmd blacklistbot]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :---\002 LISTE DE LA BLACKLISTBOT \002---";
- set liste [open $::fichier(blacklistbot) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :(\002$num\002) [lindex $a 0] (raison : [join [lrange [split $a] 5 end]]) ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addblacklistbot]} {
- set pseudo [lindex $arg 4]
- set raison [join [lrange [split $arg] 5 end]]
- if {$pseudo eq ""||$raison eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) addblacklistbot <pseudo du robot> <raison>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {[verify:b $::fichier(blacklistbot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Bot déjà blacklisté !"; return}
- ajouter:donnee $::fichier(blacklistbot) $pseudo $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"] $raison
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Addblacklistbot :\002 Robot ajouté !"
- }
- if {[string equal -nocase $cmd delblacklistbot]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) delblacklistbot <pseudo>"; return}
- if {![verify:b $::fichier(blacklistbot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Robot inexistant !"; return}
- effacer:donnee $::fichier(blacklistbot) 0 $pseudo
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Delblacklistbot :\002 Robot supprimé !"
- }
- if {[string equal -nocase $cmd blacklistopmybot]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :---\002 LISTE DE LA BLACKLISTOPMYBOT \002---";
- set liste [open $::fichier(blacklistopmybot) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :(\002$num\002) [lindex $a 0] (raison : [join [lrange [split $a] 5 end]]) ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addblacklistopmybot]} {
- set pseudo [lindex $arg 4]
- set raison [join [lrange [split $arg] 5 end]]
- if {$pseudo eq ""||$raison eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) addblacklistopmybot <pseudo du robot> <raison>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {[verify:b $::fichier(blacklistopmybot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Bot déjà blacklisté !"; return}
- ajouter:donnee $::fichier(blacklistopmybot) $pseudo $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"] $raison
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Addblacklistopmybot :\002 Robot ajouté !"
- }
- if {[string equal -nocase $cmd delblacklistopmybot]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) delblacklistopmybot <pseudo>"; return}
- if {![verify:b $::fichier(blacklistopmybot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Robot inexistant !"; return}
- effacer:donnee $::fichier(blacklistopmybot) 0 $pseudo
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Delblacklistopmybot :\002 Robot supprimé !"
- }
- if {[string equal -nocase $cmd isreg]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) isreg <pseudo>"; return}
- if {![verify:b $::fichier(bot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Ce robot n'est pas reg !"; return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Isreg :\002 Le robot est reg !"
- }
- if {[string equal -nocase $cmd glinenoreg]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) isreg <pseudo du robot>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {[verify:b $::fichier(bot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Ce robot est reg !"; return}
- set ::pooshy(cmd) "GLINE"
- set ::pooshy(nick) $::pooshy(pseudoi)
- set ::pooshy(hand) $::pooshy(pseudoi)
- set ::pooshy(raison) $::raison(noreg)
- set ::pooshy(temp) $::temp(noreg)
- set ::pooshy(expire) "expire le [clock format [expr $::pooshy(temp) + [clock second]] -format "%d/%m/%Y à %H:%M (GMT+1)"]"
- set ::pooshy(heure) "[clock format [clock seconds] -format "%Y/%m/%d %H:%M"]"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoi) WHOIS $pseudo"
- }
- if {[string equal -nocase $cmd reop]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoi) reop <pseudo du robot>"; return}
- if {![verify:b $::fichier(opmybot) 0 $pseudo]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoi) NOTICE $nick :\002Erreur :\002 Ce robot n'a aucun opmybot !"; return}
- set liste [open $::fichier(opmybot) r]
- while {![eof $liste]} {
- gets $liste a
- if {[string equal -nocase [lindex $a 0] $pseudo]} {set chan [lindex $a 1]}
- }
- putdcc $::pooshy(idx) ":$::pooshy(pseudor) MODE $chan +o $pseudo"
- putdcc $::pooshy(idx) ":$::pooshy(pseudor) PRIVMSG $::pooshy(principal) :•Pooshy ReOp• Asked by \037$nick\037 => \2\0033•\2\003Accepté\2\0033•\2\003 $pseudo sur $chan"
- putdcc $::pooshy(idx) ":$::pooshy(pseudor) PRIVMSG $chan :•Pooshy Service• °ReOp° => \2$pseudo\2 sur $chan"
- }
- }
- ####################
- # POOSHY-OMICRON #
- ####################
- if {[string equal -nocase $nickto $::pooshy(pseudoo)]} {
- if {![verify:a $::fichier(alist) 2 $nick]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifier"; return}
- if {![islevel $nick I]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette socket !"; return}
- if {[string equal -nocase $cmd help]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :------ \002 Omicron (SERVICE IRCOPERATOR) \002 ------"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002 OP \002 \002 DEOP \002 \002 VOICE \002 \002 DEVOICE \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002 KICK \002 \002 BAN \002 \002 BANLIST \002 \002 UNBAN \002 \002 UNBANALL \002 \002 KICKBAN \002 \002 KICKALL \002 \002 BANALL \002 \002 KICKBANALL \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002 KILL \002 \002 KLINE \002 \002 KLINELIST \002 \002 GLINE \002 \002 GLINELIST \002 \002 KILLALL \002 \002 KLINEALL \002 \002 GLINEALL \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002 MODE \002 \002 TOPIC \002 \002 XWHOIS \002 \002 XWHOWAS \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002 SAJOIN \002 \002 SAPART \002 \002 RNICK \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :------ \002 Fin \002 ------"
- }
- if {[string equal -nocase $cmd op]} {
- set chan [lindex $arg 4]
- set pseudo [lindex $arg 5]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) op <#chan> <nick>"; return}
- if {$pseudo eq ""} {set pseudo $nick}
- if {[string equal -nocase $pseudo $::pooshy(pseudoo)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Doucement !!"; return}
- set ::pooshy(nick) $nick
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan +o $pseudo"
- }
- if {[string equal -nocase $cmd opall]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) opall <#chan>"; return}
- set ::pooshy(cmd) "OPALL"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHO $chan"
- }
- if {[string equal -nocase $cmd deop]} {
- set chan [lindex $arg 4]
- set pseudo [lindex $arg 5]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) deop <#chan> <nick>"; return}
- if {$pseudo eq ""} {set pseudo $nick}
- set ::pooshy(nick) $nick
- if {[string equal -nocase $pseudo $::pooshy(pseudoo)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Doucement !!"; return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan -o $pseudo"
- }
- if {[string equal -nocase $cmd deopall]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) deopall <#chan>"; return}
- set ::pooshy(cmd) "DEOPALL"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHO $chan"
- }
- if {[string equal -nocase $cmd voice]} {
- set chan [lindex $arg 4]
- set pseudo [lindex $arg 5]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) voice <#chan> <nick>"; return}
- if {$pseudo eq ""} {set pseudo $nick}
- if {[string equal -nocase $pseudo $::pooshy(pseudoo)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Doucement !!"; return}
- set ::pooshy(nick) $nick
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan +v $pseudo"
- }
- if {[string equal -nocase $cmd voiceall]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) voiceall <#chan>"; return}
- set ::pooshy(cmd) "VOICEALL"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHO $chan"
- }
- if {[string equal -nocase $cmd devoice]} {
- set chan [lindex $arg 4]
- set pseudo [lindex $arg 5]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) devoice <#chan> <nick>"; return}
- if {$pseudo eq ""} {set pseudo $nick}
- if {[string equal -nocase $pseudo $::pooshy(pseudoo)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Doucement !!"; return}
- set ::pooshy(nick) $nick
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan -v $pseudo"
- }
- if {[string equal -nocase $cmd devoiceall]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) devoiceall <#chan>"; return}
- set ::pooshy(cmd) "DEVOICEALL"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHO $chan"
- }
- if {[string equal -nocase $cmd invite]} {
- set chan [lindex $arg 4]
- set pseudo [lindex $arg 5]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) invite <#chan> <nick>"; return}
- if {$pseudo eq ""} {set pseudo $nick}
- if {[string equal -nocase $pseudo $::pooshy(pseudoo)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Doucement !!"; return}
- set ::pooshy(nick) $nick
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) INVITE $pseudo $chan"
- }
- if {[string equal -nocase $cmd mode]} {
- set chan [lindex $arg 4]
- set mode [lindex $arg 5]
- set value [join [lrange [split $arg] 6 end]]
- if {$mode eq ""||[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) mode <#chan> <mode>"; return}
- if {$value eq ""} {set value ""}
- if {[string match *O* $mode ]} {if {$pooshy(level)<"1"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Votre level ne vous permet pas d'appliquer le mode O"; return}}
- if {[string match *A* $mode ]} {if {$pooshy(level)<"2"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Votre level ne vous permet pas d'appliquer le mode A"; return}}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan $mode $value"
- }
- if {[string equal -nocase $cmd topic]} {
- set chan [lindex $arg 4]
- set texte [join [lrange [split $arg] 5 end]]
- if {$texte eq ""||[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) topic <#chan> <texte>"; return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) TOPIC $chan :$texte"
- }
- if {[string equal -nocase $cmd kick]} {
- set chan [lindex $arg 4]
- set pseudo [lindex $arg 5]
- set raison [join [lrange [split $arg] 6 end]]
- if {$pseudo eq ""||[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) kick <#chan> <pseudo> <raison>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {$raison eq ""} {set raison $::raison(kick)}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) KICK $chan $pseudo :$raison - $nick"
- }
- if {[string equal -nocase $cmd kickall]} {
- set chan [lindex $arg 4]
- set raison [join [lrange [split $arg] 5 end]]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) kickall <#chan> <raison>"; return}
- if {$raison eq ""} {set raison $::raison(kick)}
- set ::pooshy(cmd) "KICKALL"
- set ::pooshy(hand) $nick
- set ::pooshy(raison) $raison
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHO $chan"
- }
- if {[string equal -nocase $cmd banlist]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) banlist <#chan>"; return}
- set ::pooshy(cmd) "BANLIST"
- set ::pooshy(num) "0"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $pooshy(nick) :---\002 LISTE DE BANLIST \002---";
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan +b"
- }
- if {[string equal -nocase $cmd ban]} {
- set chan [lindex $arg 4]
- set host [lindex $arg 5]
- if {$host eq ""||[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) ban <#chan> <host>"; return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan +b $host"
- }
- if {[string equal -nocase $cmd banall]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) banall <#chan>"; return}
- set ::pooshy(cmd) "BANALL"
- set ::pooshy(nick) $nick
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHO $chan"
- }
- if {[string equal -nocase $cmd unban]} {
- set chan [lindex $arg 4]
- set host [lindex $arg 5]
- if {$host eq ""||[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) unban <#chan> <host>"; return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan -b $host"
- }
- if {[string equal -nocase $cmd unbanall]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) unbanall <#chan>"; return}
- set ::pooshy(cmd) "UNBANALL"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan b"
- }
- if {[string equal -nocase $cmd kickban]} {
- set chan [lindex $arg 4]
- set pseudo [lindex $arg 5]
- set raison [join [lrange [split $arg] 6 end]]
- if {$pseudo eq ""||[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) kickban <#chan> <pseudo> <raison>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {$raison eq ""} {set raison $::raison(kick)}
- set ::pooshy(cmd) "KICKBAN"
- set ::pooshy(chan) "$chan"
- set ::pooshy(raison) "$raison"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHOIS $pseudo"
- }
- if {[string equal -nocase $cmd kickbanall]} {
- set chan [lindex $arg 4]
- set raison [join [lrange [split $arg] 5 end]]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) kickbanall <#chan> <raison>"; return}
- if {$raison eq ""} {set raison $::raison(kick)}
- set ::pooshy(nick) "$nick"
- set ::pooshy(cmd) "KICKBANALL"
- set ::pooshy(chan) "$chan"
- set ::pooshy(hand) $nick
- set ::pooshy(raison) "$raison"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHO $chan"
- }
- if {[string equal -nocase $cmd kill]} {
- set pseudo [lindex $arg 4]
- set raison [join [lrange [split $arg] 5 end]]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) kill <pseudo> <raison>"; return}
- if {$raison eq ""} {set raison $::raison(kill)}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- set ::pooshy(nick) $nick
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) KILL $pseudo $::pooshy(pseudoo) ($raison) - $nick"
- }
- if {[string equal -nocase $cmd killall]} {
- set chan [lindex $arg 4]
- set raison [join [lrange [split $arg] 5 end]]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) killall <#chan> <raison>"; return}
- if {$raison eq ""} {set raison $::raison(kill)}
- set ::pooshy(cmd) "KILLALL"
- set ::pooshy(hand) $nick
- set ::pooshy(raison) $raison
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHO $chan"
- }
- if {[string equal -nocase $cmd klinelist]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :---\002 LISTE DE LA KLINELIST \002---";
- set ::pooshy(cmd) "KLINELIST"
- set ::pooshy(nick) $nick
- set ::pooshy(num) "0"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) STATS K"
- }
- if {[string equal -nocase $cmd kline]} {
- set pseudo [lindex $arg 4]
- set temp [lindex $arg 5]
- set raison [join [lrange [split $arg] 6 end]]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) kline <pseudo> <tempenseconde> <raison>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {$raison eq ""} {set raison $::raison(kline)}
- if {$temp eq ""} {set temp $::temp(kline)}
- set ::pooshy(cmd) "KLINE"
- set ::pooshy(hand) $nick
- set ::pooshy(raison) $raison
- set ::pooshy(temp) $temp
- set ::pooshy(expire) "expire le [clock format [expr $temp + [clock second]] -format "%d/%m/%Y à %H:%M (GMT+1)"]"
- set ::pooshy(heure) "[clock format [clock seconds] -format "%Y/%m/%d %H:%M"]"
- set ::pooshy(nick) $::pooshy(pseudoo)
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHOIS $pseudo"
- }
- if {[string equal -nocase $cmd unkline]} {
- set host [lindex $arg 4]
- if {$host eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) unkline <host>"; return}
- putdcc $::pooshy(idx) ":$::pooshy(link) TKL - k [lindex [split $host @] 0] [lindex [split $host @] 1] $::pooshy(pseudoo)"
- }
- if {[string equal -nocase $cmd glinelist]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :---\002 LISTE DE LA GLINELIST \002---";
- set ::pooshy(cmd) "GLINELIST"
- set ::pooshy(num) "0"
- set ::pooshy(nick) $nick
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) STATS G"
- }
- if {[string equal -nocase $cmd gline]} {
- set pseudo [lindex $arg 4]
- set temp [lindex $arg 5]
- set raison [join [lrange [split $arg] 6 end]]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) gline <pseudo> <tempenseconde> <raison>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {$raison eq ""} {set raison $::raison(gline)}
- if {$temp eq ""} {set temp $::temp(kline)}
- set ::pooshy(cmd) "GLINE"
- set ::pooshy(hand) $nick
- set ::pooshy(raison) $raison
- set ::pooshy(temp) $temp
- set ::pooshy(expire) "expire le [clock format [expr $temp + [clock second]] -format "%d/%m/%Y à %H:%M (GMT+1)"]"
- set ::pooshy(heure) "[clock format [clock seconds] -format "%Y/%m/%d %H:%M"]"
- set ::pooshy(nick) $::pooshy(pseudoo)
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHOIS $pseudo"
- }
- if {[string equal -nocase $cmd ungline]} {
- set host [lindex $arg 4]
- if {$host eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) ungline <host>"; return}
- putdcc $::pooshy(idx) ":$::pooshy(link) TKL - G [lindex [split $host @] 0] [lindex [split $host @] 1] $::pooshy(pseudoo)"
- }
- if {[string equal -nocase $cmd klineall]} {
- set chan [lindex $arg 4]
- set temp [lindex $arg 5]
- set raison [join [lrange [split $arg] 6 end]]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) klineall <#chan> <tempenseconde> <raison>"; return}
- if {$raison eq ""} {set raison $::raison(kline)}
- if {$temp eq ""} {set temp $::temp(kline)}
- set ::pooshy(cmd) "KLINEALL"
- set ::pooshy(hand) $nick
- set ::pooshy(raison) $raison
- set ::pooshy(temp) $temp
- set ::pooshy(expire) "expire le [clock format [expr $temp + [clock second]] -format "%d/%m/%Y à %H:%M (GMT+1)"]"
- set ::pooshy(heure) "[clock format [clock seconds] -format "%Y/%m/%d %H:%M"]"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHO $chan"
- }
- if {[string equal -nocase $cmd unklineall]} {
- set ::pooshy(cmd) "UNKLINEALL"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) STATS K"
- }
- if {[string equal -nocase $cmd glineall]} {
- set chan [lindex $arg 4]
- set temp [lindex $arg 5]
- set raison [join [lrange [split $arg] 6 end]]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) glineall <#chan> <tempenseconde> <raison>"; return}
- if {$raison eq ""} {set raison $::raison(gline)}
- if {$temp eq ""} {set temp $::temp(gline)}
- set ::pooshy(cmd) "GLINEALL"
- set ::pooshy(hand) $nick
- set ::pooshy(raison) $raison
- set ::pooshy(temp) $temp
- set ::pooshy(expire) "expire le [clock format [expr $temp + [clock second]] -format "%d/%m/%Y à %H:%M (GMT+1)"]"
- set ::pooshy(heure) "[clock format [clock seconds] -format "%Y/%m/%d %H:%M"]"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHO $chan"
- }
- if {[string equal -nocase $cmd unglineall]} {
- set ::pooshy(cmd) "UNGLINEALL"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) STATS G"
- }
- if {[string equal -nocase $cmd rnick]} {
- set ancien [lindex $arg 4]
- set nouveau [lindex $arg 5]
- set ::pooshy(nick) $nick
- if {$ancien eq ""||$nouveau eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) rnick <nick> <newnick>"; return}
- if {[string equal -nocase $ancien $::botnick]||[string equal -nocase $ancien $::pooshy(pseudoa)]||[string equal -nocase $ancien $::pooshy(pseudob)]||[string equal -nocase $ancien $::pooshy(pseudor)]||[string equal -nocase $ancien $::pooshy(pseudos)]||[string equal -nocase $ancien $::pooshy(pseudoh)]||[string equal -nocase $ancien $::pooshy(pseudog)]||[string equal -nocase $ancien $::pooshy(pseudod)]||[string equal -nocase $ancien $::pooshy(pseudoe)]||[string equal -nocase $ancien $::pooshy(pseudoo)]||[string equal -nocase $ancien $::pooshy(pseudoi)]||[string equal -nocase $ancien $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) SVSNICK $ancien $nouveau 963086432"
- }
- if {[string equal -nocase $cmd sajoin]} {
- set chan [lindex $arg 4]
- set pseudo [lindex $arg 5]
- set ::pooshy(nick) $nick
- if {$chan eq ""||[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) sajoin <#chan> <pseudo>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {$pseudo eq ""} {set pseudo $nick}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) SAJOIN $pseudo $chan"
- }
- if {[string equal -nocase $cmd sapart]} {
- set chan [lindex $arg 4]
- set pseudo [lindex $arg 5]
- set ::pooshy(nick) $nick
- if {$chan eq ""||[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) sapart <#chan> <pseudo>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- if {$pseudo eq ""} {set pseudo $nick}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) SAPART $pseudo $chan"
- }
- if {[string equal -nocase $cmd notices]} {
- set texte [join [lrange [split $arg] 4 end]]
- if {$texte eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) notices <texte>"; return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $*.* :$texte"
- }
- if {[string equal -nocase $cmd xwhois]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) xwhois <pseudo>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- set ::pooshy(nick) $nick
- set ::pooshy(cmd) "XWHOIS"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :---\002 XWHOIS DE $pseudo \002---";
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHOIS $pseudo"
- }
- if {[string equal -nocase $cmd xwhowas]} {
- set pseudo [lindex $arg 4]
- if {$pseudo eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudoo) xwhowas <pseudo>"; return}
- if {[verify:b $::fichier(socket) 0 $pseudo]||[string equal -nocase $pseudo $::botnick]||[string equal -nocase $pseudo $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $pseudo $::pooshy(pseudor)]||[string equal -nocase $pseudo $::pooshy(pseudos)]||[string equal -nocase $pseudo $::pooshy(pseudoh)]||[string equal -nocase $pseudo $::pooshy(pseudog)]||[string equal -nocase $pseudo $::pooshy(pseudod)]||[string equal -nocase $pseudo $::pooshy(pseudoe)]||[string equal -nocase $pseudo $::pooshy(pseudoo)]||[string equal -nocase $pseudo $::pooshy(pseudoi)]||[string equal -nocase $pseudo $::pooshy(pseudou)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :\002Erreur :\002 Ce pseudo est protégé !"; return}
- set ::pooshy(nick) $nick
- set ::pooshy(cmd) "XWHOWAS"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $nick :---\002 XWHOWAS DE $pseudo \002---";
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHOWAS $pseudo"
- }
- }
- ####################
- # POOSHY-UPSILON #
- ####################
- if {[string equal -nocase $nickto $::pooshy(pseudou)]} {
- if {![verify:a $::fichier(alist) 2 $nick]} {putdcc $::pooshy(idx) ":$::pooshy(pseudod) NOTICE $nick :\002Erreur :\002 Vous n'êtes pas authentifier"; return}
- if {![islevel $nick A]} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 Vous n'avez pas access à cette socket !"; return}
- if {[string equal -nocase $cmd help]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :------ \002 Upsilon (SERVICE VERIFY CHANNEL) \002 ------"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002 BADCHAN \002 \002 ADDBADCHAN \002 \002 DELBADCHAN"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002 PROTECTCHAN \002 \002 ADDPROTECTCHAN \002 \002 DELPROTECTCHAN\002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002 CLOSE \002 \002 ADDCLOSE \002 \002 DELCLOSE \002"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :------ \002 Fin \002 ------"
- }
- if {[string equal -nocase $cmd badchan]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :---\002 LISTE DES CHANS BADCHAN \002---";
- set liste [open $::fichier(badchan) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addbadchan]} {
- set chan [lindex $arg 4]
- if {$chan eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudou) addbadchan <forme>"; return}
- if {[verify:b $::fichier(badchan) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 Forme déjà existante !"; return}
- ajouter:donnee $::fichier(badchan) $chan $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Addbadchan :\002 Forme ajoutée !"
- }
- if {[string equal -nocase $cmd delbadchan]} {
- set chan [lindex $arg 4]
- if {$chan eq ""} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudou) delbadchan <forme>"; return}
- if {![verify:b $::fichier(badchan) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 Forme inexistante !"; return}
- effacer:donnee $::fichier(badchan) 0 $chan
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Delbadchan :\002 Forme supprimé !"
- }
- if {[string equal -nocase $cmd protectchan]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :---\002 LISTE DES CHANS PROTECTCHAN \002---";
- set liste [open $::fichier(protectchan) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addprotectchan]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudou) addprotectchan <#chan>"; return}
- if {[verify:b $::fichier(protectchan) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 Chan déjà existant !"; return}
- ajouter:donnee $::fichier(protectchan) $chan $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Addprotectchan :\002 Chan ajoutée !"
- }
- if {[string equal -nocase $cmd delprotectchan]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudou) delprotectchan <#chan>"; return}
- if {![verify:b $::fichier(protectchan) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 Chan inexistant !"; return}
- effacer:donnee $::fichier(protectchan) 0 $chan
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Delprotectchan :\002 Chan supprimé !"
- }
- if {[string equal -nocase $cmd close]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :---\002 LISTE DES CHANS CLOSE \002---";
- set liste [open $::fichier(close) r]
- set num 0
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {incr num 1;putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :(\002$num\002) [lindex $a 0] ajouter par [lindex $a 1] le [lindex $a 2]."}
- }
- if {$num eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :Aucun enregistrement." }
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :---\002 FIN DE LA LISTE \002--- Total (\002$num\002)";
- close $liste
- }
- if {[string equal -nocase $cmd addclose]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudou) addclose <#chan>"; return}
- if {[string equal -nocase $chan $::pooshy(chan)]||[string equal -nocase $chan $::pooshy(principal)]||[string equal -nocase $chan $::pooshy(ops)]||[string equal -nocase $chan $::pooshy(ircop)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoa) NOTICE $nick :\002Erreur :\002 Ce chan est protégé !"; return}
- if {[verify:b $::fichier(close) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 Chan déjà existant !"; return}
- ajouter:donnee $::fichier(close) $chan $nick [clock format [clock seconds] -format "%d/%m/%Y à %Hh%M"]
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Addclose :\002 Chan ajoutée !"
- set ::pooshy(cmd) CLOSE
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) JOIN $chan"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) MODE $chan +ntis+o $::pooshy(pseudou)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) TOPIC $chan :Salon fermé !"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) WHO $chan"
- }
- }
- if {[string equal -nocase $cmd delclose]} {
- set chan [lindex $arg 4]
- if {[string index $chan 0] ne "#"} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 /msg $::pooshy(pseudou) delclose <#chan>"; return}
- if {![verify:b $::fichier(close) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Erreur :\002 Chan inexistant !"; return}
- effacer:donnee $::fichier(close) 0 $chan
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) NOTICE $nick :\002Delclose :\002 Chan supprimé !"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) TOPIC $chan :Bienvenue sur $chan "
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) PART $chan"
- }
- ############
- # ANTISPAM #
- ############
- if {[verify:b $::fichier(socket) 0 $nickto]} {
- set texte [join [lrange [split $arg] 3 end]]
- if {[verify:a $::fichier(mot) 0 $texte]} {
- set ::pooshy(cmd) "GLINE"
- set ::pooshy(nick) $::pooshy(pseudod)
- set ::pooshy(hand) $::pooshy(pseudod)
- set ::pooshy(raison) $::raison(spam)
- set ::pooshy(temp) $::temp(spam)
- set ::pooshy(expire) "expire le [clock format [expr $::pooshy(temp) + [clock second]] -format "%d/%m/%Y à %H:%M (GMT+1)"]"
- set ::pooshy(heure) "[clock format [clock seconds] -format "%Y/%m/%d %H:%M"]"
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) WHOIS $nick"
- }
- }
- if {[string match -nocase *#* $nickto]} {
- set texte [join [lrange [split $arg] 3 end]]
- if {[verify:a $::fichier(mot) 0 $texte]} {
- set ::pooshy(cmd) "GLINE"
- set ::pooshy(nick) $::pooshy(pseudod)
- set ::pooshy(hand) $::pooshy(pseudod)
- set ::pooshy(raison) $::raison(spam)
- set ::pooshy(temp) $::temp(spam)
- set ::pooshy(expire) "expire le [clock format [expr $::pooshy(temp) + [clock second]] -format "%d/%m/%Y à %H:%M (GMT+1)"]"
- set ::pooshy(heure) "[clock format [clock seconds] -format "%Y/%m/%d %H:%M"]"
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) WHOIS $nick"
- }
- }
- }
- if {[lindex $arg 1] eq "INVITE"} {
- if {![verify:b $::fichier(socket) 0 [lindex $arg 2]]} {return}
- set nick [string trim [lindex $arg 0] :]
- set chan [string trim [lindex $arg 3] :]
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) KILL $nick $::pooshy(pseudod) ($::raison(massinvite)) - $::pooshy(pseudod)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) TOPIC $chan : \002(! Massinvite i) $::raison(massinvite)"
- }
- if {[lindex $arg 1] eq "NOTICE"} {
- if {![verify:b $::fichier(chansocket) 0 [lindex $arg 2]]} {return}
- set nick [string trim [lindex $arg 0] :]
- putdcc $::pooshy(idx) ":$::pooshy(pseudod) KILL $nick $::pooshy(pseudod) ($::raison(noticechan)) - $::pooshy(pseudod)"
- }
- if {[lindex $arg 1] eq "PING"} {
- putdcc $idx "PONG [lindex $arg 1]"
- return
- }
- if {[lindex $arg 0] eq "NICK"} {
- antifloodlog
- if {$::stoplog eq "1"} {return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoe) PRIVMSG $::pooshy(chan) :(\002CONNEXION\002) [lindex $arg 1] ~ [lindex $arg 1]![lindex $arg 4]@[lindex $arg 5] ~"
- if {[string equal -nocase [lindex $arg 1] $::botnick]} {return}
- proxy:check [lindex $arg 5] [lindex $arg 1]
- set ::pooshy(cmd) "VERIFY"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) WHOIS [lindex $arg 1]"
- }
- if {[lindex $arg 1] eq "NICK"} {
- isnick [string trim [lindex $arg 0] :] [lindex $arg 2]
- antifloodlog
- if {$::stoplog eq "1"} {return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoe) PRIVMSG $::pooshy(chan) :(\002NICK\002) [string trim [lindex $arg 0] :] ~> [lindex $arg 2]"
- if {[verify:a $::fichier(nick) 0 [lindex $arg 2]]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) KILL [lindex $arg 2] $::pooshy(pseudob) ($::raison(nick)) - $::pooshy(pseudob)"
- }
- }
- if {[lindex $arg 1] eq "QUIT"} {
- effacer:donnee $::fichier(alist) 2 [string trim [lindex $arg 0] :]
- antifloodlog
- if {$::stoplog eq "1"} {return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoe) PRIVMSG $::pooshy(chan) :(\002QUIT\002) [string trim [lindex $arg 0] :]"
- }
- if {[lindex $arg 1] eq "MODE"} {antifloodlog;if {$::stoplog eq "1"} {return};putdcc $::pooshy(idx) ":$::pooshy(pseudoe) PRIVMSG $::pooshy(chan) :(\002MODE\002) [string trim [lindex $arg 0] :] ~> [join [lrange [split $arg] 1 end]]"
- if {[verify:b $::fichier(defmode) 0 [lindex $arg 2]]} {
- set liste [open $::fichier(defmode) r]
- while {![eof $liste]} {
- gets $liste a
- if {[string equal -nocase [lindex $a 0] [lindex $arg 2]]} {set mode [join [lrange [split $a] 5 end]]}
- }
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) MODE [lindex $arg 2] +$mode"
- }
- }
- if {[lindex $arg 1] eq "TOPIC"} {
- antifloodlog
- if {$::stoplog eq "1"} {return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoe) PRIVMSG $::pooshy(chan) :(\002TOPIC\002) [string trim [lindex $arg 0] :] ~ [lindex $arg 2] ~ ~> [string trim [join [lrange [split $arg] 3 end]] :]"
- if {[verify:b $::fichier(deftopic) 0 [lindex $arg 2]]} {
- set liste [open $::fichier(deftopic) r]
- while {![eof $liste]} {
- gets $liste a
- if {[string equal -nocase [lindex $a 0] [lindex $arg 2]]} {set topic [join [lrange [split $a] 5 end]]}
- }
- putdcc $::pooshy(idx) ":$::pooshy(pseudog) TOPIC [lindex $arg 2] :$topic"
- }
- }
- if {[lindex $arg 1] eq "KICK"} {antifloodlog;if {$::stoplog eq "1"} {return};putdcc $::pooshy(idx) ":$::pooshy(pseudoe) PRIVMSG $::pooshy(chan) :(\002KICK\002) [string trim [lindex $arg 0] :] ~> [join [lrange [split $arg] 1 end]]"}
- if {[lindex $arg 1] eq "JOIN"} {
- antifloodlog
- if {$::stoplog eq "1"} {return}
- putdcc $::pooshy(idx) ":$::pooshy(pseudoe) PRIVMSG $::pooshy(chan) :(\002JOIN\002) [string trim [lindex $arg 0] :] ~> [lindex $arg 2]"
- foreach chan [split [lindex $arg 2] ,] {
- if {[string equal -nocase $chan $::pooshy(chan)]} {return}
- if {[string equal -nocase $chan $::pooshy(ops)]} {return}
- if {[string equal -nocase $chan $::pooshy(principal)]} {return}
- if {[verify:b $::fichier(autovoice) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) MODE $chan +v [lindex $arg 0]"}
- if {[verify:b $::fichier(autoop) 0 $chan]} {putdcc $::pooshy(idx) ":$::pooshy(pseudog) MODE $chan +o [lindex $arg 0]"}
- if {[verify:a $::fichier(badchan) 0 $chan]} {
- if {[verify:a $::fichier(protectchan) 0 $chan]} {return}
- set ::pooshy(cmd) CLOSE
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) JOIN $chan"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) MODE $chan +ntis+o $::pooshy(pseudou)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) TOPIC $chan :$::topic(badchan)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) WHO $chan"
- timer $::temp(badclose) [list putdcc $::pooshy(idx) ":$::pooshy(pseudou) PART $chan"]
- }
- if {[verify:b $::fichier(close) 0 $chan]} {
- set ::pooshy(cmd) CLOSE
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) JOIN $chan"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) MODE $chan +ntis+o $::pooshy(pseudou)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) TOPIC $chan :$::topic(close)"
- putdcc $::pooshy(idx) ":$::pooshy(pseudou) WHO $chan"
- timer $::temp(badclose) [list putdcc $::pooshy(idx) ":$::pooshy(pseudou) PART $chan"]
- }
- }
- }
- if {[lindex $arg 1] eq "PART"} {antifloodlog;if {$::stoplog eq "1"} {return};putdcc $::pooshy(idx) ":$::pooshy(pseudoe) PRIVMSG $::pooshy(chan) :(\002PART\002) [string trim [lindex $arg 0] :] ~> [lindex $arg 2]"}
- if {[lindex $arg 1] eq "PING"} {
- putdcc $idx "PONG [lindex $arg 1]"
- return
- }
- switch -exact [lindex $arg 1] {
- "311" {
- set nick [lindex $arg 3]
- set ident [lindex $arg 4]
- set host [lindex $arg 5]
- set realname [string trim [join [lrange [split $arg] 7 end]] :]
- set vhost "$nick!$ident@$host"
- if {$::pooshy(cmd) eq "XWHOIS"} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Nick :\002 $nick"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Host :\002 $vhost"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Realname :\002 $realname"
- }
- if {$::pooshy(cmd) eq "VERIFY"} {
- if {[verify:a $::fichier(proxy) 0 $host]} {
- set ::pooshy(cmd) "GLINE"
- set ::pooshy(nick) $::pooshy(pseudoa)
- set ::pooshy(hand) $::pooshy(pseudoa)
- set ::pooshy(raison) $::raison(proxy)
- set ::pooshy(temp) "1"
- set ::pooshy(expire) "expire le [clock format [expr $::pooshy(temp) + [clock second]] -format "%d/%m/%Y à %H:%M (GMT+1)"]"
- set ::pooshy(heure) "[clock format [clock seconds] -format "%Y/%m/%d %H:%M"]"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) WHOIS $nick"
- }
- if {[verify:a $::fichier(nick) 0 $nick]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) KILL $nick $::pooshy(pseudob) ($::raison(nick)) - $::pooshy(pseudob)"
- }
- if {[verify:a $::fichier(realname) 0 $realname]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) KILL $nick $::pooshy(pseudob) ($::raison(realname)) - $::pooshy(pseudob)"
- }
- if {[verify:a $::fichier(ident) 0 $ident]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) KILL $nick $::pooshy(pseudob) ($::raison(ident)) - $::pooshy(pseudob)"
- }
- if {[verify:a $::fichier(blacklist) 0 $vhost]} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudob) KILL $nick $::pooshy(pseudob) (blacklist) - $::pooshy(pseudob)"
- }
- }
- }
- "314" {
- set nick [lindex $arg 3]
- set ident [lindex $arg 4]
- set host [lindex $arg 5]
- set realname [string trim [join [lrange [split $arg] 7 end]] :]
- set vhost "$nick!$ident@$host"
- if {$::pooshy(cmd) eq "XWHOWAS"} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Nick :\002 $nick"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Host :\002 $vhost"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Realname :\002 $realname"
- }
- }
- "378" {
- set host [lindex $arg 8]
- if {$::pooshy(cmd) eq "KLINE"} {
- putdcc $::pooshy(idx) ":$::pooshy(link) TKL + k * $host $::pooshy(nick) [expr [unixtime] + $::pooshy(temp)] [unixtime] :$::pooshy(nick) ($::pooshy(raison)), $::pooshy(expire) - $::pooshy(hand) $::pooshy(heure)"
- set ::pooshy(cmd) -
- }
- if {$::pooshy(cmd) eq "GLINE"} {
- putdcc $::pooshy(idx) ":$::pooshy(link) TKL + G * $host $::pooshy(nick) [expr [unixtime] + $::pooshy(temp)] [unixtime] :$::pooshy(nick) ($::pooshy(raison)), $::pooshy(expire) - $::pooshy(hand) $::pooshy(heure)"
- set ::pooshy(cmd) -
- }
- if {$::pooshy(cmd) eq "KLINEALL"} {
- putdcc $::pooshy(idx) ":$::pooshy(link) TKL + k * $host $::pooshy(nick) [expr [unixtime] + $::pooshy(temp)] [unixtime] :$::pooshy(nick) ($::pooshy(raison)), $::pooshy(expire) - $::pooshy(hand) $::pooshy(heure)"
- }
- if {$::pooshy(cmd) eq "GLINEALL"} {
- putdcc $::pooshy(idx) ":$::pooshy(link) TKL + G * $host $::pooshy(nick) [expr [unixtime] + $::pooshy(temp)] [unixtime] :$::pooshy(nick) ($::pooshy(raison)), $::pooshy(expire) - $::pooshy(hand) $::pooshy(heure)"
- }
- }
- "369" {
- if {$::pooshy(cmd) eq "XWHOWAS"} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :---\002 FIN DU XWHOWAS \002---"
- set ::pooshy(cmd) -
- set ::pooshy(nick) "-"
- }
- }
- "317" {
- set idle [lindex $arg 4]
- if {$::pooshy(cmd) eq "XWHOIS"} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Idle :\002 [duration $idle]"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :---\002 FIN DU XWHOIS \002---"
- set ::pooshy(cmd) -
- set ::pooshy(nick) "-"
- }
- }
- "319" {
- set chan [join [string trim [lrange $arg 4 end] :]]
- if {$::pooshy(cmd) eq "XWHOIS"} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Chan :\002 $chan"
- }
- }
- "378" {
- set host [lindex $arg 7]
- set ip [lindex $arg 8]
- if {$::pooshy(cmd) eq "XWHOIS"} {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Host décodé :\002 $host"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Ip :\002 $ip"
- }
- }
- "352" {
- set nick [lindex $arg 7]
- set chan [lindex $arg 3]
- set ident [lindex $arg 4]
- set host [lindex $arg 5]
- if {[verify:b $::fichier(socket) 0 $nick]||[string equal -nocase $nick $::botnick]||[string equal -nocase $nick $::pooshy(pseudoa)]||[string equal -nocase $nick $::pooshy(pseudob)]||[string equal -nocase $nick $::pooshy(pseudor)]||[string equal -nocase $nick $::pooshy(pseudos)]||[string equal -nocase $nick $::pooshy(pseudoh)]||[string equal -nocase $nick $::pooshy(pseudog)]||[string equal -nocase $nick $::pooshy(pseudod)]||[string equal -nocase $nick $::pooshy(pseudoe)]||[string equal -nocase $nick $::pooshy(pseudoo)]||[string equal -nocase $nick $::pooshy(pseudoi)]||[string equal -nocase $nick $::pooshy(pseudou)]} {return}
- if {$::pooshy(cmd) eq "OPALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan +o $nick";return}
- if {$::pooshy(cmd) eq "DEOPALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan -o $nick";return}
- if {$::pooshy(cmd) eq "VOICEALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan +v $nick";return}
- if {$::pooshy(cmd) eq "DEVOICEALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan -v $nick";return}
- if {$::pooshy(cmd) eq "HALFOPALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan +h $nick";return}
- if {$::pooshy(cmd) eq "DEHALFOPALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan -h $nick";return}
- if {$::pooshy(cmd) eq "KICKALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) KICK $chan $nick :$::pooshy(raison) - $::pooshy(hand)";return}
- if {$::pooshy(cmd) eq "CLOSE"} {putdcc $::pooshy(idx) ":$::pooshy(pseudou) KICK $chan $nick :Salon fermé !";return}
- if {$::pooshy(cmd) eq "BANALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan +b *!*@$host";return}
- if {$::pooshy(cmd) eq "KICKBANALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan +b *!*@$host";putdcc $::pooshy(idx) ":$::pooshy(pseudoo) KICK $chan $nick :$::pooshy(raison) - $::pooshy(hand)";return}
- if {$::pooshy(cmd) eq "KILLALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) KILL $nick $::pooshy(pseudoo) ($::pooshy(raison)) - $::pooshy(hand)";return}
- if {$::pooshy(cmd) eq "KLINEALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHOIS $nick";return}
- if {$::pooshy(cmd) eq "GLINEALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) WHOIS $nick";return}
- }
- "219" {
- if {$::pooshy(cmd) eq "KLINELIST"} {
- if {![info exists pooshy(num)]} {set ::pooshy(num) "0"}
- if {$::pooshy(num) eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :Aucun kline"; }
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :---\002 FIN DE LA LISTE \002--- Total Kline (\002$::pooshy(num)\002)"
- set ::pooshy(cmd) -
- unset ::pooshy(num)
- return
- }
- if {$::pooshy(cmd) eq "UNKLINEALL"} {
- if {![info exists pooshy(num)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002 Erreur :\002 La klinelist est vide.";}
- return
- }
- if {$::pooshy(cmd) eq "GLINELIST"} {
- if {![info exists pooshy(num)]} {set ::pooshy(num) "0"}
- if {$::pooshy(num) eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :Aucun gline"; }
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :---\002 FIN DE LA LISTE \002--- Total Gline (\002$::pooshy(num)\002)"
- set ::pooshy(cmd) -
- unset ::pooshy(num)
- return
- }
- if {$::pooshy(cmd) eq "UNGLINEALL"} {
- if {![info exists pooshy(num)]} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002 Erreur :\002 La glinelist est vide."}
- set ::pooshy(cmd) -
- return
- }
- }
- "223" {
- set host [lindex $arg 4]
- set nick [lindex $arg 7]
- set raison [string trim [lrange [split $arg] 8 end] :]
- if {$::pooshy(cmd) eq "KLINELIST"} {
- incr pooshy(num) 1
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :(\002$::pooshy(num)\002) $host mis par \002$nick\002 (raison : $raison)."
- return
- }
- if {$::pooshy(cmd) eq "UNKLINEALL"} {
- set ::pooshy(num) "0"
- putdcc $::pooshy(idx) ":$::pooshy(link) TKL - k [lindex [split $host @] 0] [lindex [split $host @] 1] $::pooshy(pseudoo)"
- return
- }
- if {$::pooshy(cmd) eq "UNGLINEALL"} {
- set ::pooshy(num) "0"
- putdcc $::pooshy(idx) ":$::pooshy(link) TKL - G [lindex [split $host @] 0] [lindex [split $host @] 1] $::pooshy(pseudoo)"
- return
- }
- if {$::pooshy(cmd) eq "GLINELIST"} {
- incr pooshy(num) 1
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :(\002$::pooshy(num)\002) $host mis par \002$nick\002 (raison : $raison)."
- return
- }
- }
- "367" {
- set chan [lindex $arg 3]
- set host [lindex $arg 4]
- set nick [lindex $arg 5]
- if {$::pooshy(cmd) eq "UNBANALL"} {putdcc $::pooshy(idx) ":$::pooshy(pseudoo) MODE $chan -b $host";return}
- if {$::pooshy(cmd) eq "BANLIST"} {
- incr pooshy(num) 1
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :(\002$::pooshy(num)\002) $host mis par $nick.";
- return
- }
- }
- "368" {
- if {$::pooshy(cmd) eq "BANLIST"} {
- if {![info exists pooshy(num)]} {set ::pooshy(num) "0"}
- if {$::pooshy(num) eq "0"} { putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :Aucan ban"; }
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :---\002 FIN DE LA LISTE \002--- Total Ban (\002$::pooshy(num)\002)";
- unset ::pooshy(num)
- return
- }
- }
- "401" {
- set pseudo [lindex $arg 3]
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Erreur :\002 Le pseudo $pseudo est introuvable."
- set ::pooshy(nick) "-"
- }
- "402" {
- set pseudo [lindex $arg 3]
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Erreur :\002 Le pseudo $pseudo est introuvable."
- set ::pooshy(nick) "-"
- }
- "403" {
- set chan [lindex $arg 3]
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Erreur :\002 Le channel $chan est introuvable."
- set ::pooshy(nick) "-"
- }
- "406" {
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :Le pseudo n'est pas ou plus enregistré dans la base whowas."
- set ::pooshy(nick) "-"
- }
- "443" {
- set pseudo [lindex $arg 3]
- set chan [lindex $arg 4]
- putdcc $::pooshy(idx) ":$::pooshy(pseudoo) NOTICE $::pooshy(nick) :\002Erreur :\002 $pseudo est déjà sur $chan."
- set ::pooshy(nick) "-"
- }
- }
- }
- ################
- # VERIFY PROXY #
- ################
- proc proxy:check {host nick} {
- set liste [open $::fichier(port) r]
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {
- if {[catch {set sock [socket -async $host [lindex $a 0]]} error]} {
- return 0
- } else {
- set timerid [utimer 30 [list portcheck:timeout $sock $host [lindex $a 0]]]
- fileevent $sock writable [list portcheck:connect $sock $host [lindex $a 0] $timerid $nick]
- }
- }
- }
- close $liste
- }
- proc portcheck:connect {sock host port timerid nick} {
- killutimer $timerid
- set error [fconfigure $sock -error]
- if {$error ne ""} {
- close $sock
- return 0
- } else {
- fileevent $sock writable {}
- set ::pooshy(cmd) "GLINE"
- set ::pooshy(nick) $::pooshy(pseudoa)
- set ::pooshy(hand) $::pooshy(pseudoa)
- set ::pooshy(raison) $::raison(proxy)
- set ::pooshy(temp) $::temp(proxy)
- set ::pooshy(expire) "expire le [clock format [expr $::pooshy(temp) + [clock second]] -format "%d/%m/%Y à %H:%M (GMT+1)"]"
- set ::pooshy(heure) "[clock format [clock seconds] -format "%Y/%m/%d %H:%M"]"
- putdcc $::pooshy(idx) ":$::pooshy(pseudoa) WHOIS $nick"
- }
- }
- proc portcheck:timeout {sock host port} {
- close $sock
- return 0
- }
- #################
- # ANTIFLOOD LOG #
- #################
- proc antifloodlog {} {
- if {![info exists ::stoplog]} {set ::stoplog 0}
- if {$::stoplog eq "1"} {return}
- if {![info exists ::massmsg]} {set ::massmsg 0 ;utimer 3 [list unset ::massmsg]}
- incr ::massmsg 1
- if {$::massmsg eq "20"} {set ::stoplog 1;putdcc $::pooshy(idx) ":$::pooshy(pseudoe) PRIVMSG $::pooshy(chan) :(\002ANTIFLOOD\002) Trop de messages. Arrêt pendant 20 secondes."; utimer 20 {putdcc $::pooshy(idx) ":$::pooshy(pseudoe) PRIVMSG $::pooshy(chan) :(\002ANTIFLOOD\002) Réactivation.";set ::stoplog 0}}
- }
- ######################
- # TRAITEMENT FICHIER #
- ######################
- proc verify:a {fichierss numero arg} {
- set liste [open $fichierss r]
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {if {[string match -nocase *[lindex $a $numero]* $arg]} {close $liste;return 1}}
- }
- close $liste
- return 0
- }
- proc verify:b {fichierss numero arg} {
- set liste [open $fichierss r]
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {if {[string equal -nocase [lindex $a $numero] $arg]} {close $liste;return 1}}
- }
- close $liste
- return 0
- }
- proc verify:c {fichierss numero arg} {
- set liste [open $fichierss r]
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {if {[string match *$arg* *[lindex $a $numero ]*]} {close $liste;return 1}}
- }
- close $liste
- return 0
- }
- proc islevel {nick flag} {
- set liste [open $::fichier(alist) r]
- while {![eof $liste]} {
- gets $liste a
- if {[string equal -nocase [lindex $a 2] $nick]} {set level [lindex $a 1]}
- }
- if {[string match *$flag* $level]} {return 1} else {return 0}
- }
- proc isnick {nick newnick} {
- set fichier(back:alist) "$::fichier(alist).back"
- set load [open $fichier(back:alist) w+]
- close $load
- set liste [open $::fichier(alist) r]
- set bcloseback [open $fichier(back:alist) a]
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {if {[string equal -nocase [lindex $a 2] $nick]} {puts $bcloseback "[lindex $a 0] [lindex $a 1] $newnick"} else {puts $bcloseback "[lindex $a]"}}
- }
- close $liste
- close $bcloseback
- file delete $::fichier(alist)
- file rename $fichier(back:alist) $::fichier(alist)
- }
- proc ajouter:donnee {fichierss args} {
- set liste [open $fichierss a]
- puts $liste "$args"
- close $liste
- }
- proc effacer:donnee {fichierss numero arg} {
- set fichier(back) "$fichierss.back"
- set load [open $fichier(back) w+]
- close $load
- set liste [open $fichierss r]
- set bcloseback [open $fichier(back) a]
- while {![eof $liste]} {
- gets $liste a
- if {$a ne ""} {if {[string equal -nocase [lindex $a $numero] $arg]} {} else {puts $bcloseback "[lindex $a]"}}
- }
- close $liste
- close $bcloseback
- file delete $fichierss
- file rename $fichier(back) $fichierss
- }
- proc debug {arg} {
- regsub -all -- {\{|\}|\\{|[}{|]}} $arg "" arg
- return $arg
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement