카카오톡 봇 개발하기 #1
안녕하세요 @ayogom 입니다.
최근에 봇 개발에 재미를 붙였습니다. 개발자냐고요? 아니요, 개발자는 아니지만 관심이 많습니다.... ㅎㅎ
정상적인 챗봇은 @willpark 님의 포스팅을 참고 하시고요!! 이건 좀 다른 방식입니다
오늘 소개해 드릴 것은 "카카오톡 봇" 입니다. 다른 메신져와 달리 카카오톡은 API 제공을 안해주고 있어서, 사실 개발에 어려움이 있습니다. 그러다 보니 텔레그램이라든지, 디스코드라든지, 이쪽에서 봇 개발을 많이 하는것 같습니다.
따라서 정상적인 방법은 아니고 약간 편법을 이용한 봇입니다. 저도 부족한 수준이기 때문에 많은 분들이 관심을 가져서 ㅋ 소스 코드를 공유 하고 싶어, 포스팅을 합니다.
개발 환경
안드로이드 5.0 이상
개발 도구
- Wear OS는 카카오톡으로 부터 오는 알림을 잡아주는 역활을 합니다.
개발 시작!
두 프로그램을 설치 하였다면, 카카오톡 봇을 실행합니다. 실행하면 아래와 같은 화면을 볼 수 있습니다.
- 현재 저는 동작 중이라 그 부분은 무시 해주세요!
탭은 5가지로 구성이 됩니다
홈 : 동작을 시키는 부분
로그 : 동작 중에 발생하는 기록
테스트 모드 : 샘플로 코드를 확인하는 부분
( 일부 기능이 제한됩니다.)
설정 : 설정
에디터 : 실제 코딩 부분
제일먼저 할 부분은 홈에서 "권한설정하기" 입니다 , 알림 권한 설정을 통해 알림을 체크 할 수 있습니다.
아래와 같이 알림 권한을 켜주세요.
권한을 키셨으면, 에디터 탭으로 갑니다.
function response(room, msg, sender, isGroupChat, replier, imageDB) {
/** @param {String} room - 방 이름
* @param {String} msg - 메세지 내용
* @param {String} sender - 발신자 이름
* @param {Boolean} isGroupChat - 단체채팅 여부
* @param {Object} replier - 세션 캐싱 답장 메소드 객체
* @param {Object} imageDB - 프로필 이미지와 수신된 이미지 캐싱 객체
* @method imageDB.getImage() - 수신된 이미지가 있을 경우 Base64 인코딩 되어있는 JPEG 이미지 반환, 기본 값 null
* @method imageDB.getProfileImage() - Base64 인코딩 되어있는 JPEG 프로필 이미지 반환, 기본 값 null
* @method replier.reply("문자열") - 메시지가 도착한 방에 답장을 보내는 메소드 */
}
//이 아래 6가지 메소드는 스크립트 액티비티에서 사용하는 메소드들
function onCreate(savedInstanceState, activity) {}
function onStart(activity) {}
function onResume(activity) {}
function onPause(activity) {}
function onStop(activity) {}
function onDestroy(activity) {}
실제 코딩이 이뤄지는 부분은 response 내에서 이뤄집니다. 이 response 는 알림이 오면 받아 오는 부분입니다. 여기서 이렇게 써보겠습니다
if (msg == "안녕?") {
replier.reply("안녕하세요")
}
이번엔 시간을 불러와보겠습니다.
if (msg == "지금 몇시야?") {
var d = new Date();
replier.reply("현재 시간은 "+d.getHours()+"시"+d.getMinutes()+"분"+d.getSeconds()+"초 입니다.")
}
날짜도 불러와보겠습니다
if (msg == "오늘 몇일이야?") {
var d = new Date();
replier.reply("오늘은 "+d.getFullYear()+"년 "+(d.getMonth() + 1)+"월"+d.getDate()+"일 입니다.")
}
최종 결과물은?
참 쉽죠~? 이걸 어떻게 사용 하실지 궁금합니다!! 좋은거 개발 하시면 공유 부탁드릴께요 ㅎㅎ
franciscana23님이 ayogom님을 멘션하셨습니당. 아래 링크를 누르시면 연결되용~ ^^
roundbeargames님의 Maybe another shitpost | roundbeargames | hitmanchoi
재밌어 보이네요. 저도 함 해봐야겠어요.
Posted using Partiko Android
도리안 횽님이 하시면 금방 마스터 하실듯 ㅠㅠ
전 개발엔 관심이 없으니 아곰님이 좋은것 많이 개발해 주세요? ㅋㅋ
독거님 귀욥ㅋㅋㅋㅋㅋ
앗~ ㅋㅋㅋㅋㅋㅋ 귀욥다니!!
무엇을 만들어 드릴까요 ㅋㅋ
알아서답해주는봇이 필요한데 그건음성으로 벌써 나왔나요? 안써본기능이라ㅎ
알아서 답 해줍니다 ㅋㅋ
음성은... 조금 힘들지만,,, 가능합니다!
오호. 좋습니다. ㅎㅎ 보클합니다.
재미있쥬, 2부도 써야겠네요 ㅋㅋ
오 ~ 2부도 기대됩니다. ㅎㅎㅎ
저도 2부가 기대됩니다. 이 시리즈 너무 재미있습니다. (저만 재미있을수도..ㅋㅋ)
정말 열일 하시네여 보클로 응원합니다~
일은 아니지만 ㅋㅋ 2부도 써보겠습니다 ㅎㅎ
우와@!!!!! 개발자도 아닌데... 멋있다 ㅜㅜ
애플에서는 못할까요???
ㅋㅋ 네 애플은 아니되오,, ㅠㅠ
예전에 살짝 햇어요 학교 다닐때 ㅋㅋㅋ
저도 요즘 개발 공부 하고 있는데 ... 진전이 없네요 ㅠ,.ㅠ
이건 해봐야겠습니다. ㅋ
추천 합니다 ㅋㅋ 물론 개발 어플이 좀 개판이라.... 진도좀 나갈라고 하면 막힙니다 ㅠ
17회 몰아주기 이벤트 아차보팅 드립니다.
https://steemit.com/kr/@lucky2/-18--1542281395822
화이팅!!
감솨합니다!!
와우 이거이거 재밌네요!ㅎㅎㅎ
뭔가 유용하게 쓸수 있을것만 같은 느낌!
그쵸 ㅋㅋ 어제 오늘 푹 빠져서 봤는데
재미있습니다 ㅋㅋ 한계가 있긴 하지만 ㅠ