소개
3주차 카톡봇 과제를 수행하면서 단순히 따라하기보다는 직접 손을 움직이며 실험을 통해 개념을 익히자는 마음으로 임했습니다. 처음에는 낯선 개념이라 어려웠지만, 실제 실습을 통해 하나씩 감을 잡아갔습니다.
진행 방법
✅ 실제폰에서 메신저봇 R, apk 설치부터 시작
휴대폰 Google Play 스토어에 있는 카톡봇 앱은 구버전입니다 ❌
따라서 아래 링크에서 최신 버전(apk)을 직접 설치해야 합니다: 👉 MessengerBotTeam Releases
제가 설치한 버전:
messengerbot-0.7.39a-20250627-5ffba652-release.apk
에러내용
에뮬레이터에서 실험할때는 성공했는데, 실제폰 연결하고, 똑같은 코드를 adb push했는데, 계속 에러가 뜹니다. 카톡봇 객체를 못가져온다고!!!!!!!!!!! 3일정도 해메다가 신버전 깔아서 해결
Runtime Error(CatBot_Multiturn)
ReferenceError: "BotManager" is not defined. (CatBot_Multiturn#24) at CatBot_Multiturn:24현우님의 코드 기준으로도 런타임 오류 없이 작동하려면 이 최신버전이 필수입니다.
✅ 카톡봇 계정과 채팅방 설정
카톡봇 계정을 위해 구입한 서브폰(실제폰)에서 카카오톡 봇 계정을 새로 만들고,
내가 평소에 사용하는 휴대폰의 기존 채팅방에 해당 봇을 초대합니다.
카톡봇은 수동적인 사람입니다. 누군가가 초대를 해줘야합니다. 저는 이 개념이 첨에 이해가 안가서 힘들었어요
✅ FastAPI 대시보드 서버 구축
프롬프트는 아래 내용을 주고 했습니다.
### 🗺️ 5단계 로드맵 (Part B와 동일 순서)
#### 1단계: 데이터베이스 설계 (30분) 📐
미션: "구글클라우드vm 서버 SQLite에 카톡 3요소 테이블 생성"
- 클로드에게: "카톡봇 데이터용 SQLite 테이블 3개 설계해줘"
- 코덱스에게: "메신저봇 제약사항 고려한 ID 전략과 구글클라우드vm 서버 경로 알려줘"
#### 2단계: FastAPI REST 레이어 (45분) 🌐
미션: "구글클라우드vm 서버에서 데이터 수집/조회 API 완성"
- 클로드에게: "FastAPI 라우터와 Pydantic 모델 설계해줘"
- 코덱스에게: "구글클라우드vm 서버 배포하고 실제 DB 연결 코드 작성해줘"
#### 3단계: 메신저봇 연동 (45분) 📱
미션: "실제폰 메신저봇 → 구글클라우드vm 서버 자동 전송"
- 코덱스에게: "메신저봇 JS에서 구글클라우드vm 서버로 HTTP 전송하는 코드 작성해줘"
- 클로드에게: "네트워크 오류 처리와 재시도 로직 설계해줘"
#### 4단계: 기본 검증 (20분) 📊
미션: "실제 카톡방에서 데이터 수집 기본 검증"
- 코덱스에게: "adb push 후 실제 테스트하고 로그 확인해줘"
- 클로드에게: "API 엔드포인트 정상 응답 확인해줘"
#### 5단계: 인터랙티브 위자드 (필수/40분) 🎮
미션: "!채팅데이터 명령어로 수집된 데이터를 직관적으로 확인"
- 클로드에게: "3단계 드릴다운 UI 설계해줘 (방목록→사용자목록→대화내역)"
- 코덱스에게: "소유자 인증과 상태관리 로직 구현해줘"이번 과제의 핵심은 내 카톡 데이터 → 로컬대쉬보드로의 전환이었습니다. 이를 위해 다음과 같은 시스템을 직접 구축했습니다 👇
🔧 시스템 구성 요약
[실제폰 - 메신저봇]
↓ HTTP POST
[GCP VM 서버 - FastAPI (35.216.21.181:9000)]
↓ SQLite
[katokbot.db 데이터베이스]
↓ HTTP GET
[로컬 PC 브라우저 - 대시보드 UI]
📌 주요 구현 내용
FastAPI 서버를 GCP VM에 배포하고 SQLite3로 데이터 저장
메신저봇 JS 코드에서 HTTP POST로 대화 데이터를 실시간 전송
대시보드 UI에서 채팅방 목록 → 사용자 → 대화 내역까지 드릴다운 탐색 가능
백엔드 연동 로그 확인, 실시간 통계 확인, 세션 초기화 기능 구현
직접 작성한 주요 API:
POST /api/chat/message
GET /api/dashboard/stats/overview
GET /api/dashboard/rooms
GET /api/dashboard/rooms/{room}/users
POST /api/chat/history
DELETE /api/chat/session/{room}/{user}
봇과의 연동도
CatBot_Multiturn.js에서 직접 수정 및 테스트했고,adb push와 컴파일까지 진행했습니다 ✅
결과와 배운 점
apk 버전 문제로 인해 초반에 삽질만 3일은 한 것 같습니다 😅
하지만 이 경험 덕분에 “진짜 실습이 왜 중요한지” 체감했습니다.
FastAPI 서버 배포와 대시보드 구축은 처음이었지만, 단계별 문서화, 로그 확인, Claude/코덱스 활용으로 한 단계씩 해결해 나갈 수 있었습니다.
의도적으로라도 나 자신을 속이며 ‘이해한 척’ 하며 해보다 보면, 어느 순간 구조 가 눈에 들어옵니다.
이렇게 클로드와 함꼐 작업한 내용을 FastAPI 대시보드 서버 구축 가이드문서로 정리하라고 하고 프로젝트 docs폴더에 정리해두면 다음에는 시행착오를 줄일수 있겠죠
GCP VM 서버 가동시키는 방법도 잘 몰겠어서, 그부분도 md로 저장해서 프로젝트에 넣어두고 명령어 참조해서 사용합니다. 그럼 커서창 터미널에서 ssh로 접속해서 편합니다.
도움 받은 글
🔗 MessengerBotTeam Releases
Claude / Codex를 통한 API 설계 및 배포 조언