20/09/2012, 11:31
Bonjour,
Je reviens vers vous car je suis dans un dilème..
Donc j'explique la conception du TCL avant tout.
Le but du TCL et de vérifié dans un fichier si un pseudo et dedans.
Si le pseudo et bien dedans l'eggdrop Voice la personne.
Par contre si la personne et inconnue dans le même fichier l'eggdrop éjecte la personne.
Voici donc maintenant mon soucis.
J'ai donc inscris un pseudo dans le fichier.
Exemple :
Ensuite je rajoute mon pseudo "alias_angelius" avec la même commande.
Il me dit la même phrase ci dessus.
Donc dans le fichier je me retrouve avec : FaNaTiC
Et alias_angelius
Sachant que alias_angelius et en dessous de FaNaTiC.
La tout fonctionne parfaitement.
Maintenant Voici le vrai soucis.. :
Je vais donc faire un /part et /join sur le salon.
Donc là il me dit que je ne suis pas autorisé..
Sachant que je suis bien dans le fichier.
Je ne comprend pas trop le soucis.
Voici le code TCL pour plus d'informations.
Je reviens vers vous car je suis dans un dilème..
Donc j'explique la conception du TCL avant tout.
Le but du TCL et de vérifié dans un fichier si un pseudo et dedans.
Si le pseudo et bien dedans l'eggdrop Voice la personne.
Par contre si la personne et inconnue dans le même fichier l'eggdrop éjecte la personne.
Voici donc maintenant mon soucis.
J'ai donc inscris un pseudo dans le fichier.
Exemple :
Citation :[11:11:50] (alias_angelius) .+autorise FaNaTiC
[11:11:52] Notice Talk-me ~¤~ FaNaTiC a été ajouté ~¤~
[11:11:53] (@Talk-me) FaNaTiC est ajouté au pseudos autorisé
Ensuite je rajoute mon pseudo "alias_angelius" avec la même commande.
Il me dit la même phrase ci dessus.
Donc dans le fichier je me retrouve avec : FaNaTiC
Et alias_angelius
Sachant que alias_angelius et en dessous de FaNaTiC.
La tout fonctionne parfaitement.
Maintenant Voici le vrai soucis.. :
Je vais donc faire un /part et /join sur le salon.
Citation :[11:11:58] [Part] alias_angelius [040Hindifferent@4266579431.com] est parti de #blabla
[11:11:58] [Join] alias_angelius [040Hindifferent@4266579431.com] a rejoint #blabla
[11:11:58] (@Talk-me) Authentification ° Refusé ° pour alias_angelius
Donc là il me dit que je ne suis pas autorisé..
Sachant que je suis bien dans le fichier.
Je ne comprend pas trop le soucis.
Voici le code TCL pour plus d'informations.
tcl
#*******************#
# Autorise.tcl V1.0 #
#*******************#
# Description du code TCL.
#***********************************#
# TCL en NameSpace. #
# Utilisation de msgcat. #
# Utilisation des procédure #
# Pushmode/Putkick. #
#***********************************#
namespace eval ::autorise {
# Nous vérifions si ya le package requis pour le msgcat.
package require msgcat
# Nous mettons la langue de msgcat en français.
::msgcat::mclocale fr
# Salon back ou va se situé l'autorise.
variable salons "#blabla"
# Nom du fichier ou seront les pseudos autorisé.
variable fichiers "autorise_salon.db"
# Les messages de msgcat.
::msgcat::mcset fr msg1 "\00314Authentification \0034° \0033Acceptée \0034° \037\0031pour %s\037\0031"
::msgcat::mcset fr msg2 "\00314Authentification \0034° \0034Refusé \0034° \037\0031pour %s\037\0031"
::msgcat::mcset fr kickmsg "\037\0031Accès refusé.\037 \0032->\0034Salon Privé\0032<-\037\0032"
# Procédure de création du fichier Autorise.
if {![file exists $fichiers]} {
set load [open $fichiers w+]
close $load
putlog "\2Je crée le fichier $fichiers\2"
}
# Procédure de join.
bind join - "$::autorise::salons *" [namespace current]::joinauto
proc joinauto {nick host hand chan} {
variable salons
set k [lindex [split $nick |] 0]
set vnick $nick
set hostmask "[split [getchanhost $vnick $chan] @]"
set hostmask "!*@*[lindex $hostmask 1]"
if [isbotnick $nick] return
if {[acceesalon $nick]==0} {
putquick "privmsg $salons :[::msgcat::mc msg2 $nick]"
#pushmode $salons +b $k!*@*
#pushmode $salons +b $k|*!*@*
#putkick $salons $vnick :[::msgcat::mc kickmsg]
return 1
}
putquick "privmsg $salons :[::msgcat::mc msg1 $nick]"
pushmode $salons +v $nick
return 0
}
# Procédure d'ajout de pseudo autorise.
bind pub o ".+autorise" [namespace current]::+ajout
proc +ajout { nick host hand chan arg } {
variable fichiers
variable salons
set temp [lindex $arg 0]
if {$temp == ""} {
putserv "NOTICE $nick :Utilisation: .+autorise <pseudo>"
putserv "NOTICE $nick :Exemple .+autorise $nick"
return 0
}
set lis "[fread $fichiers]"
if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
lappend lis $temp
fwrite $fichiers $temp
putserv "NOTICE $nick :\002$temp\002 \0034a été ajouté\0034"
putserv "PRIVMSG $salons :\002$temp\002 \0034est ajouté au pseudos autorisé\0034"
return 0
}
putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est déjà autorisé\0034"
return 0
}
# Procédure de suppression de pseudo autorise.
bind pub o ".-autorise" [namespace current]::-ajout
proc -ajout { nick host hand chan arg } {
variable fichiers
variable salons
set temp [lindex $arg 0]
if {$temp == ""} {
putserv "NOTICE $nick :Utilisation: .-autorise <pseudo>"
putserv "NOTICE $nick :Exemple: .-autorise $nick"
return 0
}
set autoajout "[fread $fichiers]"
set tmp ""
foreach bb $autoajout {
if {![string match $temp $bb]} {lappend tmp $bb}
}
fdel $fichiers $tmp
putserv "NOTICE $nick :\002$temp\002 \0034supprimé des autorisé\0034"
putserv "PRIVMSG $salons :\002$temp\002 \0034est supprimé des pseudo autorisé\0034"
return 0
}
# Ne pas toucher Systeme Proc !!
proc acceesalon {nick} {
variable fichiers
set access 0
set fa [open "$fichiers" r]
while {![eof $fa]} {
set get [gets $fa]
if {[string first [string tolower $get] [string tolower $nick]]==0} {
set access 1
}
close $fa
return $access
}
}
# Procédure d'écriture de fichier.
proc fwrite {fi arg} {
set f [open $fi a]
puts $f $arg
close $f
}
# Procédure de suppression de fichier.
proc fdel {fi arg} {
set f [open $fi w]
puts $f $arg
close $f
}
# Procédure de lecture de fichier.
proc fread {fi} {
set f [open $fi r]
set t [gets $f]
close $f
return $t
}
}