janal.zzs
import Zz.*;
import prototype.*;
import ZzConst.*;
import Shd_DetectNewLib.*;
import Zz_GS_Blacksmithy.*;
import mail.*;
println('ジャーナルかんしちう');
/*
<- Readme ->
特定のキーワードを聞き取ったとき、
指定したメールアドレスにメールを送ります。
また、この状態でこのアカウント専用のメールアカウントにメールを送った場合、
そのメール本文を読み上げます。(改行は無視するかも)
またこのスクリプトを動かすためにはmail.dmsが必要です。
<- Readend ->
*/
/*
Setup.
*/
keywords = ZzInfo.playerName; //ログ鳥を始めるためのキーワード
endwords = '失礼します'; //ログ鳥を終わるためのキーワード
/*
POP3
*/
popHost = '192.168.14.11'; //POP3鯖のIPおよびドメインネームを入れます。
popId = 'root'; //POP3鯖にアクセスするためのIDを入れます。
popPwd = 'xg1243'; //POP3鯖にアクセスするためのパスワードを入れます。
popPort = 110; //POP3鯖のポートアドレスを入れます。int
popDeliteOnRead = true; //POP3鯖にある、メールを読んだら破棄するかどうか設定します。Boolean
popMailnumber = 1; //POP3鯖にあるこの番号のメールを読みます。
/*
SMTP
*/
spopHost = '192.168.14.11'; //SMTP用のPOP3鯖IPおよびドメインネームを入れます。
spopId = 'root2'; //SMTP用のPOP3鯖にアクセスするためのIDを入れます。
spopPwd = 'xg1243'; //SMTP用のPOP3鯖にアクセスするためのパスワードを入れます。
spopPort = 110; //SMTP用のPOP3鯖のポートアドレスを入れます。int
smtpHost = '192.168.14.11'; //SMTP鯖のIPおよびドメインネームを入れます。
smtpPort = 25; //SMTP鯖のポートアドレスを入れます。int
smtpToMail = 'oreore@oredayo.jp'
; //SMTP鯖から送られる、相手へのメールアドレスを設定します。
smtpFromMail = 'oreore@oredayo.jp'
; //SMTP鯖から送られるときの自分のメールアドレスを設定します。
/*
Setend
*/
pktw = new ZzPacketWait();
pckt = pktw.packet;
pktw.limit = 0;
var x = new Array(100);
var hear = new Array(100);
var loger = new Array();
i=0;
p=0;
function heard(i){
pktw.releaseWaitPacket(0xae);
hear[i] = pckt.readU(pktw.packet.length - 48, 48);
return hear[i];
}
function logs(){
while(1){
p++;
i++;
x[i] = heard(i);
loger[p] = pckt.readA(pktw.packet.length - 30, 18) +':'+ x[i];
// print(loger[p]);
if(p == 4){
// println('p=' + p);
smtp(spopHost, spopId, spopPwd, spopPort, smtpHost, smtpPort, smtpToMail, smtpFromMail, pckt.readA(pktw.packet.length - 30, 18), loger[1] +' -> '+ loger[2] +' -> '+ loger[3] +' -> '+ loger[4]);
sayed = pop3(popHost, popId, popPwd, popPort, popDeliteOnRead, popMailnumber);
p = 0;
ZzExCommand.speech(sayed, true);
}
if(x[i].match(endwords)){
// print('会話打ち切り');
return;
}else{
// print('会話続投');
}
}
return;
}
while(1){
x[i] = heard(i);
if(x[i].match(keywords)){
logs();
}else{
}
i++;
}