Vous n'êtes pas identifié(e).
Pages : 1
Bonjour
Je poste ici ma question au cas ou quelqu’un ait déjà eu le même soucis;
j'ai des utilisateurs qui se connectent sur Irc avec lightIRC (dernière version).
Ils mettent de la couleur du gras du souligné bref .. Entrent dans des salons tels #Motus ou #QuiZ et la ça râle car impossible de faire démarrer les jeux en !start etc.. du fait que sur le lightIRC ils ont mis de la couleur ou une écriture en gras.
Les eggdrops leur répond que si il n'y a aucune couleur et gras ..
Comment pallier a ce problème ?
merci de votre aide
Hors ligne
salut,
Si ce n'est que pour le !start il y a deux solutions.
La première solution en tcl:
pour ça il fraudais connaitre le script que tu utilise et surtout connaitre le principe de détection des commandes
au lieu de faire quelque chose comme if {$variable=="!start"} {
tu fais quelques chose comme if {[string match *!start* $variable]}{...
La seconde solutions en javascript
Avec la fonction onClientCommand()
tu split ton text et tu détecte si le premier mot commence par un ! si c'est le cas tu fais quelque chose comme cmdclient = ''; et tu renvois la commande sans couleur
si tu n'y arrive pas j’essaierai de plus t'aider demain avec lightirc ca servira pour chez moi en meme temps
Un jour j'irai vivre en Théorie, car en Théorie tout se passe bien.
Hors ligne
Hello,
Le plus simple selon moi est de faire en sorte que les scripts de ton Eggdrop soient capables d'identifier les commandes avec ou sans formatage.
Normalement ce sont des petites modifications dans les scripts TCL concernés.
Sinon, tu as toujours la possibilité, selon l'IRCd que tu utilises, d'activer un mode sur les salons concernés, qui soit chargé de retirer tous les éléments de formatage des messages envoyés.
Par exemple, sur UnrealIRCd il te suffirait d'appliquer le mode +S sur les salons en question, auquel cas, personne ne verrait les couleurs des autres sur les salons.
Petit détail H.S. fais attention à la section dans laquelle tu postes tes topics
EOF
Hors ligne
Merci a sianur et Harakiri pour leurs réponses
Harakiri je ne savais pas trop justement dans quelle section poser ce topic, la m'a semblé le plus approprié.
Bah j'utilise le script tcl de motus et celui de Trivia pour le Quiz
Avec un !Motus pour le Motus, un !start pour le Quiz (trivia) après ce sera un !Uno .. etc...
En fait oui je pense qu'il faudrait une petite ligne de code tcl pour transformer le ! en écriture standard... !
Et je dois avouer pour ma part que le codage est loin d'être ma tasse de thé
merci a vous
Hors ligne
Salut,
J'ai fait cela en javascript (pour LightIrc), étant donné que modifier tous tes bots serait long et ne fonctionnerait pas forcément chez tout le monde. J'ai donc essayé de commenter le code au maximum si d'autres veulent s'en servir.
Ce code à l'air de fonctionner chez moi, mais il y a sûrement des améliorations à faire - si quelqu'un es motivé
Alors pour ajouter le code tu dois:
1) Passer les paramètres ci-dessous en "true" si ce n'est pas le cas dans ton config.js
Code: Javascript
params.loopClientCommands = true;
params.loopServerCommands = true; //je crois que celui-ci ne sert que pour les commandes serveurs dans le doute je le laisse
2) Tu dois remplacer le code ci dessous
Code: Javascript
function onClientCommand(command) {
return command;
}
par ce code
Code: Javascript
function discutea_strip_color(command) {
//fonction de remplacement des couleurs
command = command.replace(/[\x1F\x0F]/g, ""); //supression du souligner
command = command.replace(/[\002\x0F]/g, ""); //supression du gras
command = command.replace(/[\003\x0F]((\d{0,2},\d{0,2})|(\d{0,2}))/g, ""); //supression des codes couleurs
command = command.replace(/^\s{0,4}/, ""); //supression espaces parasites
return command;
}
function onClientCommand(command) {
parts = command.split(" "); //on split
//on detect si le premier mot contien un !
if ((parts[0]=='PRIVMSG')&&(parts[2].match(/^:(.*)!(.*)/g))) {
//on controle que le premier mot commence pas un !
//objectif eviter de detecter un salut!
if (discutea_strip_color(parts[2]).match(/^:!(.*)/g)) {
//on revien a la fonction discutea_strip_color();
command = discutea_strip_color(command);
}
}
return command; //on renvoie la chaine
}
3) Vide ton cache
4) Essaie
Si cela ne fonctionne pas ou que tu ne comprends pas comment ajouter le code, tu peux revenir ici
sinon merci d'ajouter un petit résolu
Ps: j'ai séparer les fonctions si quelqu'un a envie d'ajouter un bouton "ne pas voir les messages en couleur" ou autre chose
Dernière modification par sianur (28/08/2015 15:40:42)
Un jour j'irai vivre en Théorie, car en Théorie tout se passe bien.
Hors ligne
Hello sianur
j'ai bien posé le code comme tu as mis.
J'ai recherché par contre les deux params:
params.loopClientCommands = true;
params.loopServerCommands = true;
Pas trouvé dans ma version.
Une fois le code copié (le restant du javascript) j'ai bien restart le lightIrc vidé le cache (sous Firefox) mais aucune action.
De même j'ai rajouté les 2 lignes de params.loopClient et loopServer dans la liste des params, refait les manips mais keuni ça ne veut rien savoir de plus.
La version du lightIrc que j'ai est la : lightIRC 1.3.4 Build 160.
une idée ?
Hors ligne
Hors ligne
Je t'ai CC le code a coté
Code: Javascript
/* This method gets called if you use the parameter loopClientCommands */
function discutea_strip_color(command) {
//fonction de remplacement des couleurs
command = command.replace(/[\x1F\x0F]/g, "");
//supression du souligner
command = command.replace(/[\002\x0F]/g, "");
//supression du gras
command = command.replace(/[\003\x0F]((\d{0,2},\d{0,2})|(\d{0,2}))/g, "");
//supression des codes couleurs
command = command.replace(/^\s{0,4}/, "");
//supression espaces parasites
return command;
}
function onClientCommand(command) {
parts = command.split(" ");
//on split
//on detect si le premier mot contient un !
if ((parts[0]=='PRIVMSG')&&(parts[2].match(/^:(.*)!(.*)/g))) {
//on controle que le premier mot commence pas un !
//objectif eviter de detecter un salut!
if (discutea_strip_color(parts[2]).match(/^:!(.*)/g)) {
//on revient a la fonction
discutea_strip_color();
command = discutea_strip_color(command);
}
}
return command;
//on renvoie la chaine
}
Hors ligne
Il y a pas tous le code de l'applet la
il me faut vraiment ton adresse url pour que je vois tous le code et que je trouve une erreur
dans cette partie aucun soucis
Un jour j'irai vivre en Théorie, car en Théorie tout se passe bien.
Hors ligne
En fait tu a bien essayer de démarrer le quizz
ou tu as contrôler avec un autre client ?
Car depuis LightIRC si tu tape !commande tu la verras toujours en couleur de ton coté mais elle serra bien renvoyer en noir coté client
si il y a un soucis avec ton url ou ton applet envoie le moi en mp au pire
Un jour j'irai vivre en Théorie, car en Théorie tout se passe bien.
Hors ligne
Pages : 1