넷스플릿 한번 되면 기존 토픽 날아가고, 토픽 날아가면 로그 열어서 최근 토픽 확인하고.. 이짓거리가 귀찮아서 만든 스크립트.
채널에 토픽이 변경되면 변경 내용과 변경자, 변경시간을 저장해두는게 주 목적이고,
부가적으로 최근 토픽들을 본다거나, 그 중 하나를 선택해서 토픽을 다시 바꿔준다거나 하는 기능이 있음. GUI로 만들라다가 dialog창 만드는게 귀찮아서 그냥 CUI로 해결.
; Topic Logger ver 0.01
; CopyLeft By Ra! at 2007-04-16
;------------------------------
#topiclogger on
ON *:TOPIC:#:{
var %tpl.fn = " $+ $mircdirtopiclog.ini $+ "
var %tpl.inilen = $ini(%tpl.fn,#,0)
var %tpl.set = $nick $asctime($ctime($fulldate),yyyy-mm-dd hh:mm:dd) $1-
writeini -n %tpl.fn # $calc(%tpl.inilen + 1) %tpl.set
}
#topiclogger end
alias -l tpl.logo {
return $+ $chr(91) $+ $chr(93)
}
alias tpl {
var %tpl.chan = $iif($1 == $null,$active,$1)
var %tpl.fn = " $+ $mircdirtopiclog.ini $+ "
var %tpl.maxlen = 10
var %tpl.inilen = $ini(%tpl.fn,%tpl.chan,0)
var %tpl.repeatend = $iif(%tpl.inilen > %tpl.maxlen,$calc(%tpl.inilen - %tpl.maxlen),1)
echo -a $tpl.logo %tpl.chan 채널의 최근 %tpl.maxlen 개의 토픽
var %i = %tpl.inilen
while (%i >= %tpl.repeatend) {
echo -a $tpl.logo %i : $readini(%tpl.fn,%tpl.chan,%i)
dec %i
}
}
alias tpl.set {
if ($1 == $null) {
echo -a $tpl.logo 사용법 : /tpl.set #채널명 번호
}
else {
if ($1 isnum) {
var %tpl.chan = $iif($2 == $null,$active,$2)
var %tpl.setting = $1
}
else {
var %tpl.chan = $1
var %tpl.setting = $2
}
if ($me isop %tpl.chan) {
var %tpl.fn = " $+ $mircdirtopiclog.ini $+ "
var %tpl.topic = $gettok($readini(%tpl.fn,%tpl.chan,%tpl.setting),4-,32)
topic %tpl.chan %tpl.topic
}
}
}