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) {}
'이것저것..' 카테고리의 다른 글
케이쉴드 주니어 1기 개인프로젝트 (2) | 2019.08.24 |
---|---|
일상에 익숙해 진다는 느낌.. (1) | 2019.05.03 |
네이버 뮤직에서 VIBE(바이브)로 음악 리스트 옮기는 법 (0) | 2019.04.04 |
해피해킹 Professional 2 Type-S 구매! (0) | 2019.03.28 |
Juice Shop 실습 환경 구축 (0) | 2019.02.22 |