카카오톡 봇

[초급]1. 기본적인 반응 기능 구현하기(카카오톡 봇)

alphabet 2023. 7. 17. 16:25

이 튜토리얼은 프로그래밍에 대한 기본 지식이 없는 상태에서 시작하는 방법을 소개한다.

일단 메신저봇R 이라는 앱을 다운로드 해주자. 이 앱을 통해서 카카오톡 봇을 만들 것이다.

구글 플레이스토어 화면이다.

다운로드 후 메신저봇에 들어가고, 필요한 권한을 모두 허용해주자.

메신저봇 화면

그러면 이러한 화면이 나올 것이다. 이 화면에서 + 버튼을 눌러 필요한 봇을 추가할 수 있다.

+ 버튼을 누르면 아래와 같은 화면이 나온다.

이름에 테스트 라고 입력해주자.(아무거나 입력해도 상관은 없다.)

그럼 아래와 같은 화면이 나온다.

여기서 나머지 부분은 다 지우고

const scriptName = "테스트";

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

}

만 남겨주자. function response 안에서 하는 일이 어떠한 알람이 왔을 때, 어떤 행동을 할지를 나타낸다고 생각하면 된다.

자세히 설명하면 function은 어떤 기능을 나타내며, response는 '응답'을 의미한다. 즉, 채팅이 오면 이 function 내에 있는 코드가 실행된다.

아래처럼 무슨 말을 하던 안녕이라고 대답하게 만들어보자.

아까 코드를 

const scriptName = "테스트";

function response(room, msg, sender, isGroupChat, replier) {
    replier.reply("안녕");
}

이라고 수정해보자.

replier.reply()는 괄호 () 안에 있는 내용을 그 톡방에 전송한다는 뜻이다. 따라서 우리가 원하는 "안녕"을 전송하기 위해서 저렇게 코드를 작성해준 것이다. 큰따옴표("")를 사용한 이유는 JavaScript에서는 문자를 입력할 때 항상 양 끝에 큰따옴표를 붙여줘야 한다. 그렇지 않으면 코드상에서 변수로 인식하기 때문이다.
이렇게 코드를 수정하고

밖으로 나와서 저 빨간색 동그라미 부분을 눌러보면 쓴 코드가 잘 돌아가는지를 검증할 수 있다. 누르고 아무거나 입력해보면 안녕 이라고 대답할 것이다.

 

이제는 /안녕 이라고 말할 때만 안녕 이라고 말하게 만들어보자.

const scriptName = "테스트";

function response(room, msg, sender, isGroupChat, replier) {  //채팅이 수신되면 실행
    if (msg == "/안녕") {   //수신된 채팅 내용이 "/안녕"이라면
        replier.reply("안녕");  //"안녕"이라고 응답
    }  //if의 범위 종료
}  //function response 종료

코드 설명은 아래와 같다.

if (msg == "/안녕") {

    replier.reply("안녕");

}

if 문은 () 소괄호 안에 있는 내용이 참(true) 라면, {}중괄호 안에 있는 내용을 실행시킨다. 
msg는 수신된 채팅 내용을 나타내며, '=='는 양변의 값이 같은지 비교하는 연산자이다.

즉, 받은 채팅이 /안녕 이라면, {}중괄호 안에 있는 코드가 실행된다는 것이다.

따라서

replier.reply("안녕");
이 코드를 통해 안녕 이라는 메시지를 보내는 것이다.

 

이렇게 코드를 이해하면서, 필요에 따라 수정하고 그 결과를 확인하는 방식으로 카카오톡 봇을 만들어나갈 수 있다.

이상으로 간단한 카카오톡 챗봇을 만드는 방법에 대해 설명했고, 다음에는 좀 더 복잡한 기능을 구현해보도록 하겠다.