Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


[Demande] Problème de Kick Sur user
#1
Sad 
Bonjour,

J'ai un petit soucis sur le tcl black_list je voudrez qu'il ban est kick en même temps merci de votre aide !

Voicis le Tcl =>


tcl
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 "#headquarter"
    # 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->\0034 Salon 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
        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 +h $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
    }
    # Procédure pour voir la liste des autorise.
    bind pub o ".autorise" [namespace current]::auto
    proc auto { nick host hand chan arg } {
        variable fichiers
        variable salons
        set fp [open $fichiers "r"]
        set fc -1
        putserv "notice $nick :\037\00300,01 -> Liste des autorise. <-\037\003"
        while {![eof $fp]} {
            set data [gets $fp]
            incr fc
            if {$data !=""} {
                putserv "notice $nick :\0031\[ \0034$data\0031\0031 ]\0031"
            }
            unset data
        }
        close $fp
        putserv "notice $nick :\037\00300,01 -> Fin de la liste des autorise. <-\037\003"
    }
    # Ne pas toucher Systeme Proc  !!
    proc acceesalon {nick} {
        variable fichiers
        set fa [open $fichiers r]
        set access 0
        while { ![eof $fa]} {
        set ligne [gets $fa]
        if {[string first [string tolower $ligne] [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
    }
}

Site Web: Clic ici Nous rejoindres par mIRC -> Clic Ici
inutile d'avoir une grosse machine si il y'a un con deriere l'ecran :D


Messages In This Thread
Problème de Kick Sur user - by BaGrift - 04/12/2013, 13:28
RE: Problème de Kick Sur user - by CrazyCat - 04/12/2013, 14:24
RE: Problème de Kick Sur user - by BaGrift - 04/12/2013, 16:35
RE: Problème de Kick Sur user - by BdS - 04/12/2013, 14:57
RE: Problème de Kick Sur user - by CrazyCat - 04/12/2013, 17:12
RE: Problème de Kick Sur user - by BaGrift - 04/12/2013, 22:25
RE: Problème de Kick Sur user - by BaGrift - 05/12/2013, 14:02
RE: Problème de Kick Sur user - by CrazyCat - 05/12/2013, 14:09
RE: Problème de Kick Sur user - by BdS - 05/12/2013, 14:13
RE: Problème de Kick Sur user - by BaGrift - 05/12/2013, 14:27
RE: Problème de Kick Sur user - by BdS - 05/12/2013, 17:26

Possibly Related Threads…
Thread Author Replies Views Last Post
  probleme tcl ajout d un user chris620s 2 2,547 04/12/2010, 14:12
Last Post: chris620s

Forum Jump:


Users browsing this thread: 1 Guest(s)