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) } 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