사용법은 우선 /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]);
}
}
}
}
'오픈소스' 카테고리의 다른 글
디지털숫자 [오픈소스] (1) | 2019.05.23 |
---|---|
계산함수 업그레이드 버전 [오픈소스] (0) | 2019.03.13 |
미로생성소스 (오픈소스) (0) | 2019.03.12 |
계산함수 [오픈소스] (0) | 2019.01.29 |
가위바위보 전적저장 [오픈소스] (3) | 2019.01.26 |