Log.tcl
#16
Ah oui en effet x)

tcl
########################################################
#        Eggdrop Logger 2.0 - <a href="http://www.mircstats.com" target="_blank">http://www.mircstats.com</a>        #
#        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 logx
   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 logx
  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 logx
  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 logx
  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 logx
   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 -- {&#92;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 logx
  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!"



Voilà modifié merci DjKenny Smile
Répondre Avertir


Messages dans ce sujet
Log.tcl - par lesny - 16/10/2011, 14:39
RE: Log.tcl - par ArKeNiS - 16/10/2011, 16:28
RE: Log.tcl - par lesny - 16/10/2011, 16:38
RE: Log.tcl - par ArKeNiS - 16/10/2011, 16:52
RE: Log.tcl - par lesny - 16/10/2011, 16:55
RE: Log.tcl - par ArKeNiS - 16/10/2011, 17:46
RE: Log.tcl - par lesny - 16/10/2011, 18:22
RE: Log.tcl - par lesny - 16/10/2011, 22:31
RE: Log.tcl - par ArKeNiS - 17/10/2011, 00:00
RE: Log.tcl - par lesny - 17/10/2011, 00:04
RE: Log.tcl - par stan182 - 02/05/2012, 18:08
RE: Log.tcl - par CrazyCat - 03/05/2012, 12:30
RE: Log.tcl - par aliasangelius - 03/05/2012, 15:39
RE: Log.tcl - par aliasangelius - 04/05/2012, 12:33
RE: Log.tcl - par djkenny - 04/05/2012, 14:35
RE: Log.tcl - par aliasangelius - 04/05/2012, 16:54
RE: Log.tcl - par lesny - 19/08/2013, 23:36
RE: Log.tcl - par aliasangelius - 20/08/2013, 21:56
RE: Log.tcl - par lesny - 20/08/2013, 21:57
RE: Log.tcl - par aliasangelius - 08/09/2013, 23:50
RE: Log.tcl - par lesny - 09/09/2013, 18:56
RE: Log.tcl - par aliasangelius - 09/09/2013, 21:05
RE: Log.tcl - par lesny - 09/09/2013, 21:07
RE: Log.tcl - par aliasangelius - 09/09/2013, 22:14
RE: Log.tcl - par CrazyCat - 09/09/2013, 22:22
RE: Log.tcl - par aliasangelius - 09/09/2013, 22:52
RE: Log.tcl - par CrazyCat - 10/09/2013, 09:34
RE: Log.tcl - par aliasangelius - 13/09/2013, 23:23

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté