This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

error in mirclog.tcl

Old posts that have not been replied to for several years.
Locked
A
After8

error in mirclog.tcl

Post by After8 »

Code: Select all

#
# mIRC style logging
# Created by Kenny of PSdNetworks
# http://kenny.psdnetworks.co.uk/
# http://www.psdnetworks.co.uk/
# kenny@psdnetworks.co.uk
#
# Very simple operation. Channels are logged as soon as the bot joins them. No addition of channels
# to extra files or configurations is required.
#
# Configuration options:
#
#   set mirc_path
#       ^ The directory to store the log files in. This is the relative path from the bot's ~/ or
#         an absolute path.
#
#   set mirc_stripsign
#       ^ Strip the first character from the channel name?
#         Set to "0" to keep the whole name
#         Set to "1" to strip the first character
#         Examples:
#           Stripping off: "#psdnetworks" would become "#psdnetworks.log"
#           Stripping on:  "#psdnetworks" would become "psdnetworks.log"
#
#   set mirc_ext
#       ^ This is the extension to give the filenames
#         Examples:
#           set mirc_ext ".chanlog" - #mychannel would be logged to #mychannel.chanlog
#           set mirc_ext ".log"     - #mychannel would be logged to #mychannel.log
#           set mirc_ext ".abc"     - #mychannel would be logged to #mychannel.abc
#
#
set mirc_path "/home/me/eggdrop/logs"
set mirc_stripsign "1"
set mirc_ext ".log"
#
#
# NOTE: Channels containing the "-" character will have "-" converted to "_"
#       Example: #my-channel would be logged to something like #my_channel.log
#
# -- END OF CONFIGURATION --
#
proc mirc_privmsg {nick host handle channel text} { mirc_log "PRIVMSG" $channel $nick $host "" "$text" }
proc mirc_join {nick host handle channel} { mirc_log "JOIN" $channel $nick $host "" "" }
proc mirc_quit {nick host handle channel reason} { mirc_log "QUIT" $channel $nick $host "" "$reason" }
proc mirc_topic {nick host handle channel topic} { mirc_log "TOPIC" $channel $nick $host "" "$topic" }
proc mirc_kick {nick host handle channel target reason} { mirc_log "KICK" $channel $nick $host $target "$reason" }
proc mirc_nick {nick host handle channel newnick} { mirc_log "NICK" $channel $nick $host "" "$newnick" }
proc mirc_mode {nick host handle channel change victim} { mirc_log "MODE" $channel $nick $host $victim "$change" }
proc mirc_part {nick host handle channel partmsg} { mirc_log "PART" $channel $nick $host "" "$partmsg" }
proc mirc_action {nick host handle channel keyword text} { mirc_log "ACTION" $channel $nick $host "" "$text" }
proc mirc_stamp {min hour day month year} {
  global mirc_path mirc_stripsign mirc_ext
  foreach channel [channels] {
    set chanfile $channel
    while {"[string match *-* $chanfile]" > "0"} { regsub "\\\-" $chanfile "_" chanfile }
    if {"$mirc_stripsign" == "0"} { set mirc_filename "[string tolower $chanfile]" } else { set mirc_filename "[string range [string tolower $chanfile] 1 end]" }
    set logID [open $mirc_path$mirc_filename$mirc_ext a]
    puts $logID "Session Time: [ctime [unixtime]]"
    close $logID
  }
}
proc mirc_log {event channel nick host target details} {
  global botnick mirc_path mirc_stripsign mirc_ext
  if {"$channel" != "$botnick"} {
    set chanfile $channel
    while {"[string match *-* $chanfile]" > "0"} { regsub "\\\-" $chanfile "_" chanfile }
    set mirc_line "\[[time]\]"
    if {"$mirc_stripsign" == "0"} { set mirc_filename "[string tolower $chanfile]" } else { set mirc_filename "[string range [string tolower $chanfile] 1 end]" }
    if {"$event" == "PRIVMSG"} { set mirc_line "$mirc_line \<$nick\> $details" }
    if {"$event" == "JOIN"} { if {"$botnick" == "$nick"} {
    if {![file exists $mirc_path$mirc_filename$mirc_ext]} {
        set logID [open $mirc_path$mirc_filename$mirc_ext w]
        putlog "Starting a new logfile for $channel"
        puts $logID "Session Start: [ctime [unixtime]]"
      } else {
        set logID [open $mirc_path$mirc_filename$mirc_ext a]
        putlog "Continuing logfile for $channel"
        puts $logID "Session Time: [ctime [unixtime]]"
      }
      puts $logID "\[[time]\] *** Now talking in $channel"
      set mirc_line ""
      close $logID
    } else { set mirc_line "$mirc_line *** $nick ($host) has joined $channel" } }
    if {"$event" == "QUIT"} { set mirc_line "$mirc_line *** $nick ($host) Quit ($details)" }
    if {"$event" == "TOPIC"} { if {"$nick" == "*"} { set mirc_line "$mirc_line *** Topic is '$details'" } else { set mirc_line "$mirc_line *** $nick changes topic to '$details'" } }
    if {"$event" == "KICK"} { if {"$target" == "$botnick"} { set mirc_line "$mirc_line *** You were kicked by $nick ($details)" } else { set mirc_line "$mirc_line *** $target was kicked by $nick ($details)" } }
    if {"$event" == "NICK"} { set mirc_line "$mirc_line *** $nick is now known as $details" }
    if {"$event" == "MODE"} { set mirc_line "$mirc_line *** $nick sets mode: $details $target" }
    if {"$event" == "PART"} { set mirc_line "$mirc_line *** $nick ($host) has left $channel" }
    if {"$event" == "ACTION"} { set mirc_line "$mirc_line * $nick $details" }
    if {![file exists $mirc_path$mirc_filename$mirc_ext]} {
      set logID [open $mirc_path$mirc_filename$mirc_ext w]
      puts $logID "Session Start: [ctime [unixtime]]"
      puts $logID "\[[time]\] *** Now talking in $channel"
    } else { set logID [open $mirc_path$mirc_filename$mirc_ext a] }
    if {"$mirc_line" != ""} { puts $logID "$mirc_line" }
    close $logID
  }
}
bind pubm - * mirc_privmsg
bind join - * mirc_join
bind sign - * mirc_quit
bind topc - * mirc_topic
bind kick - * mirc_kick
bind nick - * mirc_nick
bind mode - * mirc_mode
bind part - * mirc_part
bind ctcp - "ACTION" mirc_action
bind time - "00 00 * * *" mirc_stamp
bind time - "00 06 * * *" mirc_stamp
bind time - "00 12 * * *" mirc_stamp
bind time - "00 18 * * *" mirc_stamp
putlog "fuzzled: mIRC Logger"
Error's like
[08:05] Tcl error [mirc_part]: wrong # args: should be "set varName ?newValue?"
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

does the part message contain any stuff like these characters?

Code: Select all

" } ]
they might be missinterprated, I'm getting errors with an other script when the variable should containe {{}} characters ^^.
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
O
Ofloo
Owner
Posts: 953
Joined: Tue May 13, 2003 1:37 am
Location: Belguim
Contact:

Post by Ofloo »

Hmm split it up so its more readable but can't find something wrong so could u plz post the script u edited ??

can't imageine this is ur setup
set mirc_path "/home/me/eggdrop/logs"
set mirc_stripsign "1"
set mirc_ext ".log"

Code: Select all

# 
# mIRC style logging 
# Created by Kenny of PSdNetworks 
# http://kenny.psdnetworks.co.uk/ 
# http://www.psdnetworks.co.uk/ 
# kenny@psdnetworks.co.uk 
# 
# Very simple operation. Channels are logged as soon as the bot joins them. No addition of channels 
# to extra files or configurations is required. 
# 
# Configuration options: 
# 
#   set mirc_path 
#       ^ The directory to store the log files in. This is the relative path from the bot's ~/ or 
#         an absolute path. 
# 
#   set mirc_stripsign 
#       ^ Strip the first character from the channel name? 
#         Set to "0" to keep the whole name 
#         Set to "1" to strip the first character 
#         Examples: 
#           Stripping off: "#psdnetworks" would become "#psdnetworks.log" 
#           Stripping on:  "#psdnetworks" would become "psdnetworks.log" 
# 
#   set mirc_ext 
#       ^ This is the extension to give the filenames 
#         Examples: 
#           set mirc_ext ".chanlog" - #mychannel would be logged to #mychannel.chanlog 
#           set mirc_ext ".log"     - #mychannel would be logged to #mychannel.log 
#           set mirc_ext ".abc"     - #mychannel would be logged to #mychannel.abc 
# 
# 
set mirc_path "/home/me/eggdrop/logs" 
set mirc_stripsign "1" 
set mirc_ext ".log" 
# 
# 
# NOTE: Channels containing the "-" character will have "-" converted to "_" 
#       Example: #my-channel would be logged to something like #my_channel.log 
# 
# -- END OF CONFIGURATION -- 
# 

proc mirc_privmsg {nick host handle channel text} { 
  mirc_log "PRIVMSG" $channel $nick $host "" "$text" 
} 

proc mirc_join {nick host handle channel} { 
  mirc_log "JOIN" $channel $nick $host "" "" 
} 

proc mirc_quit {nick host handle channel reason} { 
  mirc_log "QUIT" $channel $nick $host "" "$reason" 
} 

proc mirc_topic {nick host handle channel topic} { 
  mirc_log "TOPIC" $channel $nick $host "" "$topic" 
} 

proc mirc_kick {nick host handle channel target reason} { 
  mirc_log "KICK" $channel $nick $host $target "$reason" 
} 

proc mirc_nick {nick host handle channel newnick} { 
  mirc_log "NICK" $channel $nick $host "" "$newnick" 
} 

proc mirc_mode {nick host handle channel change victim} { 
  mirc_log "MODE" $channel $nick $host $victim "$change" 
} 

proc mirc_part {nick host handle channel partmsg} { 
  mirc_log "PART" $channel $nick $host "" "$partmsg" 
} 

proc mirc_action {nick host handle channel keyword text} { 
  mirc_log "ACTION" $channel $nick $host "" "$text" 
} 

proc mirc_stamp {min hour day month year} { 
  global mirc_path mirc_stripsign mirc_ext 
  foreach channel [channels] { 
    set chanfile $channel 
    while {"[string match *-* $chanfile]" > "0"} { 
      regsub "\\\-" $chanfile "_" chanfile 
    } 
    if {"$mirc_stripsign" == "0"} { 
      set mirc_filename "[string tolower $chanfile]" 
    } else { 
      set mirc_filename "[string range [string tolower $chanfile] 1 end]" 
    } 
    set logID [open $mirc_path$mirc_filename$mirc_ext a] 
    puts $logID "Session Time: [ctime [unixtime]]" 
    close $logID 
  } 
} 

proc mirc_log {event channel nick host target details} { 
  global botnick mirc_path mirc_stripsign mirc_ext 
  if {"$channel" != "$botnick"} { 
    set chanfile $channel 
    while {"[string match *-* $chanfile]" > "0"} { 
      regsub "\\\-" $chanfile "_" chanfile 
    } 
    set mirc_line "\[[time]\]" 
    if {"$mirc_stripsign" == "0"} { 
      set mirc_filename "[string tolower $chanfile]" 
    } else { 
      set mirc_filename "[string range [string tolower $chanfile] 1 end]" 
    } 
    if {"$event" == "PRIVMSG"} { 
      set mirc_line "$mirc_line \<$nick\> $details" 
    } 
    if {"$event" == "JOIN"} { 
      if {"$botnick" == "$nick"} { 
        if {![file exists $mirc_path$mirc_filename$mirc_ext]} { 
          set logID [open $mirc_path$mirc_filename$mirc_ext w] 
          putlog "Starting a new logfile for $channel" 
          puts $logID "Session Start: [ctime [unixtime]]" 
        } else { 
          set logID [open $mirc_path$mirc_filename$mirc_ext a] 
          putlog "Continuing logfile for $channel" 
          puts $logID "Session Time: [ctime [unixtime]]" 
        } 
        puts $logID "\[[time]\] *** Now talking in $channel" 
        set mirc_line "" 
        close $logID 
      } else { 
        set mirc_line "$mirc_line *** $nick ($host) has joined $channel" 
      } 
    } 
    if {"$event" == "QUIT"} { 
      set mirc_line "$mirc_line *** $nick ($host) Quit ($details)" 
    } 
    if {"$event" == "TOPIC"} { 
      if {"$nick" == "*"} { 
        set mirc_line "$mirc_line *** Topic is '$details'" 
      } else { 
        set mirc_line "$mirc_line *** $nick changes topic to '$details'" 
      } 
    } 
    if {"$event" == "KICK"} { 
      if {"$target" == "$botnick"} { 
        set mirc_line "$mirc_line *** You were kicked by $nick ($details)" 
      } else { 
        set mirc_line "$mirc_line *** $target was kicked by $nick ($details)" 
      } 
    } 
    if {"$event" == "NICK"} { 
      set mirc_line "$mirc_line *** $nick is now known as $details" 
    } 
    if {"$event" == "MODE"} { 
      set mirc_line "$mirc_line *** $nick sets mode: $details $target" 
    } 
    if {"$event" == "PART"} { 
      set mirc_line "$mirc_line *** $nick ($host) has left $channel" 
    } 
    if {"$event" == "ACTION"} { 
      set mirc_line "$mirc_line * $nick $details" 
    } 
    if {![file exists $mirc_path$mirc_filename$mirc_ext]} { 
      set logID [open $mirc_path$mirc_filename$mirc_ext w] 
      puts $logID "Session Start: [ctime [unixtime]]" 
      puts $logID "\[[time]\] *** Now talking in $channel" 
    } else { 
      set logID [open $mirc_path$mirc_filename$mirc_ext a] 
    } 
    if {"$mirc_line" != ""} {
      puts $logID "$mirc_line" 
    } 
    close $logID 
  } 
} 

bind pubm - * mirc_privmsg 
bind join - * mirc_join 
bind sign - * mirc_quit 
bind topc - * mirc_topic 
bind kick - * mirc_kick 
bind nick - * mirc_nick 
bind mode - * mirc_mode 
bind part - * mirc_part 
bind ctcp - "ACTION" mirc_action 
bind time - "00 00 * * *" mirc_stamp 
bind time - "00 06 * * *" mirc_stamp 
bind time - "00 12 * * *" mirc_stamp 
bind time - "00 18 * * *" mirc_stamp 
putlog "fuzzled: mIRC Logger" 
XplaiN but think of me as stupid
A
After8

Post by After8 »

Ofloo wrote: Hmm split it up so its more readable but can't find something wrong so could u plz post the script u edited ??

can't imageine this is ur setup
set mirc_path "/home/me/eggdrop/logs"
set mirc_stripsign "1"
set mirc_ext ".log"
It's the mirclog.tcl from this Page (TCL Archive), and trust me "me" is my Folder :P
So this Settings are correct :)
O
Ofloo
Owner
Posts: 953
Joined: Tue May 13, 2003 1:37 am
Location: Belguim
Contact:

Post by Ofloo »

then all i can think of is that the code out ur log contains maybe a invalid char .. overlooked the script can't say that there is something wrong in there.. did u edit this script in anyway ?? or is it urs ? did u try the code i pasted ??
XplaiN but think of me as stupid
Locked