[Demande] Opé Sur Host et Non sur Nick
#1
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
    }
}


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 Very Happy
Répondre Avertir


Messages dans ce sujet
Opé Sur Host et Non sur Nick - par BaGrift - 06/03/2014, 18:29
RE: Opé Sur Host et Non sur Nick - par BaGrift - 06/03/2014, 18:58
RE: Opé Sur Host et Non sur Nick - par BaGrift - 06/03/2014, 19:04
RE: Opé Sur Host et Non sur Nick - par BaGrift - 06/03/2014, 20:11
RE: Opé Sur Host et Non sur Nick - par BaGrift - 06/03/2014, 21:19
RE: Opé Sur Host et Non sur Nick - par BaGrift - 12/03/2014, 00:22
RE: Opé Sur Host et Non sur Nick - par BaGrift - 13/03/2014, 17:25
RE: Opé Sur Host et Non sur Nick - par BaGrift - 20/06/2014, 12:56
RE: Opé Sur Host et Non sur Nick - par BaGrift - 26/06/2014, 13:48

Atteindre :


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