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
#2
Merci d'utiliser les balises code ou tcl pour rendre le message plus lisible.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
J'ai testé vite fait le script et il kick et ban en même temps ...


Code:
[13:54:44] » Join\ test - applet@zeolia-7589D648.rev.sfr.net -[3]- #chantier
[13:54:44] ‹@Chantier› Authentification ° Refusé ° pour test
[13:54:45] « Kick\ test kické de #chantier par Chantier : Accès refusé. -> Salon Privé <-
[13:54:47] × Mode : Chantier / +bb test!*@* test|*!*@*
#4
(04/12/2013, 14:24)CrazyCat Wrote: Merci d'utiliser les balises code ou tcl pour rendre le message plus lisible.

Voila c'est fais CrazyCat.

J'ai réussi a trouvé comment kick. J’aurai une autre question j'aimerais faire un tcl de système de mode sur user donc c'est a dire exemple si je passe +o BaGrift bah que le robot me reconnaisse automatiquement a chaque connexion et pareille pour +h et +v . Merci de votre aide.
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
#5
Ca existe déjà nativement dans l'eggdrop, c'est la userlist.
Sinon, il y a des scripts qui font ça dans la partie téléchargements.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#6
(04/12/2013, 17:12)CrazyCat Wrote: Ca existe déjà nativement dans l'eggdrop, c'est la userlist.
Sinon, il y a des scripts qui font ça dans la partie téléchargements.

Merci de ton aide je vais étudié tout ça !
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
#7
(04/12/2013, 17:12)CrazyCat Wrote: Ca existe déjà nativement dans l'eggdrop, c'est la userlist.
Sinon, il y a des scripts qui font ça dans la partie téléchargements.

Oui certes sa existe déjà, Mais faut qu'il ce auth sur le bot hors que moi je veux que sa sois enregistré dans un ficher et que le robot leur redonne leur statut qui a était enregistré par moi même ! Merci de votre aide

Cordialement,
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
#8
Tout d'abord, merci de faire une nouvelle discussion, ça n'a plus aucun rapport avec le post initial.

Ensuite, si tu ne veux pas de script qui demande une authentification, regarde du côté de la userlist, c'est la solution la plus simple. Quitte a faire un script qui ajoute/modifie l'utilisateur lorsqu'il est promu.
Ca doit tenir en environ 20 lignes de code.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#9
Je suis quand même curieux de connaitre ta solution pour que le robot kick et ban en même temps, ça peut aider d'autres personnes.
#10
(05/12/2013, 14:13)BdS Wrote: Je suis quand même curieux de connaitre ta solution pour que le robot kick et ban en même temps, ça peut aider d'autres personnes.

Ta juste a copié coller le code tcl en message au dessus. c'est un System de black_list donc il kick ban si tes pas add dans la liste :)
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
#11
lol ()


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)