const Lw = "\u200b".repeat(500);


const weaknesses = {

    "노말": ["격투"],

    "불꽃": ["물", "땅", "바위"],

    "물": ["풀", "전기"],

    "풀": ["불꽃", "얼음", "독", "벌레", "비행"],

    "전기": ["땅"],

    "얼음": ["불꽃", "격투", "바위", "강철"],

    "격투": ["비행", "에스퍼", "페어리"],

    "독": ["땅", "에스퍼"],

    "땅": ["물", "풀", "얼음"],

    "비행": ["전기", "얼음", "바위"],

    "에스퍼": ["벌레", "고스트", "악"],

    "벌레": ["불꽃", "비행", "바위"],

    "바위": ["물", "풀", "격투", "땅", "강철"],

    "고스트": ["고스트", "악"],

    "드래곤": ["얼음", "드래곤", "페어리"],

    "악": ["격투", "벌레", "페어리"],

    "강철": ["불꽃", "격투", "땅"],

    "페어리": ["독", "강철"]

};


const strengths = {

    "노말": [""],

    "불꽃": ["풀", "벌레", "얼음", "강철"],

    "물": ["불", "땅", "바위"],

    "풀": ["물", "땅", "바위"],

    "전기": ["물", "비행"],

    "얼음": ["풀", "땅", "비행", "드래곤"],

    "격투": ["노말", "얼음", "바위", "악", "강철"],

    "독": ["풀", "에스퍼"],

    "땅": ["불꽃", "전기", "독", "바위", "강철"],

    "비행": ["격투", "풀", "벌레"],

    "에스퍼": ["격투", "독"],

    "벌레": ["풀", "에스퍼", "악"],

    "바위": ["불꽃", "얼음", "비행", "벌레"],

    "고스트": ["고스트", "에스퍼"],

    "드래곤": ["드래곤"],

    "악": ["에스퍼", "고스트"],

    "강철": ["얼음", "바위", "에스퍼"],

    "페어리": ["독", "강철", "드래곤"],

};




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

    if (msg.startsWith("/포고 ")) {

        try {

            let name = msg.slice(4).trim();

            let a = org.jsoup.Jsoup.connect("https://pokemonkorea.co.kr/pokedex?word=" + name + "&characters=&area=&snumber=1&snumber2=1025&sortselval=number+asc%2Cnumber_count+asc&typetextcs=_________________#pokedex_18").get();

            let f = a.select('[class="row list-book per1-1"]').text().replace(/[ㄱ-힣]/g, "").split("No.");


            if (f.length <= 1) return replier.reply("없는 포켓몬이에요");

            let d = a.select('[class="tumb-wrp"]').get(0);

            let ff = a.select('[class$="bx-txt"]').get(0).text().trim();

            let name_ = String(a.select('[class$="bx-txt"]').get(0)).split('</p>')[1].replace(/(<([^>]+)>)/g, "").replace(/\n/g, "").replace(/ {2,}/g, " ").trim();

            let types = String(ff).split(name_)[1].trim().split(/\,? /);

            let num = String(ff).split(name_)[0].trim();


            let weaks = {};

            let strongs = {};

            types.map(e => e.trim()).filter(e => e).forEach(t => {

                weaknesses[t].forEach(w => {

                    weaks[w] = (weaks[w] || 0) + 1;

                });

                strengths[t].forEach(s => {

                    strongs[s] = (strongs[s] || 0) + 1;

                });

            });


            let weak_keys = Object.keys(weaks).sort((a, b) => weaks[a] === weaks[b] ? (a > b ? 1 : -1) : weaks[b] - weaks[a]);

            let strong_keys = Object.keys(strongs).sort((a, b) => strongs[a] === strongs[b] ? (a > b ? 1 : -1) : strongs[b] - strongs[a]);


            replier.reply(

                name_ + "\n"

                + "도감번호: " + num + "\n"

                + "타입: " + types + "\n"

                + "약점: " + (weak_keys.length ? weak_keys.map(w => w + ' (' + +Math.pow(1.6, weaks[w]).toFixed(3) + ')').join(', ') : '없음') + "\n" 

                + "방어: " + (strong_keys.length ? strong_keys.map(s => s + ' (' + +Math.pow(0.625, strongs[s]).toFixed(3) + ')').join(', ') : '없음') + "\n" 

                + "이미지: " + ("h" + String(d).split("h")[1].split("g")[0] + "g")

            );

        } catch (e) {

            replier.reply("없는 포켓몬이에요! " + e + "\n" + e.errorLine);

        }


    }

}



메신저봇R 이라는걸 쓰는데 /포켓몬 레쿠쟈 검색했을때  밑에처럼 뜬다... 전기가 대체 왜뜨는거야????
제발 고쳐줘라 국밥쏜다.

레쿠쟈 도감번호: 384
타입: 드래곤, 비행
약점: 얼음 (2.56), 드래곤 (1.60), 페어리 (1.60), 전기 (1.60), 바위 (1.60)
이미지: https://example.com/image_of_rekuza.jpg