Communauté Eggdrop
Soucis entre lightIRC et eggy - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Aide IRC (https://forum.eggdrop.fr/forumdisplay.php?fid=21)
+--- Forum : Interfaces (https://forum.eggdrop.fr/forumdisplay.php?fid=24)
+--- Sujet : Soucis entre lightIRC et eggy (/showthread.php?tid=1591)



Soucis entre lightIRC et eggy - pheeric - 27/08/2015

Bonjour
J'ai un petit problème sur des jeux (Quiz, Motus etc. ..) quand un utilisateur passe par l'applet lightIRC et qu'il écris avec des couleurs ou en lettres "gras" les jeux ne démarrent pas. (si la personne est connectée via un mirc pas de soucis le eggdrop réagit au 1/4  de tour).
Avez vous déjà eu ce soucis ?
j'ai recherché dans les posts mais rien trouvé.
Merci à vous Smile


RE: Soucis entre lightIRC et eggy - CrazyCat - 28/08/2015

Oui, c'est un phénomène connu car le code "couleur" est pris comme un caractère et donc les binds pub ne réagissent pas. Il faut soit les modifier pour ajouter un % (0 ou 1 caractère avant) soit passer par un pubm mais c'est un peu plus compliqué à gérer


RE: Soucis entre lightIRC et eggy - sianur - 28/08/2015

Salut,

je vois que tu as poster un peux partout Smile

pour LightIrc

Code :
function discutea_strip_color(command) {
  //fonction de remplacement des couleurs
  command = command.replace(/[\x1F\x0F]/g, "");
  command = command.replace(/[\002\x0F]/g, "");
  command = command.replace(/[\003\x0F]((\d{0,2},\d{0,2})|(\d{0,2}))/g, "");
  command = command.replace(/^\s{0,4}/, "");
  return command;
}
function onClientCommand(command) {
parts = command.split(" ");
if ((parts[0]=='PRIVMSG')&&(parts[2].match(/^:(.*)!(.*)/g))) {
   if (discutea_strip_color(parts[2]).match(/^:!(.*)/g)) {
   command =  discutea_strip_color(command);
}
}
 return command;
}

Pense à mettre des résolus sur tous les forums si ca fonctionne stp

cordialement


RE: Soucis entre lightIRC et eggy - pheeric - 28/08/2015

(28/08/2015, 17:51)sianur a écrit : Salut,

je vois que tu as poster un peux partout Smile

pour LightIrc

Code :
function discutea_strip_color(command) {
  //fonction de remplacement des couleurs
  command = command.replace(/[\x1F\x0F]/g, "");
  command = command.replace(/[\002\x0F]/g, "");
  command = command.replace(/[\003\x0F]((\d{0,2},\d{0,2})|(\d{0,2}))/g, "");
  command = command.replace(/^\s{0,4}/, "");
  return command;
}
function onClientCommand(command) {
parts = command.split(" ");
if ((parts[0]=='PRIVMSG')&&(parts[2].match(/^:(.*)!(.*)/g))) {
   if (discutea_strip_color(parts[2]).match(/^:!(.*)/g)) {
   command =  discutea_strip_color(command);
}
}
 return command;
}

Pense à mettre des résolus sur tous les forums si ca fonctionne stp

cordialement

Re
Oui et je t'ai aussi répondu, car je ne savais pas trop ou chercher une solution
J'ai testé ce que tu as mis comme code, mais hélas ça ne fonctionne pas chez moi. Pourquoi ça ...
De même je n'ai pas trouvé les 2 lignes de params.
Est ce que cela viendrait de la version celel que j'ai : lightIRC 1.3.4 Build 160
Si quelqu'un a une éventuelle solution sans trop rien casser Smile
Merci

PS: t'inquiètes je met toujours [résolu] oui qd j'ai finalisé le truc qui fonctionne.

Code :
/* 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
}



RE: Soucis entre lightIRC et eggy - pheeric - 28/08/2015

(28/08/2015, 15:40)CrazyCat a écrit : Oui, c'est un phénomène connu car le code "couleur" est pris comme un caractère et donc les binds pub ne réagissent pas. Il faut soit les modifier pour ajouter un % (0 ou 1 caractère avant) soit passer par un pubm mais c'est un peu plus compliqué à gérer

facile a modifier les binds pub ?¿?