rendered paste bodyalias 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)
}
alias searchwindow { window -e $+(@log-,$iif(!$1,$iif(!$chan,$nick,$chan),$1)) /search $chan }
alias search {
if ($left($active,1) == @) {
if (!$1) { echo -ea Not enough Parameters | halt }
if ($regex($1,/(stop|end|finish)/Si)) { play stop | halt }
else {
var %file $qt($+($mircdir,logs\,$gettok($active,2,45),.txt))
var %search $+(/,$($+($,$0),2),/Sig)
var %f 0
if (!$exists(%file)) { echo -ea File Does Not Exist | halt }
while (%f < $lines(%file)) {
inc %f 1
var %reg = $regex([search],$read(%file,%f),/\[(.+)\]\s<(.+)>\s(.*)/Si)
if ($left($1,1) == -) { var %line = $iif(t isin $1,$regml([search],1),$null) $iif(n isin $1,$regml([search],2),$null) $iif(m isin $1,$regml([search],3),$null) }
else { var %line = $read(%file,%f) }
var %results = $calc($regex(%line,%search) + %results)
if ($regex(%line,%search)) {
.play -el $+ %f $active %file 500
}
}
echo -ea Results found for $qt($remove(%search,$right(%search,4),$left(%search,1))) $+ : %results $chr(124) Searched: $iif($left($1,1) == -,$iif(t isin $1,Timestamps,) $iif(n isin $1,Nicks,) $iif(m isin $1,Messages,),All)
}
}
else { echo -ea Must Be Done in a Log window (/searchwindow #channel/nick) }
}
#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