파이썬으로 제공되는 해당 코드로 카카오톡 챗봇을 만들었었는데 자꾸 영정을 먹었다(이거로 본계도 영정먹어서 탈퇴하고 고생함 ㅠ)
이게 로코프로토콜을 써서 만든건지 뭔진 모르겠는데.. 안전한 방식으로 찾기로 하였다.
그래서 대안을 찾아보니 자바스크립트로 짜는방법을 찾았는데,,
이 녀석을 통해 만들면 된다. 제공되는 응답 봇중 가장 인기가 많은것 같았다.
이 앱은 핸드폰에서 카카오톡 메세지가 플로팅(알림)으로 오는걸 읽어서 답장 보내는 방식으로 작동한다.
따라서 내가 봇계정으로 봇을 작동시키려는 방에 들어가 있거나 카톡 알림 또는 플로팅 기능을 꺼놓으면 작동하지 않는다. 또한 자기자신에게 메세지를 보내도 당연히 작동되지 않는다. 계정을 따로 파서 1:1톡을 날려서 실험해보자
추가로 이 앱을 설치해줘야 봇이 작동한다. Wear OS를 통해 카톡 메세지를 응답하여 보낸다고 한다.
필자 같은 경우 계속 봇을 돌릴 여분의 폰이 없어서 NOX앱으로 가상 핸드폰에 해당 앱들을 깔았다.
맨처음 채팅 자동응답 봇 앱을 들어가면 권한 설정을 해달라고 하는데 전부 해주면 된다.
환결 설정에 들어가면 몇버전의 자바스크립트 문법을 사용하는지 알 수 있다.
따로 설정에 손댈필요는 없다.
해당 블로그에 기능들이 잘 설명되어 있다.
Mozila Documentation에 있는 API들이 작동 안되면 아~ 버전이 낮아서 사용 할 수 없는거구나 하고 넘어가면 될 것같다.
이제 내가 친 채팅을 그대로 따라치는 봇을 만들어보자.
원래 화면으로 돌아가 오른쪽위에 땡땡이를 눌러주자
봇의 이름을 적어주고, 언어는 자바스크립트로 만들어주자.
본인이 잘쓰는 언어가 있다면 그거로 선택해도 무관하다.
봇이 잘 생성된것을 확인 할 수 있다.
기본적으로 봇이 꺼져있는데 작동을 위해 켜주도록하자
이제 봇에 소스코드를 작성할 차례이다.
땡땡이와 수정버튼을 눌러준다.
그럼 다음과 같은 소스를 입력하는 창과 여러 메뉴가 보인다
기본적으로 response라는 함수가 선언되어 있는데, 이 함수는 카톡에서 메세지가 왔을때 실행(응답)하는 함수이다.
각각의 파라미터의 의미는 다음과 같다.
파라미터 | 의미 |
room | 채팅방 이름 |
msg | 보낸 메세지 |
sender | 메세지 보낸 사람 이름 |
isGroupChat | 단체 채팅방이면 true, 아니면 false 반환 |
replier | 답장 메서드 객체 |
ImageDB | 이미지 정보가 담겨 있는 객체 (화질 bad) |
기본적으로 replier.reply(보낼메세지)를 통해 메세지를 보낸다.
이를 통해 내가 적은 메세지를 그대로 따라서 응답하는 봇을 만들어보자
function response(room, msg, sender, isGroupChat, replier, ImageDB, packageName) {
replier.reply(msg);
}
해당 소스를 작성해주고, 빨간색 네모표시한 저장 버튼과 리로드 버튼을 눌러서 수정한 코드가 봇에 적용되게 해주자.
저장&리로드를 했는데 스크립트 리로드 완료가 아닌 다른 메세지가 뜬다면 해당 메세지를 보고 오류를 고쳐나가야 된다.
이제 왼쪽 아래에 있는 메뉴인 디버깅 룸으로 들어가서 내가 원하는대로 작동하는지 확인 할 수 있다.
디버깅 룸에서 정상작동한다면 코드가 원하는대로 작동한다는 것이다.
이제 카톡에서 1:1 톡을 걸어서 정상작동하는지 확인해보자
카톡에서도 정상작동한다면 기본적인 세팅이 끝난것이다.
이제 자바스크립트를 통해 원하는대로 카톡봇을 만들면된다.
만약 지금까지 다 따라했는데, 디버깅 룸에서는 작동하는데 카톡메세지를 읽어와서 응답하는게 작동이 안된다면 베타버전을 깔아서 다시 시도해보자(현재 일부 기종에서 안되는 문제가 있음)
다시 깔고 나면 스크립트 리로드하고 디버깅 룸에서 작동하는지 먼저 확인해보고 테스팅 gogo
앱을 완전히 지우고 다시 까는것을 권장한다
'웹 > Javascript' 카테고리의 다른 글
카카오톡 챗봇 퀴즈봇 만들기 (0) | 2021.12.24 |
---|---|
카카오톡 챗봇 코인 정보봇 만들기 (3) | 2021.12.24 |