on *:TEXT:!logstart:#:{ if ((%log. [ $+ [ $chan ] ] == off) || (%log. [ $+ [ $chan ] ] == $null)) && ($nick isop $chan) { /set %log. $+ $chan on /msg $chan 5 Logging of $chan has just started at $time $+ . } else { /notice $nick Log for $chan is already active. } } on *:TEXT:!logstop:#:{ if ((%log. [ $+ [ $chan ] ] == on) && ($nick isop $chan)) { /unset %log. $+ $chan /set %log. $+ $chan off /msg $chan Logging of $chan has ended at $time by $nick $+ . } } on *:QUIT:{ var %i = 0 while (%i < $comchan($nick,0)) { inc %i 1 if (%log. [ $+ [ $comchan($nick,%i) ] ] == on) { write $comchan($nick,%i) $+ .txt ( $+ $time $+ ) * $nick has quit IRC ( $+ $1- $+ ) } } } on *:JOIN:#:{ /set %namekay. [ $nick ] /set %chankay. [ $chan ] /timer 1 1 /signal join if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) * $nick has joined $chan } } on *:SIGNAL:join:{ if ((%namekay. ishop %chankay.) || (%namekay. isvoice $chan) || (%namekay. isop %chankay.)) { /unset %namekay. * /unset %chankay. * /halt } else { /mode %chankay. +v %namekay. /unset %namekay. * /unset %chankay. * } } on *:OP:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) $nick sets mode: +o $opnick } } on *:DEOP:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) $nick sets mode: -o $opnick } } on *:HELP:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) $nick sets mode: +h $hnick } } on *:DEHELP:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) $nick sets mode: -h $vnick } } on *:VOICE:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) $nick sets mode: +v $vnick } } on *:DEVOICE:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) $nick sets mode: -v $vnick } } on *:SERVERMODE:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) * $nick sets mode: $1- } } on *:MODE:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) * $nick sets mode: $1- } } on *:KICK:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) * $knick was kicked by $nick ( $+ $1- $+ ) } } on *:BAN:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) * $nick sets mode: +b $banmask } } on *:UNBAN:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ . txt ( $+ $time $+ ) * $nick sets mode: -b $banmask } } on *:PART:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) * $nick has left $chan ( $+ $1- $+ ) } } on *:TEXT:**:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) < $+ $nick $+ > $1- } } on *:ACTION:**:#:{ if (%log. [ $+ [ $chan ] ] == on) { /write $chan $+ .txt ( $+ $time $+ ) * $nick $1- } }