[초급]1. 기본적인 반응 기능 구현하기(카카오톡 봇)
이 튜토리얼은 프로그래밍에 대한 기본 지식이 없는 상태에서 시작하는 방법을 소개한다.
일단 메신저봇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("안녕");
이 코드를 통해 안녕 이라는 메시지를 보내는 것이다.
이렇게 코드를 이해하면서, 필요에 따라 수정하고 그 결과를 확인하는 방식으로 카카오톡 봇을 만들어나갈 수 있다.
이상으로 간단한 카카오톡 챗봇을 만드는 방법에 대해 설명했고, 다음에는 좀 더 복잡한 기능을 구현해보도록 하겠다.