카카오톡 봇 만들기 (유튜브 )
카카오톡 봇 만들기! #1 짧고 쉽고 간단하게~ https://youtu.be/It1uQuxegx0
카카오톡 봇 만들기! #2 가위바위보 https://youtu.be/VaQiSzzxLxs
카카오톡 봇 만들기! #3 실시간 검색어 순위 https://youtu.be/Wv0Sv83oLTg
카카오톡 봇 만들기! #번외1 메신져봇으로 갈아타자
https://youtu.be/ojgqvCK26XE
카카오톡 봇 만들기! #4 기능설명, 접어보기, 전체보기 https://youtu.be/Dg1IX-tIEu0
카카오톡 봇 만들기! #5 날씨 알려주기
https://youtu.be/7DNaqFJYm5A
카카오톡 봇 만들기! #6 ftp 원격코딩, 코드관리
https://youtu.be/0nVmajTTNv4
메신져봇 앱으로 카카오톡 봇 만들기! #7 파일 읽고 저장하기
https://youtu.be/PMi7S-92VII
취소선은 2020년 3월 8일 22시 기준 작동불가인것

기능 개선으로 영상과는 코드가 다릅니다.

사용법이 조금 다르니 이점 참조해주시기 바랍니다.

고급진 카톡봇 제작의 필수요소!

 

파일을 읽고 쓰는 방법을 알려드리겠습니다.

 

작동구조는 위 영상에 있으니 따로 언급하지 않겠습니다. 

 


사용법
1. save(파일경로, 저장할 변수)
2. read(파일경로)

영상에서는 save(폴더경로, 파일이름, 저장할변수) , read(폴더경로, 파일이름) 이렇게 되어 있습니다.

폴더경로와 파일이름을 파일경로로 합쳐서 쓰도록 패치 하였습니다. 


밑의 코드중

var sdcard는 코드의 맨 윗쪽에

함수 부분은 코드의 맨 밑쪽에 넣어주시면됩니다.

var sdcard = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();    //절대경로

function save(originpath, content)
{
    // originpath는 sdcard/폴더/파일
    var splited_originpath = originpath.split("/");
    splited_originpath.pop();
    var path = splited_originpath.join("/");

    var folder = new java.io.File(path);
    folder.mkdirs();
    var file = new java.io.File(originpath);
    var fos = new java.io.FileOutputStream(file);
    var contentstring = new java.lang.String(content);
    fos.write(contentstring.getBytes());
    fos.close();
}

function read(originpath)
{
    var file = new java.io.File(originpath);
    if(file.exists() == false) return null;
    try
    {
        var fis = new java.io.FileInputStream(file);
        var isr = new java.io.InputStreamReader(fis);
        var br = new java.io.BufferedReader(isr);
        var temp_br = br.readLine();
        var temp_readline = "";
        while((temp_readline = br.readLine()) !== null){
            temp_br+="\n" + temp_readline; 
        }
        try
        {
            fis.close();
            isr.close();
            br.close();
            return temp_br;
        }
        catch(error)
        {
            return error;
        }
    }
    catch(error)
    {
        return error;
    }
}

 

 


전체코드

var allsee = new Array(1000).join(String.fromCharCode(847));
var sdcard = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();    //절대경로


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

    if (msg == "/기능") {
        replier.reply("made by 옴블\n\n--------기능------"+allsee+"\n\n안녕\n바보\n가위바위보\n/날씨");
    }
    if (msg == "/패치노트"){
        replier.reply("-----패치노트-----"+allsee+"\n\n20190826 ver1 /기능과 /패치노트 추가");
    }

    if(msg == '안녕'){
        replier.reply('안녕하세요');
    }
    
    if(msg == '바보'){
    	replier.reply('바부야');
    }
    
    if(msg == '가위'||msg == '보' ||msg == '바위'){
        var RSP = ['가위', '바위', '보'];
    	RSP_bot = RSP[Math.floor((Math.random() * 3))];
    	replier.reply(RSP_bot);
    	   
    	if(msg == RSP_bot){
     	   replier.reply('비겼습니다');
    	}
        else if((msg == '가위' && RSP_bot == '바위')||(msg == '보' && RSP_bot == '가위')||(msg == '바위' && RSP_bot =='보')){
    	   replier.reply('당신은 졌습니다');
    	}
    	else{
    	   	replier.reply('당신은 이겼습니다');
    	}
    }
}  

function save(originpath, content)
{
    // originpath는 sdcard/폴더/파일
    var splited_originpath = originpath.split("/");
    splited_originpath.pop();
    var path = splited_originpath.join("/");

    var folder = new java.io.File(path);
    folder.mkdirs();
    var file = new java.io.File(originpath);
    var fos = new java.io.FileOutputStream(file);
    var contentstring = new java.lang.String(content);
    fos.write(contentstring.getBytes());
    fos.close();
}

function read(originpath)
{
    var file = new java.io.File(originpath);
    if(file.exists() == false) return null;
    try
    {
        var fis = new java.io.FileInputStream(file);
        var isr = new java.io.InputStreamReader(fis);
        var br = new java.io.BufferedReader(isr);
        var temp_br = br.readLine();
        var temp_readline = "";
        while((temp_readline = br.readLine()) !== null){
            temp_br+="\n" + temp_readline; 
        }
        try
        {
            fis.close();
            isr.close();
            br.close();
            return temp_br;
        }
        catch(error)
        {
            return error;
        }
    }
    catch(error)
    {
        return error;
    }
}

 

+ Recent posts