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


autovoice
#1
Bonjour,

On ma demander un autovoice activable sur salon
Donc qui nécessite pas de mettre #salon dans un (set salon blabla "#chan")

Alors je le mets ici des fois qu'il pourrait être utile à des personnes qui cherchent ce type de code.

PS : sur salon pour l'activé suffit de tapez : !von
Pour le désactivé tapez : !voff

Voici le code :


tcl
namespace eval ::autov {
setudef flag VV
 
bind pub o "!von" [namespace current]::von
proc von { nick host hand chan arg } {
    if {[channel get $chan VV] == 0} {
         channel set $chan +VV
         putquick "PRIVMSG $chan :Auto-Voice Activé !"
         foreach von [chanlist $chan] { if [isop $von $chan] continue; pushmode $chan +v $von }
    } else {
         putquick "PRIVMSG $chan :Auto-Voice déjà Activé !"
    }
}
 
bind pub o "!voff" [namespace current]::voff
proc voff { nick host hand chan arg } {
    if {[channel get $chan VV] != 0} {
         channel set $chan -VV
         putquick "PRIVMSG $chan :Auto-Voice Désactivé !"
         foreach voff [chanlist $chan] { if [isop $voff $chan] continue; pushmode $chan -v $voff }
    } else {
         putquick "PRIVMSG $chan :Auto-Voice déjà Désactivé !"
    }
}
 
bind join - "*" [namespace current]::autovoice
proc autovoice { nick uhost handle chan } {
if {[channel get $chan VV]==0} { return; }
      pushmode $chan +v $nick
    }
}

#2
Tu as suivi mon conseil et ajouté le (de)voice des personnes présentes, c'est bien.
Par contre, je ne comprends pas l'intérêt des "::" devant le nom du namespace lors du namespace eval.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
Oui j'ai suivi ton conseil ta vus :p

Heu oui j’avais dans l'idée de faire le code autrement lors des appels de procédure donc j’avais mis le :: mais bon après j'ai laissé comme ça sans les retiré désolé.

Donc oui les retiré serait aussi bien car ils servent à rien :)
#4
salut,
Quote:Par contre, je ne comprends pas l'intérêt des "::" devant le nom du namespace lors du namespace eval.
sur ce coup la il a raison de mettre les :: , le namespace que tu crées n'est pas forcément chargé dans le namespace global, tout dépend ou tu le source. Avec l'ajout des :: tu es sure qu'il soit chargé, dans tous les cas, dans le namespace global
imaginons que tu es:

tcl
namespace eval machin {
    namespace eval truc {
...
    }
}

le chemin de truc sera ::machin::truc
alors que
tcl
namespace eval machin {
    namespace eval ::truc {
...
    }
}

le chemin de truc sera ::truc
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#5
Bonjour,
Mise à jour du code incluant plusieurs choses qu'ont ma demandé sur irc.
Voici le lien :
Téléchargement ici.


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Recherche] Script Autovoice Prototype 14 8,043 09/05/2013, 22:24
Last Post: Prototype

Forum Jump:


Users browsing this thread: 1 Guest(s)