Pour ma part depuis longtemps, je trouve que le fait que les binds pubs ne réagisse pas aux commandes qui auraient de la couleur, du gras, ou tout autre code de styles est embêtant.
Bien que leurs sensibilités (aux binds pubs) soit sensé. J'avais fait la demande aux eggheads pour faire quelques choses. Vous pouvez voir ma demande ici et rien n'a été dans ce sens pour l'instant.
Les seules solutions proposées me déplaisent, parce que comme ici: ça consiste à remplacer le comportement des PRIVMSG entrant de manière général au eggdrops.
Ce que je trouve trop dangereux, de plus, si un script a besoin de s'exécuter sur un code de style comme des couleurs ?
Finalement, ont à l'un ou l'autre choix, mais pas les deux.
Alors soyons fou, je vais essayer une idée d'approche qui nous donnerait une alternative :
Si nous voulons que les arguments garde les couleurs , mais qu'il se déclenche tout de même avec ou sans sur la commande on va modifier légèrement l'emplacement du stripcodes
Bien que leurs sensibilités (aux binds pubs) soit sensé. J'avais fait la demande aux eggheads pour faire quelques choses. Vous pouvez voir ma demande ici et rien n'a été dans ce sens pour l'instant.
Les seules solutions proposées me déplaisent, parce que comme ici: ça consiste à remplacer le comportement des PRIVMSG entrant de manière général au eggdrops.
Ce que je trouve trop dangereux, de plus, si un script a besoin de s'exécuter sur un code de style comme des couleurs ?
Finalement, ont à l'un ou l'autre choix, mais pas les deux.
Alors soyons fou, je vais essayer une idée d'approche qui nous donnerait une alternative :
tcl
# nous allons nommer les pubs insensibles 'PUBSC' dans cet exemple pour 'PubStripCodes'
# On crée une fonction pour faciliter la création des PUBS qui se déclenche même s'il y a de la couleur
# Commençons par créer une petite procédure, un pubm qui se déclenche à chaque entrée de message sur l'eggdrop
bind pubm - * PUBSC:MAIN;
proc PUBSC:MAIN { nick host hand chan arg } {
# On enlève tout style de couleurs
set arg [stripcodes * ${arg}];
# On récupère la commande de arg
set CMD_NAME [lindex ${arg} 0]
# on enlève les préfixes possibles de la commande (commenter si inutile)
set CMD_NAME [string trimleft "!" ${CMD_NAME}]
# On récupère le contenu de la commande
set CMD_NAME [lrange ${arg} 1 end]
# Nous vérifions à présent si la commande, sans couleurs ni préfixe, corresponds à une procédure du même nom - en majuscule) qui débuterait par "PUBSC:"
if { [info commands "PUBSC:[string toupper ${CMD_NAME}]"] ne "" } {
# Si c'est le cas, on l'appelle avec les arguments
PUBSC:[string toupper ${CMD_NAME}] ${nick} ${host} ${hand} ${chan} ${arg}
}
}
# Maintenant rien de plus simple : Création d'une commande "!coucou"
proc PUBSC:COUCOU { nick host hand chan arg } {
putquick "PRIVMSG $chan :Oui, bien le coucou $nick !"
}
Si nous voulons que les arguments garde les couleurs , mais qu'il se déclenche tout de même avec ou sans sur la commande on va modifier légèrement l'emplacement du stripcodes
tcl
proc PUBSC:MAIN { nick host hand chan arg } {
# On récupère la commande de arg
set CMD_NAME [lindex ${arg} 0]
# On enlève tout style de couleurs sur la commande
set CMD_NAME [stripcodes * ${CMD_NAME}];
# on enlève les préfixes possibles de la commande (commenter si inutile)
set CMD_NAME [string trimleft "!" ${CMD_NAME}]
# On récupère le contenu de la commande
set CMD_NAME [lrange ${arg} 1 end]
# Nous vérifions à présent si la commande, sans couleurs ni préfixe, corresponds à une procédure du même nom - en majuscule) qui débuterait par "PUBSC:"
if { [info commands "PUBSC:[string toupper ${CMD_NAME}]"] ne "" } {
# Si c'est le cas, on l'appelle avec les arguments
PUBSC:[string toupper ${CMD_NAME}] ${nick} ${host} ${hand} ${chan} ${arg}
}
}
Retrouvez les dernières modifications de mes scripts TCL (versions Alpha/Bêta) ainsi que d'autres de mes réalisations sur ma page GitHub et les versions stables dans la section scripts de ce site 8-)