이것저것..

카카오톡 봇

const scriptName="test.js";


var cmds = [];
var msgs = [];
var allWord = "";
var reNamu = /^\.나무 [\w\W]+/i
var rePapago = /^\.한영|영한|일한{1} [\w\W]+/i

//함수//

function AddCMD(request,response){
  cmds.push({req:request,res:response})
}
function AddMSG(request,response){
  msgs.push({req:request,res:response})
}

//나무위키 검색함수
function namu(str){
  var url = 'https://namu.wiki/w/'+ encodeURI(str);
  var result;
  try{
    var html = Utils.getWebText(url)
    contents = html.split('div class="wiki-heading-content">')[1].split('h2 class="wiki-heading">')[0].replace(/(<([^>]+)>)/g, "").trim().substring(0,200)+"...";


    result = str + "에 대한 결과입니다.\n" + contents + "\n\n자세한내용은 " + "https://namu.wiki/w/" + encodeURI(str) + " 을 참고해주세요";
    return result;

  }catch(e){
    result = "나무위키에서 " + str + "을(를) 찾을 수 없거나 오류가 있습니다.";
    return result;
  }
}



//msg 추가
AddMSG("안녕","안녕?");
AddMSG("잘가","응 잘가");
AddMSG("ㅋㅋ","ㅋㅋㅋㅋㅋ");
AddMSG("ㅇㅇ","ㅇㅇㅇ");
AddMSG("?","ㅇㅇ");

//모든메세지
for(var i in msgs){
  allWord += (msgs[i].req + ", ");
}
allWord = allWord.slice(0,-2);


//cmd 추가
AddCMD(".명령어","***트리봇***\n.명령어 => 명령어리스트\n.단어 => 반응하는말\n.단어추가 => 미지원\n.나무위키 => 나무위키 검색\n.번역 => 파파고 AI번역기\n.날씨 => 미지원\n.네이버검색 => 미지원\nVer. 20190408 / NS");
AddCMD(".날씨",".날씨 지역");//1
AddCMD(".단어","***반응하는 단어***\n"+allWord);//2
AddCMD(".번역",".한영 [문장/단어]");//3
AddCMD(".네이버검색",".네이버 [검색어]");//4
AddCMD(".나무위키",".나무 [검색어]");//5
AddCMD(".날씨",".날씨 [지역]");//6
AddCMD(".단어추가",".말 [입력] [출력]")//7




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


  if(reNamu.exec(msg)){
    str = reNamu.exec(msg)[0].split('.나무 ')[1];
    replier.reply(namu(str));
    return;
  }
  if(rePapago.exec(msg)){
    lang = rePapago.exec(msg)[0].split(' ')[0];
    str = rePapago.exec(msg)[0].split(lang+' ')[1];

    if(lang == ".한영"){

      replier.reply(Api.papagoTranslate("ko","en",str));
      return;
    }else if(lang == ".영한"){
      replier.reply(Api.papagoTranslate("en","ko",str));
      return;
    }else if(lang == ".한일"){
      replier.reply(Api.papagoTranslate("ko","ja",str));
      return;
    }else{
      replier.reply("검색 오류입니다. \n다시한번 확인해 주세요.");
      return;
    }
  }

  for(var i in cmds){
    if(msg == cmds[i].req)replier.reply(cmds[i].res);
  }




function onStartCompile(){
    /*컴파일 또는 Api.reload호출시, 컴파일 되기 이전에 호출되는 함수입니다.
     *제안하는 용도: 리로드시 자동 백업*/

}

//아래 4개의 메소드는 액티비티 화면을 수정할때 사용됩니다.
function onCreate(savedInstanceState,activity) {
    var layout=new android.widget.LinearLayout(activity);
    layout.setOrientation(android.widget.LinearLayout.HORIZONTAL);
    var txt=new android.widget.TextView(activity);
    txt.setText("액티비티 사용 예시입니다.");
    layout.addView(txt);
    activity.setContentView(layout);
}
function onResume(activity) {}
function onPause(activity) {}
function onStop(activity) {}