Communauté Eggdrop
[Resolu] Ajout de couleur durant une lecture de fichier - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : [Resolu] Ajout de couleur durant une lecture de fichier (/showthread.php?tid=1289)



[Resolu] Ajout de couleur durant une lecture de fichier - heretoc - 16/12/2012

Bonsoir à tous,
Voila j'ai un code (qui n'est certes pas très beau) fonctionnel dans ces grandes lignes mais manque de personnalisation.

En effet j'aimerais pouvoir y inclure si possible diverses couleurs à la lecture de mon fichier .txt hors je ne voit pas du tout comment faire

Voici le code:
tcl
bind pubm -|- "*" pub_modo2
proc pub_modo2 {nick host hand chan arg} {
global mirc_strip 
        set arg [mirc_strip $arg]
        set commurl [lindex $arg 0]
		set cmd [string tolower [lindex $arg 1]]
		set fichiertext "scripts/project/modo/$cmd.txt"
        switch -- $commurl {
		"!modo2" {
		if {$cmd eq "" } {putfast "NOTICE $nick :\0034SyntaXe :\0033 !modo2 <pseudo1/pseudo2> "; }
		set ouverturefichier [open $fichiertext r]
		while { ![eof $ouverturefichier] } {
		gets $ouverturefichier rrabus
		set len [string length $rrabus]
		putdccraw 0 [expr $len + 1] "$rrabus\n" 
		putquick "PRIVMSG $nick :\0034$rrabus"
		close $ouverturefichier
		return 0
		}
	}
}


Voici le resultat:
Voici qui est le modérateur Pseudo1
Il à X années
Il aime les lasagnes


Maintenant si je souhaite rajouter d'autres couleurs dans le texte, je suis simplement perdu.

Merci d'avance de l'aide



Re bonsoir,
Directement sur le canal IRC, MenzAgitat m'a offert la réponse.
Il faut utiliser les "string map" afin de déclarer les mots qui seront mis de différentes couleurs
De cette manière seul les premiers mots pour ma part vont apparaître en "Rouge" et les mots qui suive en "Vert"

Voici le code fonctionnel:
tcl
bind pubm -|- "*" pub_modo2
proc pub_modo2 {nick host hand chan arg} {
        set arg [mirc_strip $arg]
        set cmd [lindex $arg 0]
		set cmd2 [string tolower [lindex $arg 1]]
		set fichiertext "scripts/project/modo/$cmd2.txt"
        switch -- $cmd {
		"!modo2" {
		if {$cmd2 eq "" } {putfast "NOTICE $nick :\0034SyntaXe :\0033 !modo2 <pseudo1/pseudo2> "; }
		set ouverturefichier [open $fichiertext r]
		while { ![eof $ouverturefichier] } {
		gets $ouverturefichier lecturefichier
		set len [string length $lecturefichier]
		set lecturefichier [string map {"Pseudonyme :" "\0034Pseudonyme :\0033" "Prenom :" "\0034Prenom : \0033" "Departement :" "\0034Departement :\0033" "Description :" "\0034Description :\0033" "Phrase perso :" "\0034Phrase perso :\0033"} $lecturefichier]
		putdccraw 0 [expr $len + 1] "$lecturefichier\n" 
		putquick "PRIVMSG $nick :\0034$lecturefichier"
		}
		close $ouverturefichier
		return 0
		}
	}
}



Et voici l’intérieur d'un de mes fichiers .txt
Code :
Informations sur le moderateur
Pseudonyme : Pseudo1
Prenom : Pseudo2
Departement : XX
Description : Aime les lasagnes
- - - -
Phrase perso : Aucune idée