Messages : 361
Sujets : 47
Inscription : Jul 2010
bonjour / bonsoir
voila j'ai un tcl de log il fonctionne tres bien je vous le recommande mais le soucis que j'ai ces que les log qu'il fait en fichier .html s'appel #lechan.html hors moi je voudrais qu'il n'y et que lechan.html
j'ai tenter de retiré tous les # j'ai .rehash et .restart mais rien n'y fait
donc si quelqu’un aurais la bonté de bien vouloir m'aider je lui en serais reconnaissant
d'avance merci
Messages : 31
Sujets : 9
Inscription : Oct 2010
16/10/2011, 16:28
(Modification du message : 16/10/2011, 16:31 par ArKeNiS .)
Salut,
Tu peux essayer avec un regsub -all sur $chan au début de ta proc.. ;).
Exemple :
Code :
regsub -all "#" $chan "" chan
Messages : 361
Sujets : 47
Inscription : Jul 2010
bonjour / bonsoir
au début de quelle proc ?? j'aurais du préciser je suis un noob en tcl :x
Messages : 31
Sujets : 9
Inscription : Oct 2010
Dans toutes tes procs où tu utilises le $chan... (pour ouvrir / écrire / lire / ... dans ton fichier log).
Messages : 361
Sujets : 47
Inscription : Jul 2010
bonjour / bonsoir
ok je teste cela et de dis quoi merci !
Messages : 31
Sujets : 9
Inscription : Oct 2010
Re,
En relisant ton code, il y a juste regsub -all à mettre à un/deux endroit c'est tout.
Je viens de tester et ça fonctionne.
Le code en pièce jointe.
Messages : 361
Sujets : 47
Inscription : Jul 2010
bonjour / bonsoir
merci merci beaucoup =)
Messages : 361
Sujets : 47
Inscription : Jul 2010
bonjour / bonsoir
serait-il possible de faire en sorte que les message écris en couleur sur mon serveur apparaisse également en couleur sur le fichier log.html ?
car la ca donne
[Sun16Oct.18:32:01] (+Jeux-Furious) 0,2Blague: 5,0Pourquoi les blondes sont-elles sont virées des usines de fabrication de M&M's? 10Elles jettent toujours les!
Messages : 31
Sujets : 9
Inscription : Oct 2010
Salut,
Faut faire pareille...
Mettre des regsub -all pour chaque couleur ... ;).
Cordialement,
Messages : 361
Sujets : 47
Inscription : Jul 2010
bonjour / bonsoir
dans le tcl je mes regsub -all ou exactement ?
Bonjour,
J'ai testé se script, malheureusement j'ai un soucis au niveau des egg's...Ils ne veulent pas généré les pages dans le /www/. L'erreur est " TCL error [logger:test:]: couldn't open "http://trucbidule.nanère/log/log.html" : no such file or directory " Donc, je pense que mon egg manque un TCL pour la fonction web, d'après le peux de souvenir que j'ai ^^.
Messages : 2,381
Sujets : 208
Inscription : Apr 2004
Non, je pense surtout que
http://trucbidule.nanère/log/log.html n'est pas chemin valide, c'est une url.
Le chemin serait plutôt: /home/bidule/public_html/log/log.html
Messages : 710
Sujets : 65
Inscription : Apr 2010
Salut,
Je viens de regarder le TCl il et sympa.
Mais je vois qui ya des #accueil partout :s
Serait pas mieux que de faire une variable et lorsqu'ont désire appeler le nom du salon ont appel la variable ?
Exemple :
Et ont appel la variable
Enfin pour ma part je trouverais sa mieux au lieu de parcourir tout le tcl et de modifier tout les #accueil partout..
Messages : 710
Sujets : 65
Inscription : Apr 2010
Salut,
Voilà j'ai pas tester mais sa devrais être dans se genre la :
tclcopier
########################################################
# Eggdrop Logger 2.0 - www.mircstats.com #
# Logging in mIRC 6.17 format. 27/04/2006 #
# #
# Make sure you have created the dir 'logger(dir)' #
# #
# Created by Lanze <simon@freeworld.dk> #
# Improved by zowtar <zowtar@gmail.com> #
# #
########################################################
### Configuration ###
# Salon
set logx "#accueil"
#;;; Where the logs will be saved.
set logger( dir) "/var/www/virtual/tchat-live.org/htdocs/"
#;;; Strip codes?
#;;; 0 = save codes\colors
#;;; 1 = no save codes\colors
set logger( strip) "0"
#;;; Save by Day, Week, Month or Disable?
set logger( time ) "Day"
# Modes
set logger( color1) "<font color='#FF0000'>"
# Text
set logger( color2) "<font color='#008080'>"
# Action
set logger( color3) "<font color='#9C009C'>"
# Notice / other
set logger( color4) "<font color='#7F0000'>"
# Timestamps
set logger( color5) "<font color='#0000FF'>"
# Topic
set logger( color6) "<font color='#D889B8'>"
# Join
set logger( color7) "<font color='#FFCC00'>"
# Part
set logger( color8) "<font color='#669900'>"
# Nick
set logger( color9) "<font color='#AA0078'>"
# Quit
set logger( color10) "<font color='#000000'>"
# # # # # # # # # # # # # # # # DO NOT CHANGE ANYTHING BELOW HERE # # # # # # # # # # # # # # # #
bind raw - "MODE" logger:raw
proc logger:raw { from keyword text } {
global logger
set nick [ lindex [ split $from "!" ] 0 ]
set chan [ lindex [ split $text ] 0 ]
regsub -all "#" $chan "" chan
set mode [ lindex [ split $text ] 1 ]
set arguments [ lrange [ split $text ] 2 end]
if { [ validchan $chan ] && [ string tolower $chan ] == "$logx" } {
logger:save $chan "$logger(color1)* $nick sets mode: $mode $arguments"
}
}
### Events
bind join - "$logx *!*@*" logger:join
bind part - "$logx *!*@*" logger:part
bind sign - "$logx *!*@*" logger:quit
bind pubm - "$logx*" logger:text
bind nick - "$logx *" logger:nick
bind kick - "$logx *" logger:kick
# bind mode - "$logx *" logger:mode
bind topc - "$logx *" logger:topic
bind raw - "333" logger:topic-author
bind ctcp - "ACTION" logger:action
bind notc - * logger:notice
bind rejn - "$logx *!*@*" logger:rejn
bind splt - "$logx *!*@*" logger:split
### Primary Commands
proc logger:join { nick uhost handle chan} {
set chan [ string tolower $chan ]
global logger botnick
if { $nick == $botnick } {
if { [ file exists "$logger(dir)$chan.html" ] == "0" } {
set log "[open " $logger ( dir) $chan .html" a]"
puts $log "<html><head><title>$chan [strftime " % d% b% G"]</title></head>"
puts $log "<body bgcolor=\" #000000\" ><tt>"
close $log
# putquick "TOPIC $chan"
}
set log "[open " $logger ( dir) $chan .html" a]"
puts $log "<br>"
puts $log "$logger(color5)Session Start: [strftime " % a % b % d % T % Y"]</font><br>"
puts $log "$logger(color5)Session Ident: $chan</font><br>"
puts $log "$logger(color5)\[ [strftime " % a% d% b.% H:% M:% S"]\] </font> $logger(color1)* Now talking in $chan</font><br>"
close $log
} else {
logger:save $chan "$logger(color7)* Joins: $nick ($uhost)"
}
}
proc logger:rejn { nick uhost handle chan } {
set chan [ string tolower $chan ]
global logger
logger:save $chan "$logger(color7)* Rejoin from split: $nick ($uhost)"
}
proc logger:part { nick uhost handle chan msg} {
set chan [ string tolower $chan ]
global logger
if { $msg == "" } {
logger:save $chan "$logger(color8)* Parts: $nick ($uhost)"
#logger:save $chan "$logger(color1)* $nick ($uhost) has left $chan"
} else {
logger:save $chan "$logger(color8)* Parts: $nick ($uhost) ($msg)"
#logger:save $chan "$logger(color1)* $nick ($uhost) has left $chan ($msg)"
}
}
proc logger:quit { nick uhost handle chan reason} {
set chan [ string tolower $chan ]
global logger
logger:save $chan "$logger(color10)* Quits: $nick ($uhost) ($reason)"
#logger:save $chan "$logger(color1)* $nick ($uhost) Quit ($reason)"
}
proc logger:split { nick uhost handle chan } {
set chan [ string tolower $chan ]
global logger
logger:save $chan "$logger(color10)* Lost in the netsplit: $nick ($uhost)"
}
proc logger:text { nick uhost handle chan text} {
set chan [ string tolower $chan ]
global logger
if { [ isop $nick $chan ] == "1" } {
set nick "@$nick"
} elseif { [ ishalfop $nick $chan ] == "1" } {
set nick "%$nick"
} elseif { [ isvoice $nick $chan ] == "1" } {
set nick "+$nick"
}
logger:save $chan "$logger(color2)($nick) $text"
}
proc logger:nick { nick uhost handle chan newnick} {
set chan [ string tolower $chan ]
global logger
logger:save $chan "$logger(color9)* $nick is now known as $newnick"
}
proc logger:kick { nick uhost handle chan target reason} {
set chan [ string tolower $chan ]
global logger
logger:save $chan "$logger(color1)* $target was kicked by $nick ($reason)"
}
proc logger:mode { nick uhost handle chan mode victim} {
set chan [ string tolower $chan ]
global logger
logger:save $chan "* $nick sets mode: $mode $victim"
}
proc logger:topic { nick uhost handle chan topic} {
set chan [ string tolower $chan ]
global logger
if { [ string tolower $chan ] == "$logx" } {
if { $nick == "*" } {
logger:save $chan "$logger(color6)* Topic is '$topic'"
} else {
logger:save $chan "$logger(color6)* $nick changes topic to '$topic'"
}
}
}
proc logger:topic-author { from keyword text} {
global logger
set chan [ lindex [ split $text ] 0 ]
if { [ validchan $chan ] && [ string tolower $chan ] == "$logx" } {
logger:save [ lindex $text 1 ] "$logger(color6)* Set by [lindex $text 2] on [strftime " % a % b % d % T" [lindex $text 3]]"
}
}
proc logger:action { nick uhost handle dest keyword text} {
global logger
if { [ validchan $dest ] == "1" && [ string tolower $dest ] == "$logx" } {
if { [ isop $nick $dest ] == "1" } {
set nick "@$nick"
} elseif { [ ishalfop $nick $dest ] == "1" } {
set nick "%$nick"
} elseif { [ isvoice $nick $dest ] == "1" } {
set nick "+$nick"
}
regsub -all "#" $chan "" chan
logger:save $dest "$logger(color3)* $nick $text"
}
}
proc logger:notice { nick uhost handle text dest } {
global logger
if { [ validchan $dest ] && [ string tolower $dest ] == "$logx" } {
logger:save $dest "$logger(color4)-$nick:$dest- $text"
}
}
### Secondary Commands
proc logger:save { chan text} {
set chan [ string tolower $chan ]
regsub -all "#" $chan "" chan
global logger
set log "[open " $logger ( dir) [ string tolower $chan .html] " a]"
puts $log "$logger(color5)\[ [strftime " % a% d% b.% H:% M:% S"]\] </font> [logger:strip $text]</font><br>"
close $log
}
### Tertiary Commands
proc logger:strip { text} {
global logger numversion
if { $logger ( strip) == "1" } {
if { $numversion > = "1061700" } {
set text "[stripcodes bcruag $text]"
} else {
regsub -all -- { \002,\003( [ 0 -9 ] [ 0 -9 ] ? ( ,[ 0 -9 ] [ 0 -9 ] ? ) ? ) ? ,\017,\026,\037} $text "" text
}
}
return $text
}
### Time
proc logger:time { } {
global logger
foreach bind [ binds time ] {
if { [ string match "time * logger:time-save" $bind ] == "1" } {
unbind time - "[lindex $bind 2]" logger:time-save
}
}
switch [ string toupper $logger ( time ) ] {
DAY {
bind time - "00 00 [strftime " % d" [expr [unixtime] + 86400]] * *" logger:time-save
}
WEEK {
bind time - "00 00 [strftime " % d" [expr [unixtime] + ((7 - [strftime " % w"]) * 86400)]] * *" logger:time-save
}
MONTH {
bind time - "00 00 01 [strftime " % m" [expr [unixtime] + ((32 - [strftime " % d"]) * 86400)]] *" logger:time-save
}
}
}
proc logger:time-save { minute hour day month year} {
global logger
if { [ file exists "$logger(dir)$logx.html" ] == "1" } {
if { [ file exists "$logger(dir)[lindex [split $logx] 1]" ] == "0" } {
file mkdir $logger ( dir) [ lindex [ split $logx "#" ] 1 ]
}
file rename -force "$logger(dir)$logx.html" "$logger(dir)[lindex [split $logx " #"] 1]/$logx.[strftime " % G% b% d" [expr [unixtime] - 3600]].html"
}
set log "[open " $logger ( dir) $logx .html" w]"
puts $log "<html><head><title>$logx [strftime " % d% b% G"]</title></head>"
puts $log "<body bgcolor=\' #000000\' ><tt>"
puts $log "<br>"
puts $log "$logger(color5)Session Start: [strftime " % a % b % d % T % Y"]</font><br>"
puts $log "$logger(color5)Session Ident: $logx</font><br>"
puts $log "$logger(color5)\[ [strftime " % a% d% b.% H:% M:% S"]\] </font> $logger(color1)* Now talking in $logx</font><br>"
close $log
putquick "TOPIC $logx"
logger:time
}
logger:time
putlog "TCL Logger1.tcl Loaded!"
Pour les couleurs je pense qu'il te faudrais par exemple :
tclcopier
regsub -all -- "\0 03(\[ 0-9\] \[ 0-9\] ?(,\[ 0-9\] \[ 0-9\] ?)?)?" $arg "" arg
Messages : 383
Sujets : 7
Inscription : Dec 2007
04/05/2012, 14:35
(Modification du message : 04/05/2012, 14:35 par djkenny .)
salut,
il te manques les global logx ;)
C'est en reconnaissant ses erreurs que l'on progresse