Communauté sur les Eggdrops - Community about Eggdrops
addvoice - 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: addvoice (/showthread.php?tid=1096)



addvoice - lesny - 22/12/2011

bonjour / bonsoir

j'ai le tcl gestion bot

dedans j'ai essaye d'ajouter un addvoice

donc j'ai ce code



tcl
	proc addvoice { nick host hand text } {
         set vhand [lindex [split [lindex $text 0] |] 0]
         set chan [lindex $text 1]
	if {[channel get $chan GB]==0} { return; }
    if { [nick2hand $nick] eq "*" } {
         puthelp "notice $nick :[subst -nocommands -nobackslashes $::GB::msg(access)]"
    return 0
    }
    if ![isauth $hand] {
         puthelp "notice $nick :[subst -nocommands -nobackslashes $::GB::msg(auth)]"
    return 0
    }
    if {![string match #* $chan]} {
         puthelp "notice $nick :Syntaxe incorrecte ! ( /msg $::botnick addvoice <pseudo> <#salon> ) !"
    return 0
    }
    if ![validchan $chan] {
         puthelp "notice $nick :[subst -nocommands -nobackslashes $::GB::msg(salon)]"
    return 0
    }
    if ![matchattr $hand o|m $chan] {
         puthelp "notice $nick :[subst -nocommands -nobackslashes $::GB::msg(level)]"
    return 0
    }
    if [matchattr $vhand |n $chan] {
         puthelp "notice $nick :Ce pseudo figure dans l'Access-List Owners sur $chan !"
    return 0
    }
    if [matchattr $vhand |m $chan] {
         puthelp "notice $nick :Ce pseudo figure dans l'Access-List Masters sur $chan !"
    return 0
    }
    if [matchattr $vhand |o $chan] {
         puthelp "notice $nick :Ce pseudo figure dans l'Access-List Opérateurs sur $chan !"
    return 0
    }
    if [matchattr $vhand |m $chan] {
         puthelp "notice $nick :Ce pseudo figure dans l'Access-List Masters sur $chan !"
    return 0
    }
         adduser $vhand $vhand*!*@*
		 setuser $vhand HOSTS $vhand!*@*
         setuser $vhand HOSTS $vhand|*!*@*
         chattr  $vhand +v $chan
		 foreach line [split $::GB::msg(pvmsg) "\n"] {
		 putserv "privmsg $vhand :$line"
        }
         puthelp "notice $nick :$vhand a bien été ajouté(e) en tant que voice sur $chan !"
         putserv "privmsg $GB::log :\00314Commande \0036\[\0033Add-vocie\0036\] \0031par : \0034$hand"
		 save
}


il me dis bien que la personne et dans la liste des voices mes elle n'est pas voicer quand elle rejoins le salon

je mis prend surement mal mais j'essaye de découvrir les code tcl ^^


RE: addvoice - DnS - 22/12/2011

bonsoir,

montre nous ton bind join


RE: addvoice - lesny - 22/12/2011

bind join * [namespace current]::voiceco


RE: addvoice - DnS - 22/12/2011

OK,
bon je la refait,j'ai due mal m’exprimé.

peut tu nous monter ton code complet de bind join qui je pense fait plus d'une ligne stp.

Cordialement


RE: addvoice - lesny - 22/12/2011

lol je ne sais pas ce que ces ce sont des code que j'ai ajouter lol

je les dis je suis un noob bon pas grave alias le rajoutera peut-être dans la future maj qu'il fera


RE: addvoice - lesny - 23/12/2011

escuse moi de mon impolitesse je te remerci d'avoie pris le temps de me repondre DNS merci


RE: addvoice - aliasangelius - 24/12/2011

Salut,

Alors déjà tu peut-être sur que ta une erreur dans ta procedure..
Je t'explique :

Tu fait comme ceci pour ton bind :


tcl
bind join * [namespace current]::voiceco


La tu fait un bind join c'est à dire lorsqu'une personne va joindre le salon l'eggdrop va faire ou pas une action demander.
Pour cela juste un bind ne suffit pas hein.
Ensuite seconde erreur :


tcl
proc addvoice { nick host hand text } {
         set vhand [lindex [split [lindex $text 0] |] 0]
         set chan [lindex $text 1]
   if {[channel get $chan GB]==0} { return; }
    if { [nick2hand $nick] eq "*" } {
         puthelp "notice $nick :[subst -nocommands -nobackslashes $::GB::msg(access)]"
    return 0
    }
    if ![isauth $hand] {
         puthelp "notice $nick :[subst -nocommands -nobackslashes $::GB::msg(auth)]"
    return 0
    }
    if {![string match #* $chan]} {
         puthelp "notice $nick :Syntaxe incorrecte ! ( /msg $::botnick addvoice <pseudo> <#salon> ) !"
    return 0
    }
    if ![validchan $chan] {
         puthelp "notice $nick :[subst -nocommands -nobackslashes $::GB::msg(salon)]"
    return 0
    }
    if ![matchattr $hand o|m $chan] {
         puthelp "notice $nick :[subst -nocommands -nobackslashes $::GB::msg(level)]"
    return 0
    }
    if [matchattr $vhand |n $chan] {
         puthelp "notice $nick :Ce pseudo figure dans l'Access-List Owners sur $chan !"
    return 0
    }
    if [matchattr $vhand |m $chan] {
         puthelp "notice $nick :Ce pseudo figure dans l'Access-List Masters sur $chan !"
    return 0
    }
    if [matchattr $vhand |o $chan] {
         puthelp "notice $nick :Ce pseudo figure dans l'Access-List Opérateurs sur $chan !"
    return 0
    }
    if [matchattr $vhand |m $chan] {
         puthelp "notice $nick :Ce pseudo figure dans l'Access-List Masters sur $chan !"
    return 0
    }
         adduser $vhand $vhand*!*@*
       setuser $vhand HOSTS $vhand!*@*
         setuser $vhand HOSTS $vhand|*!*@*
         chattr  $vhand +v $chan
       foreach line [split $::GB::msg(pvmsg) "\n"] {
       putserv "privmsg $vhand :$line"
        }
         puthelp "notice $nick :$vhand a bien été ajouté(e) en tant que voice sur $chan !"
         putserv "privmsg $GB::log :\00314Commande \0036\[\0033Add-vocie\0036\] \0031par : \0034$hand"
       save
}


Il et ou le bind pub ou bind msg pour executé la commande ?
Il te faudrais regardez côté bind pub/msg pour que sa fonctionne ou alors transmettre les tcl entier..
Concernant le bind join tu peux faire en prenant exemple sur le infoline en modifiant..
Essaye et au pire même si ta des difficulté le forum et basé sur l'aide/entraide.
Donc je pense que tu obtiendra de l'aide :).
Sinon comme je te l'ai dit dans l'autre post je le ferait pas de soucis.
Mais si tu en à besoin rapidemant dit le me semble que j'ai ce type de chose mais par pl après je modifie c'est pas dur et vala a toi de me dire :)