카카오톡 채팅 봇 만들기

카카오톡 오픈 채팅방을 보면 가끔 특정 단어에 반응하여 결과를 알려주는 일명 ‘봇’이 존재하는 방이 있습니다. 저는 휴대폰이 2대라서 세컨 핸드폰에 봇 세팅을 해 두고 사용중입니다. 카카오톡 채팅 봇에 대해서 궁금해하시는 분들이 많아서 따로 내용 정리합니다.


카카오톡 채팅 봇 만들기 준비물

우선 안드로이드 OS 핸드폰에서만 만들 수 있습니다. 그리고 사용하지 않는 핸드폰이 하나 더 있으면 좋겠지만, 없다면 사용하시는 핸드폰에 만들어도 상관은 없습니다. 아래에 어떤 식으로 동작하는지 간단하게 설명해 드리겠습니다. 카카오톡 채팅 봇을 만들기 위해서는 위 두 가지 앱을 설치해야 합니다. Wear OS by Google메신저 자동응답 봇입니다. 구글 플레이에서 검색해서 설치해 줍니다. 이 두 가지 앱이 설치되었다면 준비는 끝났습니다. 이제 본격적으로 만들기를 해보겠습니다.


채팅 봇의 구동 원리

채팅 봇의 구동 원리에 대해서 간단하게 설명하겠습니다. 우선 채팅 알림이 활성화가 되어 있어야 합니다. 휴대폰의 알림으로 온 텍스트를 읽어서 설정된 키워드가 있으면, 자동으로 답장을 하는 원리입니다.

그래서 카톡 알림 설정에서 메시지 알림이 ON 상태로 해 놓으셔야 합니다. 당연히 알림을 받고자 하는 톡방은 알림이 켜져 있어야 하고요. 저는 개인적으로 모든 알림을 끄고 사용하기 때문에 채팅 봇은 세컨 핸드폰에서 돌리고 있습니다. 오픈 채팅의 경우 대화가 거의 24시간 동안 실시간으로 이루어지는 편이라서 배터리가 광탈하는 현상을 보게 됩니다. 물론, 키워드를 설정해 놓으면 그 키워드만 알림을 받을 수도 있지만, 카카오톡 키워드 알림 설정은 키워드가 20개밖에 되지 않습니다. 채팅 봇으로 더 신나게 놀기에는 턱없이 부족한 숫자입니다. 그리고 내가 그 채팅방을 보고 있는 경우(창이 열려 있는 경우)에는 알림이 오지 않기 때문에 채팅 봇이 동작하지 않습니다.

 

Wear OS by Google 앱을 설치하는 이유는 위와 같이 알림 팝업이 왔을 때, ‘답장’을 하기 위해 서 입니다. 이건 휴대폰 제조사에 따라서 조금씩 다르긴 한데, 혹시 모르니까 우선 설치하시는 게 좋겠습니다.

 


메신저 자동응답 봇 세팅

Wear OS by Google 앱은 실행하지 않아도 됩니다. 메신저 자동응답 봇은 설치하고 나면, 휴대폰에 MessengerBot(이하 메신저 봇) 라는 이름으로 아이콘이 보입니다. 실행해주면, 위와 같이 알림 읽기 권한이 없습니다. 라는 알림이 보입니다. [OK] 를 누르시면 알림 확인 허용 설정 창으로 이동합니다.

 

알림 확인 허용 설정 화면입니다. 여기서 사진과 같이 MessengerBotWear OS by Google을 알림 확인 허용 활성화해줍니다.

 

다시 메신저 봇으로 돌아와서 활성화 스위치를 ON 상태로 바꿔 줍니다. 그리고 아래에 보이는 + 버튼을 누릅니다.

 

새 스크립트를 입력하라는 팝업이 보입니다. 파일 이름을 입력하세요. 한글로 입력하셔도 됩니다. 저는 카톡봇으로 입력하고 OK를 누르겠습니다.

 

카톡봇.js 파일이 생성되었습니다. 여기서 아래 6개 아이콘 중에서 두 번째 연필 아이콘을 탭합니다. 각각 아이콘은 눌러보면 알 수 있지만 간단하게 설명드리자면 아래와 같습니다.

  • 1번 아이콘: 스크립트 리로드, 작성된 스크립트를 다시 불러옵니다.
  • 2번 아이콘: 스크립트 입력 페이지로 이동
  • 3번 아이콘: 스크립트 테스트 페이지로 이동, 여기서 예외 할 그룹을 지정할 수 있습니다.
  • 4번 아이콘: 디버깅 페이지로 이동
  • 5번 아이콘: 스크립트 상세 설정 페이지로 이동
  • 6번 아이콘: 스크립트 활성화 (정확하게 기능은 잘 모르겠습니다?)

 

스크립트 입력 페이지입니다. 기본적으로 길잡이 내용이 입력되어 있습니다. 제일 윗 줄을 제외하고는 모두 삭제해도 됩니다. 이 포스트에서는 간단하게 특정 단어를 입력했을 때 반응하는 가장 기본적인 스크립트를 알려드릴 예정입니다. 더 상세한 스크립트 소스를 얻고 싶으시다면 메신저 봇 앱의 공식 카페로 가시면 더 많은 정보를 얻을 수 있습니다.

 

간단하게 특정 단어 입력 시 자동으로 응답하는 스크립트를 넣어보겠습니다. ‘!네이버’라고 치면 ‘망해라!’라고 하는 스크립트입니다.

function response(room, msg, sender, isGroupChat, replier, imageDB) {
if(msg.match("!네이버")){
replier.reply('망해라! https://nemang.kr/');
}
}

위와 같은 스크립트를 삽입했습니다. function response(room, msg, sender, isGroupChat, replier, imageDB) 는 기본으로 들어가는 구문입니다. 그리고 if(msg.match(“메시지”))는 메시지와 일치하는 메시지가 있을 때, replier.reply(‘답장 메시지);를 출력하라는 명령입니다. 일단 여기는 개발 블로그가 아니기 때문에 더 자세한 설명은 생략합니다.

스크립트 작성이 완료되었다면, 오른쪽 아래에 있는 저장 버튼을 탭 합니다. 한번 탭 하면 저장이고, 길게 누르면 컴파일까지 됩니다.