All pastes #169687 Raw Edit

log1.0

public text v1 · immutable
·published 2006-09-14 03:13 UTC
rendered paste body
alias log { 
  if ($regex($1,/(on|start)/Si)) { enable #logging }
  elseif ($regex($1,/(off|stop)/Si)) { disable #logging }
}
alias viewlogs { run $mircdir $+ \logs }
alias searchlog {
  if (!$2) { return Error: $+($chr(36),searchlog) Not Enough Parameters }
  var %file $iif(*\* iswm $1,$qt($+($1,.txt)),$qt($+($mircdir,logs\,$1,.txt)))
  var %search $+(/,$2,/Sig)
  var %f 0
  if (!$exists(%file)) { return Error: $+($chr(36),searchlog) File does not exist }
  while (%f < $lines(%file)) {
    inc %f 1
    var %results = $calc($regex($gettok($read(%file,%f),2-,93),%search) + %results)
    var %result = $iif(!%result,$iif(%results >= $prop,$read(%file,%f),),)
  }
  return $iif($prop,%result,%results)
}
#logging on
on *:TEXT:*:*:{
  if (($chan == #mirc) || ($chan == #mk)) { halt }
  if (!$chan) {
    if (!$file($qt($+($mircdir,logs\,$nick,.txt)))) { 
      write $qt($+($mircdir,logs\,$nick,.txt)) $asctime($gmt)
      write $qt($+($mircdir,logs\,$nick,.txt)) START OF LOG FOR $upper($NICK)
      write $qt($+($mircdir,logs\,$nick,.txt)) $+([,$asctime($gmt(mmm dd hh:nn:ss))) GMT] $+(<,$nick,>) $strip($1-) 
    }
    else {
      write $qt($+($mircdir,logs\,$nick,.txt)) $+([,$asctime($gmt(mmm dd hh:nn:ss))) GMT] $+(<,$nick,>) $strip($1-) 
    }
  }
  else { 
    if (!$file($qt($+($mircdir,logs\,$chan,.txt)))) { 
      write $qt($+($mircdir,logs\,$chan,.txt)) $asctime($gmt)
      write $qt($+($mircdir,logs\,$chan,.txt)) START OF LOG FOR $upper($CHAN)
      write $qt($+($mircdir,logs\,$chan,.txt)) $+([,$asctime($gmt(mmm dd hh:nn:ss))) GMT] $+(<,$nick,>) $strip($1-) 
    }
    else {
      write $qt($+($mircdir,logs\,$chan,.txt)) $+([,$asctime($gmt(mmm dd hh:nn:ss))) GMT] $+(<,$nick,>) $strip($1-)
    }
  }
}
on *:INPUT:*:{
  if (($chan == #mirc) || ($chan == #mk)) { halt }
  if ($left($1,1) == /) { $iif($left($1,2) == //,$($1-,2),$1-) | halt }
  elseif (!$chan) {
    if (!$file($qt($+($mircdir,logs\,$nick,.txt)))) { 
      write $qt($+($mircdir,logs\,$nick,.txt)) $asctime($gmt)
      write $qt($+($mircdir,logs\,$nick,.txt)) START OF LOG FOR $upper($NICK)
      write $qt($+($mircdir,logs\,$nick,.txt)) $+([,$asctime($gmt(mmm dd hh:nn:ss))) GMT] $+(<,$me,>) $strip($1-) 
    }
    else {
      write $qt($+($mircdir,logs\,$nick,.txt)) $+([,$asctime($gmt(mmm dd hh:nn:ss))) GMT] $+(<,$me,>) $strip($1-) 
    }
  }
  else { 
    if (!$file($qt($+($mircdir,logs\,$chan,.txt)))) { 
      write $qt($+($mircdir,logs\,$chan,.txt)) $asctime($gmt)
      write $qt($+($mircdir,logs\,$chan,.txt)) START OF LOG FOR $upper($CHAN)
      write $qt($+($mircdir,logs\,$chan,.txt)) $+([,$asctime($gmt(mmm dd hh:nn:ss))) GMT] $+(<,$me,>) $strip($1-) 
    }
    else {
      write $qt($+($mircdir,logs\,$chan,.txt)) $+([,$asctime($gmt(mmm dd hh:nn:ss))) GMT] $+(<,$me,>) $strip($1-)
    }
  }
}
#logging end