Autorise
#1
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 :
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
    }
}


Répondre Avertir


Messages dans ce sujet
Autorise - par aliasangelius - 20/09/2012, 11:31
RE: Autorise - par CrazyCat - 20/09/2012, 12:03
RE: Autorise - par aliasangelius - 20/09/2012, 12:21
RE: Autorise - par CrazyCat - 20/09/2012, 12:26
RE: Autorise - par aliasangelius - 20/09/2012, 12:34
RE: Autorise - par CrazyCat - 20/09/2012, 16:59
RE: Autorise - par aliasangelius - 20/09/2012, 17:12
RE: Autorise - par aliasangelius - 22/09/2012, 13:12
RE: Autorise - par Inoko - 06/11/2012, 17:25
RE: Autorise - par cestlemien - 06/11/2012, 23:35
RE: Autorise - par CrazyCat - 07/11/2012, 00:13
RE: Autorise - par aliasangelius - 07/11/2012, 12:59
RE: Autorise - par Inoko - 07/11/2012, 16:00
RE: Autorise - par aliasangelius - 07/11/2012, 16:12
RE: Autorise - par deejay-wilo - 07/01/2018, 20:30
RE: Autorise - par aliasangelius - 10/01/2018, 13:28

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté