A A
[Coding-javascript] 가르치기

 

 

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

}

const admin= ['Bot_tester', 'admin']; //[] 사이에 관리자 이름을 입력해 주세요.
const banword = ['이모티콘을 보냈습니다.' , '사진을 보냈습니다.' , 'ㅅㅂ']; //배우지 않을 말들을 [] 사이에 추가하세요.
const fs=FileStream;
const pathdb='sdcard/Chatbot/학습목록.txt'; //배운말들이 저장될 파일 경로
const line='\n'+'\u2501'.repeat(9)+'\n';
const Lw='\u200b'.repeat(500); //전체보기화 문자
if(!fs.read(pathdb)) fs.write(pathdb, '{}'); //만약 해당 경로에 파일이 없다면 파일 생성
let jsondb=JSON.parse(fs.read(pathdb)); //파일 데이터를 JSON형식으로 jsondb변수에 대입

function response(room, msg, sender, isGroupChat, replier, ImageDB, packageName) {
    if(jsondb[room]==undefined) jsondb[room]={};
    if(Object.keys(jsondb[room]).includes(msg).valueOf()) replier.reply(jsondb[room][msg]);

    if(msg.startsWith('/가르치기')) {
        if(msg.split('==').length < 2) {
            replier.reply('[/가르치기 반응할 말 == 대답] 형식으로 작성해 주세요\n► ex) /가르치기 안녕 == 만나서 반가워:)');
            return;
        }
        let a=msg.substr(5).split('==')[0].trim();
        if(jsondb[room][a]!=undefined) {
            replier.reply('이미 해당 말을 배웠습니다!\n► 반응할 말: '+a+'\n► 대답: '+jsondb[room][a]);
            return;
        }
        let b=msg.substr(msg.split('==')[0].length+2).trim();
        if(b=='') {
            replier.reply('해당 말에 대한 대답을 써주세요! \n► ex) /가르치기 '+a+' == 테스트');
            return;
        }
        for(let i=0;i<banword.length;i++){
            if(msg.includes(banword[i]).valueOf()) {
                replier.reply('금지된 단어가 포함되어 있습니다!\n► 금지된 단어: '+banword[i]);
                return;
            }
        }
        jsondb[room][a]=b;
        fs.write(pathdb, JSON.stringify(jsondb,null,4));
        replier.reply('앞으로 ['+a+'] 라는 메세지가 오면 ['+b+'] (이)라고 대답합니다');
        return;
    }

    if(msg=='/가르친말') {
        if(Object.keys(jsondb[room]).length<1) {
            replier.reply('아직 방 ['+room+'] 에서 배운 말이 없습니다. \n[/가르치기 말 == 대답] 형식으로 봇에게 가르쳐 보세요!\n► ex)/ 가르치기 안녕 == 만나서 반가워:)');
            return;
        }
        let list=[];
        for(let i in jsondb[room]) list.push('· '+i+' == '+jsondb[room][i]);
        replier.reply('► 배운 단어 수: '+Object.keys(jsondb[room]).length+'개'+Lw+line+list.join('\n\n'));
        return;
    }

    if(msg=='/가르치기 초기화' && admin.includes(sender).valueOf()) {
        jsondb[room]={};
        fs.write(pathdb, JSON.stringify(jsondb,null,4));
        replier.reply('방 ['+room+'] 에서 배운 말들을 초기화하였습니다');
        return;
    }

    if(msg.startsWith('/삭제')) {
        if(msg.substr(3).trim()=='') {
            replier.reply('[/삭제 배운 말] 형식으로 작성해 주세요. \n► ex) /삭제 ㅋㅋㅋ');
            return;
        }
        if(jsondb[room][msg.substr(3).trim()]==undefined) {
            replier.reply('아직 배우지 않은 단어입니다');
            return;
        }
        delete jsondb[room][msg.substr(3).trim()];
        fs.write(pathdb, JSON.stringify(jsondb,null,4));
        replier.reply('성공적으로 삭제하였습니다');
        return;
    }
}

//function onStartCompile() {
//    fs.write(pathdb, JSON.stringify(jsondb,null,4));

'> Coding > Java Script' 카테고리의 다른 글

[Coding-javascript] 운세  (0) 2025.03.02
[Coding-javascript] 주식 검색  (0) 2025.03.02
[Coding-javascript] GPT-연동  (0) 2025.03.02
[Coding-javascript] 날씨 조회  (0) 2025.03.02
[Coding-javascript] 맛집추천  (0) 2025.03.02