노는게 좋은 뽀로로부부

작은 도전기들/카카오톡봇 만들어보기

02 카카오톡봇 선택 및 데이터 db파일로 변환하기

효니쭈니 2024. 10. 28. 16:29

카카오톡 봇 이 카카오 자체에서 만든 봇도 있었고, ChatBot 이라는 어플도 있었는데, 나는 여러가지를 찾아보던중 

"메신저봇R" 이라는 프로그램을 찾게 되었다.

 

 

 

 

 

 

 

메신저봇R에 대한 설명은 다른 블로그에도 자세하게 나와 있으니, 여기서 설명은 생략하고 진행하도록 하겠다.

 

그리고 다음으로 데이터를 처리해야하는 DB가 필요한데 나는 SQLite Database Editor 을 사용했다.

 

 

 

 

그런데 이게 말로만 데이터 베이스지 실질적으로는 파일 한개를 "데이터.db" 파일로 만들어서 "메신저봇R" 에서 파일을 접근하는것이라 SQLite 이필요하다.

 

나중에 유지보수를 할때 db 파일 수정 및 입력이 용이하니 두개의 어플을 모두 다운 받도록 하자

 

 

처음 메신저봇R을 다운받으면 이것저것 권한을 엄청나게 달라고 하는데 권한을 요청하는 이유는 어플에 자세히 나와 있으니 잘 살펴보고 동의하도록 하자. 다만 동의를 안하면 어플이 잘 작동을 안한다. 

 

 

어찌됐든 메신저봇R을 처음 설치 하고 나서 우측 아래에 있는 " +  "모양을 클릭 하면 새로운 봇을 만들수가 있다.

이미 만들어져있는 봇... 처음에는 검은화면만..

 

 

 

 

 

 

 

이름은 그냥 아무렇게나 하나 하면 되고 나는 "연습" 이라는 이름으로 봇을 제작했다.

 

const scriptName = "연습";
/**
* (string) room
* (string) sender
* (boolean) isGroupChat
* (void) replier.reply(message)
* (boolean) replier.reply(room, message, hideErrorToast = false) // 전송 성공시 true, 실패시 false 반환
* (string) imageDB.getProfileBase64()
* (string) packageName
*/

function response(room, msg, sender, isGroupChat, replier, imageDB, packageName) {
 
}

//아래 4개의 메소드는 액티비티 화면을 수정할때 사용됩니다.
function onCreate(savedInstanceState, activity) {
  var textView = new android.widget.TextView(activity);
  textView.setText("Hello, World!");
  textView.setTextColor(android.graphics.Color.DKGRAY);
  activity.setContentView(textView);
}

function onStart(activity) {}

function onResume(activity) {}

function onPause(activity) {}

function onStop(activity) {}

처음 봇을 만들고 나서 코드 소스의 형태

 

 

 

다른곳은 복잡하니 굳이 볼 필요 없고 12번째 줄의 function response 부분이 가장 중요하다.

function response(room, msg, sender, isGroupChat, replier, imageDB, packageName) {
 
}

 

채팅창에서 어떤 메세지를 보내면 다 이곳으로 들어가서 처리가 된다. 

 

 

출처 : 메신저봇R 레퍼런스 참고  :  https://kbotdocs.dev/

 

 

메신저봇 만들기에 앞서 먼저 메신저봇이 잘 작동하는지부터 확인해보는게 좋다.

 

 

 

function response(room, msg, sender, isGroupChat, replier, imageDB, packageName) {
  replier.reply(msg); /*메세지 내용은 그대로 앵무새처럼 반복*/
}

 

요렇게 입력을 하게 되면 내가 입력한 그대로 msg 라는 함수에 담겨서 앵무새처럼 반복을 하게 되는거죠. 이제 저 msg 라는 변수를 갖고 모든것을 조종하기 시작하면 됩니다.

 

 

 

본격 메신저봇 만들기 전 excel 파일(데이터)을 db 확장자명 파일로 변경 

 

이분 글을 참고하시면 편하실꺼에요~ 

https://haem-jsp.tistory.com/26

 

[Android] 엑셀 파일을 .db파일로 변환하기 - SQLite과 T Map API를 이용해 데이터베이스(.db)파일 데이터

[Android] 엑셀 파일을 .db파일로 변환 - SQLite과 T Map API를 이용해 데이터베이스(.db)파일 데이터 다중 마커 생성하기(1) 마지막 학기를 마무리하고 취업준비를 하느라, 포스팅이 많이 늦어졌지만. 캡

haem-jsp.tistory.com

 

 

 

 

 

 

메신저봇을 만들기 이전에 이제 자료부터 먼저 " *.db" 파일로 만들어야 하겠죠? 

 

 

 

 

 

1. DB Browser for SQLite  를 먼저 설치 합니다. 

 

https://sqlitebrowser.org/

 

 

본인 버전에 맞는 파일은 다운받도록 하자

 

 

 

 

 

 

 

2. Excel 의 *.xlsx파일을 *.csv 파일로 변경 

 

새 데이터 베이스를 누르고 저장경로에 맞춰서 *.db 파일을 먼저 만들어 줍니다.

 

 

파일명을 선택하고 저장버튼을 누르면 

 

 

 

이렇게 작성하라고 뜹니다. 즉 쉽게 말해서 표를 만들때 각 열의 제목을 만들라는 뜻으로 보면 되는데, 

필드명 위에 있는 "추가" 버튼을 누르면 

 

 

 

 

 

필드명이 뜨는데 필드명이 제목이라고 보시면 됩니다. 잘 모르시면 필요한 자료수만큼 추가해주시면 됩니다.

 

예를들어 이름, 성별, 생년월일, 전화번호 가 필요하시면 추가를 4번 눌러서 필드를 4개 만들면 되고요,

 

타입은 Integer 이 있는데 Integer 은 숫자, Text 는 문자 라고 보시면 됩니다. 그럼 이름과, 성별, 생년월일 다 text로 만들면 되겠죠?? 

 

아래 create table 부분은 크게 신경 안쓰셔도 자동으로 입력 됩니다. 이렇게 테이블을 만들고 나서

 

 

 

 

 

 

엑셀 파일을 불러와야 겠지요?

 

데이터 베이스를 만들고자 하는 엑셀파일을 불러오고 난후 다른이름으로 저장 선택후

 

 

 

 

 

 

CSV 파일을 선택해준뒤에 경로에 저장 해줍니다. 

 

 

이제 저 csv 파일을 불러오면 되는데요

 

 

하면 csv 파일이 db 로 만들어 지게 됩니다.

 

그리고 나서 이제 메신저봇R을 설치한 스마트폰에 db 파일을 저장하면 일단 1단계는 끝이납니다.

 

 

다음 시간에는 본격적으로 메신저봇R 코딩을 시작해보도록 하겠습니다. 

 

728x90