카카오봇

카카오봇 /날씨 + 지역 구현하기

koreasunoo 2021. 12. 31. 17:13

안녕하세요 오늘은 카카오봇 /날씨 + 지역을 입력했을 때 봇이 그 지역의 대략적인 날씨를 알려주는 것을 구현할겁니다.

특정 지역의 날씨를 제약이 거의 없이 가져오려면 구글을 이용하는 것이 좋아서 구글에서 날씨를 파싱할겁니다.

밑의 코드를 참고하여 구글 에서 지역의 날씨를 가져오는 방법과, 자바스크립트를 이용하여 특정 html의 id를 선택하는 법을 참고하길 바랍니다.

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

    if (msg.startsWith("/날씨 "))  {
    
        let weather = msg.slice(4);

        if (isNaN(weather))  {

            try {

                let url = org.jsoup.Jsoup.connect("https://www.google.com/search?q=" + weather + " 날씨").get();

                let resultDC = url.select("#wob_dc").text(); //상태?

                let resultPP = url.select("#wob_pp").text(); //강수확률

                let resultTM = url.select("#wob_tm").text(); //온도

                let resultWS = url.select("#wob_ws").text(); //풍속

                let resultHM = url.select("#wob_hm").text(); //습도

                if(resultDC=="")  {

                    replier.reply("지금 현재 " + weather + "의 날씨를 불러올 수 없습니다.");

                    return;

                }

                replier.reply("지금 현재 "+weather+"의 날씨는 \""+resultDC + "\"입니다. 온도는 "+resultTM+"°C 입니다.\n\n강수확률: " + resultPP + "\n풍속: " + resultWS + "\n습도: " + resultHM);

            }catch(e)  {

                replier.reply("불러올 수 없는 지역이거나 지원되지 않는 지역입니다.");

                return;

            }

        } else {

            replier.reply("지역을 잘못 나타냈어요(EX./날씨 \"조회할 지역\")");

            return;

        }
    
        
    
    }
    
}

'카카오봇' 카테고리의 다른 글

카카오봇 /시간표 구현하기  (0) 2021.12.26
카카오봇 /급식 기능 구현하기  (3) 2021.12.25
나의 간단한 카카오 채팅봇 소개  (0) 2021.12.22