소개
카톡봇 만들고 싶었 습니다.
반려동물을 키우지는 않지만, 디지털상에 나만 바라봐주는 귀여운 반려, 아니 카톡봇을 만드는게 꿈이었습니다.
그런데 꿈의 허들이 엄청나게 높더라고요.
진행 방법
카톡봇을 만드는 과정은 복잡한데. 약간의 필수적인 현질이 필요합니다.
왜냐하면 새로운 카톡 계정이 필요하며, 이 카톡봇을 돌릴 PC 혹은 스마트폰이 필요하기 때문입니다.
1. 카톡 계정 만들기
집에 놀고 있는 안드로이드 공기계에 유심을 구매했습니다.
유심을 구매하는 이유는 카톡봇을 만들려면 카카오톡 새 계정이 필요합니다.
새 계정을 파려면 새 기계가 필요합니다.
이때 공기계는 반드시 안드로이드여야 합니다.
2. 카톡봇 돌리기
1) 미니 PC로 안드로이드 에뮬레이터를 돌리는 방법
에뮬레이터라고, 가상 환경에서 안드로이드를 돌려주는 프로그램이 있습니다.
https://source.android.com/docs/setup/test/avd?hl=ko
집에 놀고 있는 미니 PC에 에뮬레이터를 다운 받았는데요
램이 16G는 되는데, 저 에뮬레이터를 돌리는 순간 컴퓨터 화면이 0.5배속이 된 것처럼 느려집니다.
미니 PC 수준으로 돌릴 수 있는게 아님을 깨달았습니다.
2) 그래서 그냥 안드로이드 스마트폰에서 돌리기로 했습니다.
비용 및 준비 사항은 닿님이 잘 써주셨습니다
https://www.gpters.org/dev/post/poya-please-call-me-3ed4eqytm9LdPQ0?highlight=3zxPVpuRito7cX5
스마트폰에 해당 apk만 깔면 됩니다.
https://github.com/MessengerBotTeam/msgbot-old-release/releases
여기서 messengerbot~ apk를 다운 받아주면 됩니다.
3.메신저봇
카톡봇의 원리는, 핸드폰의 알람이 오면 저 메신저봇이 감지하는 것입니다.
이 원리를 잘 기억해야 나중에 활용 방도가 많아집니다.
현우님이 주신 자료를 보며 세팅을 해내가지만, 주의해야 할 사항이 몇 가지 있습니다.
바로 메신저봇의 언어인데요.
메신저 봇의 언어는 Rhino JavaScript를 사용합니다.
이게 일반 Java Script와는 달랐습니다.
비유를 하면, JavaScript는 표준어고, Rhino JavaScript는 사투리인데요.
제가 AI에게 '밥 뭇나?'(Rhino/사투리) 스타일로 코드를 짜달라고 요청했는데
AI는 자꾸 '식사하셨어요?'(일반 JavaScript/표준어) 스타일로 코드를 짜주는 상황과 같습니다.
진짜 이것 때문에 좀 애 많이 먹었습니다.
특히 API를 끌어와서 챗봇을 대답하게 하는 과정이 쉽지 않았습니다.
JavaScript에서 api를 끌어오는 방식과, Rhino JavaScript에서 끌어오는 방식이 달랐기 때문인데요.
메신저 봇의 언어에 맞게 api를 끌어오라고 하니, 3시간 동안 못하던 작업을 완성할 수 있었습니다.
4.
메신저봇 페르소나 넣기
눈오지봇은 공공기관 오지라는 감옥에 갇힌 친구입니다.
그래서 어떤 답변을 줘도 중2병에 걸린 것 마냥 틱틱 되며 답변하도록 세팅을 했습니다.
이런식으로 잘 작동합니다.
심지어 눈오지봇의 아버지 봇파더의 현우님 말에도 대드는 모습을 보이는 반항아 기질을 보입니다.
작동 이슈도 많았는데요.
특히 제가 직접 눈오지봇에 이야기할 때 답변하지 않는 케이스가 존재했었습니다.
이유는 간단했었는데, 눈오지 봇은 "눈오지" 키워드가 있으면 작동하는데요.
아이디에 "눈오지"가 있으면 작동하지 않게 코딩 되어 있었습니다.
창조주 말을 듣지 않는 반항아였군요
결과와 배운 점
카톡봇 난이도 높지만 재밌습니다.
언어별 요구하는 프롬프트가 다르다는 점은 처음 깨달았습니다.
다 같이 오프에서 모여서 뚜딱거리니 레벨업할 수 있었던 것 같습니다.
세컨폰 데이터 꺼두시고, 비행기 모드 한 뒤에 와이파이 해두시는거 추천합니다.
모르고 데이터 켰다가 요금 폭탄 맞네요