+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : nick list dans fichier html (/showthread.php?tid=1136)
nick list dans fichier html - loulou7593 - 30/01/2012
Bonjour, je viens car j'avais trouvé à une periode
un petit tcl qui permet d'enregistrer la liste des users dans un fichier html.
Voici le code
tcl
############################################## Liste users ##############################################set canal "#accueil"set fichier "/home/loulou/public_html/liste.html"
bind join - "$canal *"list:join
bind part - "$canal *"list:part
bind sign - "$canal *"list:quit
proclist:join{nick uhost handle chan}{list:log;}proclist:part {nick uhost handle chan text}{if{$nick!= $::botnick}{list:log;}}proclist:quit {nick uhost handle chan text}{if{$nick!= $::botnick}{list:log;}}proclist:log {}{set fp [open$::fichier w]foreach cnick [chanlist $::canal]{if{$cnick == $::botnick}{continue;}if{[isop $cnick$::canal] == 1}{set st "@"}elseif{[ishalfop $cnick$::canal] == 1}{set st "%"}elseif{[isvoice $cnick$::canal] == 1}{set st "%"}else{set st ""}puts$fp"$st$cnick<br />"}close$fp}
########### Putlog ############
putlog "nick list par CrazyCat"
Le systeme de differencier les @, les % et les normaux fonctionne bien, j'aurais aimer savoir si il etait possible sur cette page html d'y mettre un fond, et d'associer par exemple la couleur rouge pour les @, Bleue pour les % et Vert pour les normaux mais aussi de classer par ordre sur le fichier par exemple les @ en premiers , les % en deuxiemes et les normaux en troisiemes.
comme ceci
@Niubot
@Popcorn %loulou
%steph
%Tiger ben
joe
cindy
Si quelqu'un peut m'aider, merci d'avance
RE: nick list dans fichier html - CrazyCat - 30/01/2012
RE: nick list dans fichier html - loulou7593 - 30/01/2012
J'ai donc modifié comme indiqué, les catégories @ % et normaux sont ien classées, mais je n'ai pas la couleur et
je me retrouve avec plusieurs fois les pseudos.
RE: nick list dans fichier html - loulou7593 - 30/01/2012
En fait je pense que quand quelqu'un join ou quit le chan, ca ecrit dans liste.html à
la suite de la précedente ecriture, ca doit etre pour ca que ca apparait plusieurs fois.
RE: nick list dans fichier html - CrazyCat - 30/01/2012
Ouais, j'ai un peu foiré mon code, j'ajoute toujours dans les listes sans retirer... Tout àa à cause d'une erreur d'initialisation (placée au mauvais endroit).
Et pour les couleurs, c'est color et non pas font-color qu'il faut utiliser.
Ce qui donne donc:
RE: nick list dans fichier html - loulou7593 - 30/01/2012
Ah oui Impeccable, les pseudos sont en couleurs.
Par contre j'aimerais savoir comment faire pour avoir une mise en page pour cette liste.html ?
Mettre un fond de la page principale genre en noir
Que les pseudos soit incorporés dans un tableau
Avoir le nombre total d'users connectés
?????
RE: nick list dans fichier html - CrazyCat - 31/01/2012
Heu, la tu as toutes les bases.
Modifie save:log pour faire toute la mise en forme html que tu veux, ajoute un compteur, ... Je ne vais pas tout faire non plus, le html c'est simple comme <h1>hello world</h1>
RE: nick list dans fichier html - loulou7593 - 31/01/2012
Non je me doute bien que tu vas pas tout faire,
c'est juste pour savoir si c'est faisable à partir de ce tcl, d'integrer dedans une mise
en forme pour la page html aussi.
Mais disont que jme demande un peu comment faire car pour integrer les pseudos
dans un tableau, vu qu'on ne sais pas combien il ya d'users comment definir le nombres de lignes et de colones du tableau lol.
RE: nick list dans fichier html - loulou7593 - 31/01/2012
J'ai testé de mettre le code html pour le fond
Code :
<div style='background:black;'> </div>
Mais ca ne prend pas lol.
RE: nick list dans fichier html - CrazyCat - 31/01/2012
Bon, avant que ça ne me fatigue: Le script tcl
Code :
###################################
########### Liste users ###########
###################################
set canal "#accueil"
set fsource "/home/loulou/liste.tpl"
set fichier "/home/loulou/public_html/liste.html"
proc save:log {} {
set fp [open $::fichier w]
set fi [open $::fsource r]
set tpl [read $fi -nonewline $fi]
close $fi
$ulist = ""
foreach nick $::u(op) {
append $ulist "<tr><td style='color:red;'>@$nick</td></tr>\n"
}
foreach nick $::u(hop) {
append $ulist "<tr><td style='color:blue;'>%$nick</td></tr>\n"
}
foreach nick $::u(vop) {
append $ulist "<tr><td style='color:yellow;'>+$nick</td></tr>\n"
}
foreach nick $::u(nop) {
append $ulist "<tr><td style='color:green;'>$nick</td></tr>\n"
}
regsub -all %count $tpl $::count tpl
regsub -all %channel $tpl $::canal tpl
regsub -all %list $tpl $ulist tpl
fputs $fp $tpl
close $fp
}
##########
# Putlog #
##########
#
putlog "nick list par CrazyCat"
Le fichier template
A mettre dans /home/loulou/liste.tpl
Code :
<html>
<head>
<title>Les %count connectés sur %channel</title>
<style>body { background-color: black; }</style>
</head>
<body>
<table>
<tr><th>Il y a %count personnes sur %channel</th></tr>
%list
</table>
</body>
</html>
Et je n'aide plus sur ce sujet, tu as toute la solution.
RE: nick list dans fichier html - loulou7593 - 31/01/2012
Merci beaucoup CrazyCat,
c'est juste ce que je voulais savoir, ma question savoir si on pouvais integrer la mise en page directement dans le tcl de base.
Mais apparement voila il fallait avoir un autre fichier le template.
Je vais voir maintenant pourquoi ca n'ecrit plus dans mon fichier liste.html et que ca donne une erreur
Code :
Tcl error [list:join]: wrong # args: should be "read channelId ?numChars?" or "read ?-nonewline? channelId"
Merci encore je vais me pencher dessus maintenant.
RE: nick list dans fichier html - loulou7593 - 01/02/2012
Voila j'ai modifié dans le fichier liste.tpl
pour faire la mise en page.
Par contre je n'avais pas fait attention, mais il y a un soucis au niveau de l'ecriture des pseudos dans le fichier et du compteur.
Exemple :
sur Chanel il y a déjà les personnes suivantes.
Niubot
popcorn
quand on consulte la page elle indique 2 personnes sur le canal, mais elle n'a ecrit que le pseudo de niubot.
si Cindy75 join le canal, la page indique 3 personnes sur le canal, mais il y a toujours que le pseudo de niubot d'ecrit.
et seulement si une autre personne join le canal, là la page indique 4 personnes sur le canal et elle écrit le pseudo de 2 personnes. Le pseudo des 2 premières personnes qui étaient déjà sur le canal.
Je ne vois pas de quoi ca peut venir.
Si quelqu'un a une idée, je suis preneur.
Merci
RE: nick list dans fichier html - CrazyCat - 01/02/2012
Effectivement, il y avait quelques erreurs de frappe.
Celui-ci est testé et donc fonctionnel.
Code :
###################################
########### Liste users ###########
###################################
set canal "#accueil"
set fsource "/home/loulou/liste.tpl"
set fichier "/home/loulou/public_html/liste.html"
proc save:log {} {
set fp [open $::fichier w]
set fi [open $::fsource r]
set tpl [read -nonewline $fi]
close $fi
set ::ulist ""
foreach nick $::u(op) {
append ::ulist "<tr><td style='color:red;'>@$nick</td></tr>\n"
}
foreach nick $::u(hop) {
append ::ulist "<tr><td style='color:blue;'>%$nick</td></tr>\n"
}
foreach nick $::u(vop) {
append ::ulist "<tr><td style='color:yellow;'>+$nick</td></tr>\n"
}
foreach nick $::u(nop) {
append ::ulist "<tr><td style='color:green;'>$nick</td></tr>\n"
}
regsub -all %count $tpl $::count tpl
regsub -all %channel $tpl $::canal tpl
regsub -all %list $tpl $::ulist tpl
puts $fp $tpl
close $fp
}
##########
# Putlog #
##########
#
putlog "nick list par CrazyCat"
RE: nick list dans fichier html - loulou7593 - 01/02/2012
Ca marche impec quand quelqu'un rentre ca ajoute bien,
mais quand une personne part ou quit ca ne l'enleve pas de la liste.
Elle s'enleve de la liste si quelqu'un d'autre join ou quit le chan bizare.
EDIT: En fait je rectifie, ca enleve bien le pseudo mais pas immediatement faut attendre un peu, alors que quand un pseudo join le salon et qu'on actualise la page il est déja ecrit.
ENVIRON 5 minutes apres il s'enleve de la liste
RE: nick list dans fichier html - loulou7593 - 03/02/2012
Par contre, Je me posais une question,
dans le
tcl
set canal "#accueil"
Il n'est pas possible de rajouter un autre salon ??
Car du coup je me disais peut etre mettre sur la meme page html la liste d'un autre salon ???