[limechat]private talkでログを残す
( limechat )昔書いた記事の続きなんですがトーク中は勝手にログをファイルに保存させちゃうことにしました。
そうすると、相手のチャット名で話した内容が保存されるようになります。
// usage:
// make directory C:\Program Files\LimeChat2\users\[user name]\scripts\files\privateChatLog
// modify self variable to yourself
// IRCのユーザ名を記述
var self = "nakaji";
// ログ保存有無
var logFlg = true;
// トークログ用ディレクトリ
var dir = 'privateChatLog/';
function event::onTalkText(prefix, targetNick, text)
{
// 自分以外からのユーザのみ処理
if (prefix.nick != self) {
showBalloon(prefix.nick, text); // バルーン
playSound("type.wav"); // サウンド
window.BlinkTitle(); // タイトルバーを点滅
}
if (logFlg == true) {
date = getDateStr();
// 相手が自分に発言してきたときはユーザを相手にして強制的に保存させる
var user = targetNick;
if (user == self) {
user = prefix.nick;
}
str = "[" + date + "] " + prefix.nick + " > " + text;
write_file_string( dir + user + '.log', str)
}
}
//--------------------------------------------
// ファイル書き込み
//--------------------------------------------
function write_file_string( file_name, string ){
file = openFile( file_name , false );
file.seekToEnd();
file.writeLine(string);
file.close();
}
//--------------------------------------------
// 日付表示
//--------------------------------------------
function getDateStr() {
date = new Date();
yy = date.getYear();
mm = date.getMonth() + 1;
dd = date.getDate();
hh = date.getHours();
ii = date.getMinutes();
ss = date.getSeconds();
if (yy < 2000) { yy += 1900; }
if (mm < 10) { mm = "0" + mm; }
if (dd < 10) { dd = "0" + dd; }
if (hh < 10) { hh = "0" + hh; }
if (ii < 10) { ii = "0" + ii; }
if (ss < 10) { ss = "0" + ss; }
str = yy + "/" + mm + "/" + dd + " " + hh + ":" + ii + ":" + ss;
return str;
}
