Vous n'êtes pas identifié(e).

Top posteurs

Statistiques

Partenaires

  • eXolia Hosting
  • Eggdrop.fr

#1 27/08/2015 22:55:10

pheeric
Nouveau IRCzien
Lieu : Dans le Sud peuchére
Inscription : 30/12/2011
Messages : 5

Communication entre lightIRC et eggdrops

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 smile

Hors ligne

#2 27/08/2015 23:15:45

sianur
IRCzien en herbe
Lieu : dordogne
Inscription : 17/05/2013
Messages : 79
Site Web

Re : Communication entre lightIRC et eggdrops

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

#3 27/08/2015 23:19:13

Harakiri
Administrateur
Lieu : Paris
Inscription : 02/07/2011
Messages : 261

Re : Communication entre lightIRC et eggdrops

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 smile


EOF

Hors ligne

#4 28/08/2015 11:35:44

pheeric
Nouveau IRCzien
Lieu : Dans le Sud peuchére
Inscription : 30/12/2011
Messages : 5

Re : Communication entre lightIRC et eggdrops

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é sad

merci a vous

Hors ligne

#5 28/08/2015 15:20:15

sianur
IRCzien en herbe
Lieu : dordogne
Inscription : 17/05/2013
Messages : 79
Site Web

Re : Communication entre lightIRC et eggdrops

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é smile

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 smile
sinon merci d'ajouter un petit résolu smile


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

#6 28/08/2015 18:08:23

pheeric
Nouveau IRCzien
Lieu : Dans le Sud peuchére
Inscription : 30/12/2011
Messages : 5

Re : Communication entre lightIRC et eggdrops

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

#7 28/08/2015 18:35:08

sianur
IRCzien en herbe
Lieu : dordogne
Inscription : 17/05/2013
Messages : 79
Site Web

Re : Communication entre lightIRC et eggdrops

Tu as très certainement mal ajouter le code es que je peux avoir l'adresse de ton applet stp


Un jour j'irai vivre en Théorie, car en Théorie tout se passe bien.

Hors ligne

#8 28/08/2015 19:31:22

pheeric
Nouveau IRCzien
Lieu : Dans le Sud peuchére
Inscription : 30/12/2011
Messages : 5

Re : Communication entre lightIRC et eggdrops

Je t'ai CC le code a coté smile

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

#9 28/08/2015 19:45:22

sianur
IRCzien en herbe
Lieu : dordogne
Inscription : 17/05/2013
Messages : 79
Site Web

Re : Communication entre lightIRC et eggdrops

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

#10 28/08/2015 20:27:48

sianur
IRCzien en herbe
Lieu : dordogne
Inscription : 17/05/2013
Messages : 79
Site Web

Re : Communication entre lightIRC et eggdrops

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

Pied de page des forums

1325098 visites ( 270 aujourd'hui ) 3 visiteurs en ligne
Copyright © 2004 - 2013 IRCz