본문 바로가기

오픈소스

자동학습소스 [오픈소스]

사용법은 우선 /setdbtoom을 쳐서 활성화 (안그러면 오류뜨는데 무시하고 ㄱㄱ)

학습할 방에서 /getdbroom 그 방에서 더이상 학습하지 않으려면 /removegrtdbroom

자동학습을 활성화시키고 싶은 방에서는 /setdbtestroom

 

 

const scriptName="자동학습.js";

 

var ch=0;

var premsg;

var msgroom;

var sen;

function response(room, msg, sender, isGroupChat, replier, ImageDB, packageName, threadId){

var img=java.lang.String(ImageDB.getProfileImage()).hashCode();

var pro=Math.floor(Math.random()*1);

var pro2=Math.floor(Math.random()*3);

var getdbroomlist=DataBase.getDataBase("autoreply/getdbroom");

var outdbroomlist=DataBase.getDataBase("autoreply/outdbroom");

var testString=/\W/;

var d = new Date();

var time=d.getTime();

var dbtime=DataBase.getDataBase("autoreply/time");

var blacklist=["이모티콘을 보냈습니다", "사진을 보냈습니다", "동영상을 보냈습니다", "은빛아"];

 

if(msg=="/setdbroom"){

DataBase.setDataBase("autoreply/getdbroom", "roomlist");

DataBase.setDataBase("autoreply/outdbroom", "roomlist");

replier.reply("setdbroom");

}

 

if(msg=="/getdbroom"){

if(getdbroomlist==null){

DataBase.setDataBase("autoreply/getdbroom", room);

}else{

DataBase.setDataBase("autoreply/getdbroom",getdbroomlist+room);

}

replier.reply("append "+room);

}

 

if(msg=="/removegetdbroom"){

DataBase.setDataBase("autoreply/getdbroom",getdbroomlist.replace(room,""));

replier.reply("remove "+room);

}

 

if(msg=="/setdbtestroom"){

DataBase.appendDataBase("autoreply/outdbroom", room);

replier.reply("Out-of-office reply function is active.");

}

 

if(msg&&ch==0&&msg.length<30&&pro==0&&getdbroomlist.indexOf(room)!=-1&&blacklist.indexOf(msg)==-1){

if(msg.indexOf("/")==-1&&msg.indexOf(".")==-1){

premsg=msg;

ch=1;

msgroom=room;

}

sen=sender;

DataBase.setDataBase("autoreply/time", time);

}

 

if(msg!=premsg&&ch==1&&msg.length<20&&pro==0&&getdbroomlist.indexOf(room)!=-1&&sen==sender&&blacklist.indexOf(msg)==-1){

msg=msg.trim();

if(msg.indexOf("/")==-1&&msg.indexOf(".")==-1){

premsg=msg;

msgroom=room;

DataBase.setDataBase("autoreply/time", time);

}

sen=sender;

}

 

if(msg&&ch==1&&time-dbtime>100000&&time!=0){

ch=0;

premsg="";

msgroom="";

DataBase.setDataBase("autoreply/time", 0);

}

 

if(msg.indexOf("/")==-1&&msg.indexOf(".")==-1&&msg.indexOf(":")==-1&&msg.indexOf("#")==-1&&msg.indexOf("%")==-1){

if(msg!=premsg&&sen!=sender&&ch==1&&msg.length<20&&msgroom==room&&msg.indexOf("/")==-1&&msg.indexOf(".")==-1&&blacklist.indexOf(msg)==-1){

var getdb=DataBase.getDataBase("autoreply/Dblist/"+premsg);

if(getdb==null){

DataBase.setDataBase("autoreply/Dblist/"+premsg, msg);

}else{

DataBase.setDataBase("autoreply/Dblist/"+premsg, getdb+"\n"+msg);

}

ch=0;

premsg="";

msgroom="";

}

}

 

if(msg.indexOf("[")==-1&&msg.indexOf("/")==-1&&msg.indexOf(".")==-1&&msg.indexOf(":")==-1&&msg.indexOf("#")==-1&&msg.indexOf("%")==-1){

var getdb=DataBase.getDataBase("autoreply/Dblist/"+msg);

if(getdb!=null&&pro2==0&&outdbroomlist.indexOf(room)!=-1){

if(getdb.indexOf("\n")==-1){

replier.reply("[봇] "+getdb);

}else{

var num=getdb.match(/\n/g).length;

var pro3=Math.floor(Math.random()*num);

replier.reply("[봇] "+getdb.split("\n")[pro3]);

}

}

}

}