une v3.
#2
C'est très simple, il y a un exemple qui a été donné sur ce post
tcl
bind msg - auth mon:auth
 
proc mon:auth {nick host hand arg} {
    variable authed ;#on déclare la variable qui contiendra les utilisateurs identifié
 
    #on ouvre le fichier et récupère les données qui sont dedans
    set a [open users.db]
    set users [split [read $a] "\n"]
    close $a
    #les données sont contenues dans $users
 
    set salon [lindex $arg 0]
    set pseudo [lindex $arg 1]
    set pass [lindex $arg 2]
    foreach u $users {
        set c [lindex $u 0]
        #on verifi que le salon correspond au salon contenue dans la ligne du fichier, sinon on saute a la boucle suivante
        if ![string equal -nocase $c $salon] continue
        #on controle si le pseudo correspond, sinon on saute la boucle suivante
        set ps [lindex $u 1]
        if ![string equal -nocase $ps $pseudo] continue
        #on vérifie si le mot de passe correspond
        set pa [lindex $u 2]
         if ![string equal $pa $pass] continue
        #pour finir on teste le host
        set h [lindex $u 4]
        if ![string match -nocase $h "$nick!$host"] continue
        #arrivé la l utilisateur a remplis toutes les conditions pour s identifier donc on va le retenir
        set level [lindex $u 3]
        set authed($nick,$salon) $level
        putserv "NOTICE $nick :Vous êtes identifié sur le salon $salon"
        # et on fini la procédure
        return
    }
    #sinon arrivé la l utilisateur n'as pas d'accès donc on lui dit
    putserv "NOTICE $nick :Vous n'avez pas d'accès"
}


Et la variable $::authed(machin,#bidule) contient le level de machin sur #bidule.
Donc, sitôt qu'une personne est authentifiée sur un salon, tu as son level.
Répondre


Messages dans ce sujet
une v3. - par aliasangelius - 01/07/2011, 21:57
RE: une v3. - par CrazyCat - 03/07/2011, 17:41
RE: une v3. - par djkenny - 03/07/2011, 17:50
RE: une v3. - par CrazyCat - 03/07/2011, 17:53
RE: une v3. - par djkenny - 03/07/2011, 17:58
RE: une v3. - par aliasangelius - 03/07/2011, 19:45

Atteindre :


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