Communauté sur les Eggdrops - Community about Eggdrops
[Demande] Opé Sur Host et Non sur Nick - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (https://forum.eggdrop.fr)
+-- Forum: Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum: Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Thread: [Demande] Opé Sur Host et Non sur Nick (/showthread.php?tid=1499)

Pages: 1 2


Opé Sur Host et Non sur Nick - BaGrift - 06/03/2014

Bonjour,

Il y'a 1 semaine a peu prés j'ai codé un tcl avec AliasAngelius qui permet de géré les statut op,halfop,voice via commande sur un eggdrop je me poser la question si il etait possible de enregistré sur l'host et non sur le nick.

Exemple je tape !opadd BaGrift le bot va m'enregistré dans le fichier operateur.db et ensuite il va m'opé hors que si exemple je change mon pseudo en BaGrift[Away] je tape /hop le bot va pas me op justement psk il prend l'enregistrement sur le nick et non sur l'host.

Merci au personne qui pourrons certainement m'aidé .

Voicis le code complet:

tcl
#################################
#		Script op.tcl			#
#	 Tcl Creat By Toretto		#
#			23/02/2014			#
#								#
####################################
#		Aurel-Tchat Network		   #
#	Server irc://irc.aurel-tchat.fr#
# Site-Web http://aurel-tchat.fr   #
# Forum http://forum.aurel-tchat.fr#
####################################
 
#####################################################################################
#	Attention Si vous toucher le code vous risquer de le faire planter				#
#		Merci de pas toucher si vous avez aucune connaissance dans le domaine du TCL#
#####################################################################################
 
#***********************************#
# TCL en NameSpace.                 #
# Utilisation de msgcat.            #
# Utilisation des procédure         #
# Pushmode/Putkick.                 #
#***********************************#
 
namespace eval ::operateur {
 
    # 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
    # Nom du fichier ou seront les pseudos autorisé.
    variable fichiers "operateur.db"
    # Ici ont mets le temps d'opage et de voice en secondes.
    variable opsec 3
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Op Accepter Pour \0034%s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoutà dans la liste des opÃrateur de %s sur l'host %s \037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Op Supprimé Pour \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "*" [namespace current]::joinauto
    bind pub o "!opadd" [namespace current]::+ajout
    bind pub o "!opdel" [namespace current]::-ajout
    # 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 d'auto-op/voice sur salon.
   proc verif {nick chan} {
    if {[isop $nick $chan]} {return}
        set vnick [lindex [split $nick |] 0]
        putserv "mode $chan +ov $vnick $vnick"
   }
   # Procédure de join.
    proc joinauto {nick host hand chan} {
       if {$nick == $::botnick} { return 0 }
       if {![botisop $chan]} { return 0 }
       if {[acceesalon $nick]==1} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            utimer $::operateur::opsec [list ::operateur::verif $nick $chan]
            return 1
       }
    }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opadd <pseudo>"
            putserv "NOTICE $nick :Exemple !opadd $nick"
            return 0
       }
       set lis "[fread $fichiers]"
       set args [split $arg]
       set vnick [lindex $arg 0]
       set host "[split [getchanhost $vnick $chan] @]"
       if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $vnick $chan $host]"
            utimer $::operateur::opsec [list ::operateur::verif $vnick $chan]
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est dÃjà dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set args [split $arg]
       set vnick [lindex $arg 0]
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opdel <pseudo>"
            putserv "NOTICE $nick :Exemple: !opdel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $vnick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!opliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des operateur. <-\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 operateur. <-\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 tolower $nick] == [string tolower $ligne]} {
            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
    }
}
 
namespace eval ::half {
 
    # 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
    # Nom du fichier ou seront les pseudos autorisé.
    variable fichiers "helpeur.db"
    # Ici ont mets le temps d'opage et de voice en secondes.
    variable opsec 3
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Halfop Accepter Pour \0034%s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoute dans la liste des halfop de %s sur l'host %s \037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Halfop Supprimé De \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "*" [namespace current]::joinauto
    bind pub o "!halfadd" [namespace current]::+ajout
    bind pub o "!halfdel" [namespace current]::-ajout
    # 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 d'auto-op/voice sur salon.
   proc verif {nick chan} {
    if {[isop $nick $chan]} {return}
        set vnick [lindex [split $nick |] 0]
        putserv "mode $chan +hv $vnick $vnick"
   }
   # Procédure de join.
    proc joinauto {nick host hand chan} {
       if {$nick == $::botnick} { return 0 }
       if {![botisop $chan]} { return 0 }
       if {[acceesalon $nick]==1} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            utimer $::half::opsec [list ::half::verif $nick $chan]
            return 1
       }
    }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !halfadd <pseudo>"
            putserv "NOTICE $nick :Exemple !halfadd $nick"
            return 0
       }
       set lis "[fread $fichiers]"
       set args [split $arg]
       set vnick [lindex $arg 0]
       set host "[split [getchanhost $vnick $chan] @]"
       if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $vnick $chan $host]"
            utimer $::half::opsec [list ::half::verif $vnick $chan]
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est deja dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set args [split $arg]
       set vnick [lindex $arg 0]
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !halfdel <pseudo>"
            putserv "NOTICE $nick :Exemple: !halfdel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $vnick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!halfliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des halfop. <-\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 halfop. <-\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 tolower $nick] == [string tolower $ligne]} {
            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
    }
}
 
namespace eval ::voice {
 
    # 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
    # Nom du fichier ou seront les pseudos autorisé.
    variable fichiers "voice.db"
    # Ici ont mets le temps d'opage et de voice en secondes.
    variable opsec 3
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Voice Accepter Pour \0034%s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoute dans la liste des voice de %s sur l'host %s \037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Voice Supprimé De \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "*" [namespace current]::joinauto
    bind pub o "!voiceadd" [namespace current]::+ajout
    bind pub o "!voicedel" [namespace current]::-ajout
    # 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 d'auto-op/voice sur salon.
   proc verif {nick chan} {
    if {[isop $nick $chan]} {return}
        set vnick [lindex [split $nick |] 0]
        putserv "mode $chan +v $vnick"
   }
   # Procédure de join.
    proc joinauto {nick host hand chan} {
       if {$nick == $::botnick} { return 0 }
       if {![botisop $chan]} { return 0 }
       if {[acceesalon $nick]==1} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            utimer $::voice::opsec [list ::voice::verif $nick $chan]
            return 1
       }
    }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !voiceadd <pseudo>"
            putserv "NOTICE $nick :Exemple !voiceadd $nick"
            return 0
       }
       set lis "[fread $fichiers]"
       set args [split $arg]
       set vnick [lindex $arg 0]
       set host "[split [getchanhost $vnick $chan] @]"
       if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $vnick $chan $host]"
            utimer $::voice::opsec [list ::voice::verif $vnick $chan]
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est deja dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set args [split $arg]
       set vnick [lindex $arg 0]
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !voicedel <pseudo>"
            putserv "NOTICE $nick :Exemple: !voicedel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $vnick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!voiceliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des voice. <-\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 voice. <-\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 tolower $nick] == [string tolower $ligne]} {
            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
    }
}




RE: Opé Sur Host et Non sur Nick - aliasangelius - 06/03/2014

Salut,

C'est faisable ! Mais moi je ferais autrement que par fichier..
Je t'explique, tu enregistre la personne dans l'eggdrop.
Ensuite tu enregistre son host dedans sa sera dans le fichier .user

Ensuite tu joue sur les flag et voila.
Moi c'est ce que je ferait..
Je regarderais de plus près mais moi je ferais ainsi, a moons tu veut rester sur du traitement de fichier ?

"Envoyé depuis mon GT-N7000 avec Tapatalk"


RE: Opé Sur Host et Non sur Nick - BaGrift - 06/03/2014

Si c'est possible oui j'aimerais resté sur du traitement de fichier


RE: Opé Sur Host et Non sur Nick - aliasangelius - 06/03/2014

Ok, je regarderais sa.. je vais voir du côté des traitements de host sur les fichiers et je te redis ça

"Envoyé depuis mon GT-N7000 avec Tapatalk"


RE: Opé Sur Host et Non sur Nick - BaGrift - 06/03/2014

Ok pas de soucis merci a toi alias


RE: Opé Sur Host et Non sur Nick - aliasangelius - 06/03/2014

Je vais peut-être dire une connerie..
Test de remplacer

tcl
set temp [lindex $arg 0]

Rempmace le 0 par le 3

Idem pour le vnick

"Envoyé depuis mon GT-N7000 avec Tapatalk"


RE: Opé Sur Host et Non sur Nick - BaGrift - 06/03/2014

Sa fonctionne pas


RE: Opé Sur Host et Non sur Nick - aliasangelius - 06/03/2014

Ok.. alors je regarderais demain de plus près.

"Envoyé depuis mon GT-N7000 avec Tapatalk"

Tiens test comme sa :


tcl
#################################
#      Script op.tcl         #
#    Tcl Creat By Toretto      #
#         23/02/2014         #
#                        #
####################################
#      Aurel-Tchat Network         #
#   Server irc://irc.aurel-tchat.fr#
# Site-Web http://aurel-tchat.fr   #
# Forum http://forum.aurel-tchat.fr#
####################################
 
################################################################################​#####
#   Attention Si vous toucher le code vous risquer de le faire planter            #
#      Merci de pas toucher si vous avez aucune connaissance dans le domaine du TCL#
################################################################################​#####
 
#***********************************#
# TCL en NameSpace.                #
# Utilisation de msgcat.            #
# Utilisation des procédure         #
# Pushmode/Putkick.                #
#***********************************#
 
namespace eval ::operateur {
 
    # 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
    # Nom du fichier ou seront les pseudos autorisé.
    variable fichiers "operateur.db"
    # Ici ont mets le temps d'opage et de voice en secondes.
    variable opsec 3
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Op Accepter Pour \0034%s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoutà dans la liste des opÃrateur de %s sur l'host %s \037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Op Supprimé Pour \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "*" [namespace current]::joinauto
    bind pub o "!opadd" [namespace current]::+ajout
    bind pub o "!opdel" [namespace current]::-ajout
    # 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 d'auto-op/voice sur salon.
   proc verif {nick chan} {
    if {[isop $nick $chan]} {return}
       set vnick [lindex [split $nick |] 0]
       putserv "mode $chan +ov $vnick $vnick"
   }
   # Procédure de join.
    proc joinauto {nick host hand chan} {
       if {$nick == $::botnick} { return 0 }
       if {![botisop $chan]} { return 0 }
       if {[acceesalon $nick]==1} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            utimer $::operateur::opsec [list ::operateur::verif $nick $chan]
            return 1
       }
    }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opadd <pseudo>"
            putserv "NOTICE $nick :Exemple !opadd $nick"
            return 0
       }
       set userhost [getchanhost $nick]
       set userhost "*!*[string range $userhost [string first @ $userhost] e]"
       set lis "[fread $fichiers]"
       set args [split $arg]
       set vnick [lindex $arg 0]
       set host "[split [getchanhost $vnick $chan] @]"
       if {[lsearch -exact "$lis" $userhost] != -1} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $vnick $chan $host]"
            utimer $::operateur::opsec [list ::operateur::verif $vnick $chan]
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est dÃjà dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set args [split $arg]
       set vnick [lindex $arg 0]
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opdel <pseudo>"
            putserv "NOTICE $nick :Exemple: !opdel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $vnick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!opliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des operateur. <-\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 operateur. <-\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 tolower $nick] == [string tolower $ligne]} {
            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
    }
}
 
namespace eval ::half {
 
    # 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
    # Nom du fichier ou seront les pseudos autorisé.
    variable fichiers "helpeur.db"
    # Ici ont mets le temps d'opage et de voice en secondes.
    variable opsec 3
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Halfop Accepter Pour \0034%s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoute dans la liste des halfop de %s sur l'host %s \037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Halfop Supprimé De \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "*" [namespace current]::joinauto
    bind pub o "!halfadd" [namespace current]::+ajout
    bind pub o "!halfdel" [namespace current]::-ajout
    # 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 d'auto-op/voice sur salon.
   proc verif {nick chan} {
    if {[isop $nick $chan]} {return}
       set vnick [lindex [split $nick |] 0]
       putserv "mode $chan +hv $vnick $vnick"
   }
   # Procédure de join.
    proc joinauto {nick host hand chan} {
       if {$nick == $::botnick} { return 0 }
       if {![botisop $chan]} { return 0 }
       if {[acceesalon $nick]==1} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            utimer $::half::opsec [list ::half::verif $nick $chan]
            return 1
       }
    }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !halfadd <pseudo>"
            putserv "NOTICE $nick :Exemple !halfadd $nick"
            return 0
       }
       set lis "[fread $fichiers]"
       set args [split $arg]
       set vnick [lindex $arg 0]
       set host "[split [getchanhost $vnick $chan] @]"
       if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $vnick $chan $host]"
            utimer $::half::opsec [list ::half::verif $vnick $chan]
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est deja dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set args [split $arg]
       set vnick [lindex $arg 0]
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !halfdel <pseudo>"
            putserv "NOTICE $nick :Exemple: !halfdel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $vnick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!halfliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des halfop. <-\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 halfop. <-\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 tolower $nick] == [string tolower $ligne]} {
            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
    }
}
 
namespace eval ::voice {
 
    # 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
    # Nom du fichier ou seront les pseudos autorisé.
    variable fichiers "voice.db"
    # Ici ont mets le temps d'opage et de voice en secondes.
    variable opsec 3
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Voice Accepter Pour \0034%s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoute dans la liste des voice de %s sur l'host %s \037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Voice Supprimé De \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "*" [namespace current]::joinauto
    bind pub o "!voiceadd" [namespace current]::+ajout
    bind pub o "!voicedel" [namespace current]::-ajout
    # 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 d'auto-op/voice sur salon.
   proc verif {nick chan} {
    if {[isop $nick $chan]} {return}
       set vnick [lindex [split $nick |] 0]
       putserv "mode $chan +v $vnick"
   }
   # Procédure de join.
    proc joinauto {nick host hand chan} {
       if {$nick == $::botnick} { return 0 }
       if {![botisop $chan]} { return 0 }
       if {[acceesalon $nick]==1} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            utimer $::voice::opsec [list ::voice::verif $nick $chan]
            return 1
       }
    }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !voiceadd <pseudo>"
            putserv "NOTICE $nick :Exemple !voiceadd $nick"
            return 0
       }
       set lis "[fread $fichiers]"
       set args [split $arg]
       set vnick [lindex $arg 0]
       set host "[split [getchanhost $vnick $chan] @]"
       if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $vnick $chan $host]"
            utimer $::voice::opsec [list ::voice::verif $vnick $chan]
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est deja dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set args [split $arg]
       set vnick [lindex $arg 0]
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !voicedel <pseudo>"
            putserv "NOTICE $nick :Exemple: !voicedel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $vnick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!voiceliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des voice. <-\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 voice. <-\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 tolower $nick] == [string tolower $ligne]} {
            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
    }
}


J'ai modifié la ligne :

tcl
if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {

Par :

tcl
if {[lsearch -exact "$lis" $userhost] != -1} {return 0}


Et aussi rajouter deux set :

tcl
set userhost [getchanhost $nick]
set userhost "*!*[string range $userhost [string first @ $userhost] e]"


Essaye et dit moi ce que cela donne mais je pense que sa devrais être dans ce genre la en modifications pour que sa fonctionne.


RE: Opé Sur Host et Non sur Nick - BaGrift - 06/03/2014

il ya plus rien qui fonctionne lol


RE: Opé Sur Host et Non sur Nick - aliasangelius - 06/03/2014

Ce code va me rendre fou..
Bon je me co sur irc demain après midi.
Ont fera des test voir après demain dans l'après midi..

"Envoyé depuis mon GT-N7000 avec Tapatalk"

Et dans le fichier quand tu tape pour rajouter. Sa s'écrits bien sous format de host ?

"Envoyé depuis mon GT-N7000 avec Tapatalk"


RE: Opé Sur Host et Non sur Nick - aliasangelius - 11/03/2014

Ont se vois dans la semaine désoler eux quelques soucis donc pas pu me pencher dessus

Envoyé de mon GT-N7000 en utilisant Tapatalk


RE: Opé Sur Host et Non sur Nick - BaGrift - 12/03/2014

(11/03/2014, 18:58)aliasangelius Wrote: Ont se vois dans la semaine désoler eux quelques soucis donc pas pu me pencher dessus

Envoyé de mon GT-N7000 en utilisant Tapatalk

Salut, Oui pas de soucis quand tu veux


RE: Opé Sur Host et Non sur Nick - aliasangelius - 13/03/2014

Salut,

Bon depuis hier soir.. je suis sur un codage.
Lors de notre dernier entretient tu avais divers soucis !

Tu m'avais demander aussi un code de modération, je suis sur certaines modifications dessus. Qui apporterait en plus de ce que tu demande dans ce post.

Je m'explique :
Dans le fichier machintruc.db dedans tu aura par exemple :PROTECT BaGrift
Donc ceci va te protéger, aussi bien sur la modération du code, et quand tu va joindre il va te mettre opérateur et aussi voice sur le salon.

Mais je suis incapable de faire le moindre tests tu devra donc les faire.
Je pense te passer un morceau de code dans la semaine voir s'il ne dispose d'aucune erreur..

Voila à toi de me dire si cela te convient ou pas

Envoyé de mon GT-N7000 en utilisant Tapatalk


RE: Opé Sur Host et Non sur Nick - BaGrift - 13/03/2014

(13/03/2014, 13:39)aliasangelius Wrote: Salut,

Bon depuis hier soir.. je suis sur un codage.
Lors de notre dernier entretient tu avais divers soucis !

Tu m'avais demander aussi un code de modération, je suis sur certaines modifications dessus. Qui apporterait en plus de ce que tu demande dans ce post.

Je m'explique :
Dans le fichier machintruc.db dedans tu aura par exemple :PROTECT BaGrift
Donc ceci va te protéger, aussi bien sur la modération du code, et quand tu va joindre il va te mettre opérateur et aussi voice sur le salon.

Mais je suis incapable de faire le moindre tests tu devra donc les faire.
Je pense te passer un morceau de code dans la semaine voir s'il ne dispose d'aucune erreur..

Voila à toi de me dire si cela te convient ou pas

Envoyé de mon GT-N7000 en utilisant Tapatalk

Salut,

Oui cela pourrais être intéressante pour tout se qui et les test pas de soucis j'ai ce qui faut lol j'attend avec impatience ton code a testé merci a toi


RE: Opé Sur Host et Non sur Nick - BaGrift - 20/06/2014

Bonjour.

je me permet de remonté sur post pck javais codé ce code avec alias et je voudrais quil fasse un traitement sur les host et non sur le nick si qu'elle qu'un pourrais m'aidé sa serais cool merci ...